From a0e9e8cec97ebc63e85a99cf8e60d9a3b7065c7b Mon Sep 17 00:00:00 2001 From: 95384 <664090429@qq.com> Date: Thu, 6 Feb 2025 15:35:32 +0800 Subject: [PATCH] First commit --- MCUCore.uvgui.andyliu | 1843 +++++++ MCUCore.uvgui.wenhua.wang | 3646 +++++++++++++ MCUCore.uvgui.yangweilei | 3403 ++++++++++++ MCUCore.uvopt | 3960 ++++++++++++++ MCUCore.uvproj | 4522 +++++++++++++++ MCUCore_Load.m51 | 6984 ++++++++++++++++++++++++ MCUCore_uvopt.bak | 3888 +++++++++++++ MCUCore_uvproj.bak | 4627 ++++++++++++++++ SH39F003&F004_DemoCode使用指南.pdf | Bin 0 -> 1097286 bytes Sino.cfg | Bin 0 -> 43 bytes code_app/Initial.c | 589 ++ code_app/InterruptApp.c | 70 + code_app/KeyApp.c | 101 + code_app/Led.c | 155 + code_app/LowPower.c | 225 + code_app/Main.c | 137 + code_app/Memory.c | 190 + code_app/UartApp.c | 2127 ++++++++ code_bootloader/Flash.c | 210 + code_bootloader/IapIsp.c | 788 +++ code_bootloader/Main.c | 647 +++ code_bootloader/STARTUP.A51 | 110 + code_dataflash/DataFlash.c | 655 +++ code_drv/AFE.c | 517 ++ code_drv/Balance.c | 253 + code_drv/BootApp.c | 29 + code_drv/BootIAP.c | 266 + code_drv/Calculate.c | 496 ++ code_drv/Calibrate.c | 175 + code_drv/ChargerLoad.c | 97 + code_drv/ExtE2PRom.c | 561 ++ code_drv/ISP.c | 287 + code_drv/Interrupt.c | 85 + code_drv/KeyScan.c | 125 + code_drv/McuFlash.c | 368 ++ code_drv/McuLib.c | 343 ++ code_drv/MosCtrl.c | 83 + code_drv/PorSelfTest.c | 204 + code_drv/Protect.c | 465 ++ code_drv/RTC.c | 244 + code_drv/STARTUP.A51 | 39 + code_drv/TWI.c | 444 ++ code_drv/Thermistor.c | 359 ++ code_drv/TwiIO.c | 451 ++ code_drv/Uart.c | 320 ++ code_gasguage/GasGaugeInter_V4_13.c | 252 + code_gasguage/GasGaugeV4_13.LIB | Bin 0 -> 18947 bytes code_gasguage/GasGaugeV4_13.h | 156 + crc_tool/CheckCRC.exe | Bin 0 -> 225280 bytes crc_tool/Hex2Array.exe | Bin 0 -> 229376 bytes header_app/Initial.h | 8 + header_app/InterruptApp.h | 25 + header_app/KeyApp.h | 9 + header_app/Led.h | 49 + header_app/LowPower.h | 15 + header_app/Main.h | 153 + header_app/Memory.h | 187 + header_app/UartApp.h | 140 + header_bootloader/C51_type.h | 15 + header_bootloader/Flash.h | 96 + header_bootloader/IapIsp.h | 150 + header_bootloader/MCURegister.h | 428 ++ header_drv/Afe.h | 156 + header_drv/Balance.h | 30 + header_drv/Calculate.h | 37 + header_drv/Calibrate.h | 19 + header_drv/ChargerLoad.h | 19 + header_drv/ExtE2PRom.h | 46 + header_drv/ISP.h | 41 + header_drv/Interrupt.h | 7 + header_drv/KeyScan.h | 69 + header_drv/MCURegister.h | 428 ++ header_drv/McuFlash.h | 85 + header_drv/McuLib.h | 102 + header_drv/MosCtrl.h | 8 + header_drv/PorSelfTest.h | 9 + header_drv/Protect.h | 47 + header_drv/RTC.h | 36 + header_drv/Twi.h | 27 + header_drv/TwiIO.h | 40 + header_drv/Uart.h | 69 + header_drv/c51_type.h | 15 + output/AFE.lst | 563 ++ output/AFE.obj | Bin 0 -> 85039 bytes output/Balance.lst | 293 + output/Balance.obj | Bin 0 -> 72001 bytes output/BootApp.__i | 1 + output/BootApp.lst | 55 + output/BootApp.obj | Bin 0 -> 65791 bytes output/BootIAP.__i | 1 + output/BootIAP.lst | 300 + output/BootIAP.obj | Bin 0 -> 69196 bytes output/BootLoad | Bin 0 -> 50164 bytes output/BootLoad.build_log.htm | 40 + output/BootLoad.hex | 254 + output/BootLoad.hex.c | 258 + output/BootLoad.lnp | 8 + output/BootLoad.m51 | 1105 ++++ output/Calculate.lst | 539 ++ output/Calculate.obj | Bin 0 -> 80417 bytes output/Calibrate.lst | 207 + output/Calibrate.obj | Bin 0 -> 71091 bytes output/ChargerLoad.lst | 125 + output/ChargerLoad.obj | Bin 0 -> 68398 bytes output/DataFlash.lst | 720 +++ output/DataFlash.obj | Bin 0 -> 19647 bytes output/Eeprom | Bin 0 -> 19703 bytes output/Eeprom.build_log.htm | 38 + output/Eeprom.hex | 65 + output/Eeprom.lnp | 6 + output/Eeprom.m51 | 48 + output/Eeprom.plg | 7 + output/ExtDll.iex | 2 + output/ExtE2PRom.lst | 609 +++ output/ExtE2PRom.obj | Bin 0 -> 88946 bytes output/Flash.lst | 242 + output/Flash.obj | Bin 0 -> 14172 bytes output/GasGauge.lst | 308 ++ output/GasGauge.obj | Bin 0 -> 69760 bytes output/GasGaugeInter_V4_12.lst | 252 + output/GasGaugeInter_V4_12.obj | Bin 0 -> 72665 bytes output/GasGaugeInter_V4_13.lst | 298 + output/GasGaugeInter_V4_13.obj | Bin 0 -> 73245 bytes output/Hex2Array.exe | Bin 0 -> 229376 bytes output/IapIsp.lst | 855 +++ output/IapIsp.obj | Bin 0 -> 29512 bytes output/Initial.lst | 660 +++ output/Initial.obj | Bin 0 -> 74282 bytes output/Interrupt.lst | 113 + output/Interrupt.obj | Bin 0 -> 68075 bytes output/InterruptApp.lst | 98 + output/InterruptApp.obj | Bin 0 -> 67106 bytes output/KeyApp.lst | 130 + output/KeyApp.obj | Bin 0 -> 67620 bytes output/KeyScan.lst | 165 + output/KeyScan.obj | Bin 0 -> 67660 bytes output/Led.lst | 184 + output/Led.obj | Bin 0 -> 68133 bytes output/LowPower.lst | 264 + output/LowPower.obj | Bin 0 -> 73423 bytes output/MCUCore_Load | Bin 0 -> 2095649 bytes output/MCUCore_Load.ORC | 118 + output/MCUCore_Load.build_log.htm | 66 + output/MCUCore_Load.hex | 2217 ++++++++ output/MCUCore_Load.lnp | 36 + output/MCUCore_Load.m51 | 6642 ++++++++++++++++++++++ output/MCUCore_Load.plg | 9 + output/Main.lst | 167 + output/Main.obj | Bin 0 -> 73534 bytes output/McuFlash.lst | 407 ++ output/McuFlash.obj | Bin 0 -> 78202 bytes output/McuFlash_IAP | Bin 0 -> 1776130 bytes output/McuFlash_IAP.ORC | 112 + output/McuFlash_IAP.build_log.htm | 65 + output/McuFlash_IAP.hex | 1637 ++++++ output/McuFlash_IAP.lnp | 35 + output/McuFlash_IAP.m51 | 6914 +++++++++++++++++++++++ output/McuFlash_ISP | Bin 0 -> 2087426 bytes output/McuFlash_ISP.ORC | 117 + output/McuFlash_ISP.build_log.htm | 66 + output/McuFlash_ISP.hex | 1827 +++++++ output/McuFlash_ISP.lnp | 36 + output/McuFlash_ISP.m51 | 6696 +++++++++++++++++++++++ output/McuLib.lst | 386 ++ output/McuLib.obj | Bin 0 -> 77012 bytes output/Memory.lst | 222 + output/Memory.obj | Bin 0 -> 89898 bytes output/MosCtrl.lst | 112 + output/MosCtrl.obj | Bin 0 -> 67284 bytes output/PorSelfTest.lst | 238 + output/PorSelfTest.obj | Bin 0 -> 71093 bytes output/Protect.lst | 507 ++ output/Protect.obj | Bin 0 -> 78965 bytes output/RTC.lst | 283 + output/RTC.obj | Bin 0 -> 74655 bytes output/STARTUP.lst | 75 + output/STARTUP.obj | Bin 0 -> 804 bytes output/TWI.lst | 487 ++ output/TWI.obj | Bin 0 -> 75797 bytes output/Thermistor.lst | 397 ++ output/Thermistor.obj | Bin 0 -> 65517 bytes output/TwiIO.lst | 492 ++ output/TwiIO.obj | Bin 0 -> 64949 bytes output/Uart.lst | 358 ++ output/Uart.obj | Bin 0 -> 68435 bytes output/UartApp.lst | 2230 ++++++++ output/UartApp.obj | Bin 0 -> 94205 bytes output/sh_iec60730b_8051f_addr._ia | 1 + output/sh_iec60730b_8051f_addr.lst | 324 ++ output/sh_iec60730b_8051f_aio.__i | 1 + output/sh_iec60730b_8051f_aio.lst | 85 + output/sh_iec60730b_8051f_aio.obj | Bin 0 -> 873 bytes output/sh_iec60730b_8051f_checksum._ia | 1 + output/sh_iec60730b_8051f_checksum.lst | 67 + output/sh_iec60730b_8051f_clock.__i | 1 + output/sh_iec60730b_8051f_clock.lst | 95 + output/sh_iec60730b_8051f_clock.obj | Bin 0 -> 708 bytes output/sh_iec60730b_8051f_dio.__i | 1 + output/sh_iec60730b_8051f_dio.lst | 261 + output/sh_iec60730b_8051f_dio.obj | Bin 0 -> 686 bytes output/sh_iec60730b_8051f_ee.__i | 1 + output/sh_iec60730b_8051f_ee.lst | 267 + output/sh_iec60730b_8051f_ee.obj | Bin 0 -> 862 bytes output/sh_iec60730b_8051f_flash.__i | 1 + output/sh_iec60730b_8051f_flash.lst | 162 + output/sh_iec60730b_8051f_flash.obj | Bin 0 -> 895 bytes output/sh_iec60730b_8051f_pc._ia | 1 + output/sh_iec60730b_8051f_pc.lst | 108 + output/sh_iec60730b_8051f_porting.__i | 1 + output/sh_iec60730b_8051f_porting.lst | 720 +++ output/sh_iec60730b_8051f_ram._ia | 1 + output/sh_iec60730b_8051f_ram.lst | 684 +++ output/sh_iec60730b_8051f_reg._ia | 1 + output/sh_iec60730b_8051f_reg.lst | 201 + output/sh_iec60730b_8051f_stack._ia | 1 + output/sh_iec60730b_8051f_stack.lst | 113 + output/sh_iec60730b_8051f_testproc.__i | 1 + output/sh_iec60730b_8051f_testproc.lst | 381 ++ output/sh_iec60730b_8051f_wdg.__i | 1 + output/sh_iec60730b_8051f_wdg.lst | 138 + output/sh_iec60730b_8051f_wdg.obj | Bin 0 -> 686 bytes readme.txt | 35 + sino_ui.cfg | Bin 0 -> 2154 bytes 223 files changed, 93483 insertions(+) create mode 100644 MCUCore.uvgui.andyliu create mode 100644 MCUCore.uvgui.wenhua.wang create mode 100644 MCUCore.uvgui.yangweilei create mode 100644 MCUCore.uvopt create mode 100644 MCUCore.uvproj create mode 100644 MCUCore_Load.m51 create mode 100644 MCUCore_uvopt.bak create mode 100644 MCUCore_uvproj.bak create mode 100644 SH39F003&F004_DemoCode使用指南.pdf create mode 100644 Sino.cfg create mode 100644 code_app/Initial.c create mode 100644 code_app/InterruptApp.c create mode 100644 code_app/KeyApp.c create mode 100644 code_app/Led.c create mode 100644 code_app/LowPower.c create mode 100644 code_app/Main.c create mode 100644 code_app/Memory.c create mode 100644 code_app/UartApp.c create mode 100644 code_bootloader/Flash.c create mode 100644 code_bootloader/IapIsp.c create mode 100644 code_bootloader/Main.c create mode 100644 code_bootloader/STARTUP.A51 create mode 100644 code_dataflash/DataFlash.c create mode 100644 code_drv/AFE.c create mode 100644 code_drv/Balance.c create mode 100644 code_drv/BootApp.c create mode 100644 code_drv/BootIAP.c create mode 100644 code_drv/Calculate.c create mode 100644 code_drv/Calibrate.c create mode 100644 code_drv/ChargerLoad.c create mode 100644 code_drv/ExtE2PRom.c create mode 100644 code_drv/ISP.c create mode 100644 code_drv/Interrupt.c create mode 100644 code_drv/KeyScan.c create mode 100644 code_drv/McuFlash.c create mode 100644 code_drv/McuLib.c create mode 100644 code_drv/MosCtrl.c create mode 100644 code_drv/PorSelfTest.c create mode 100644 code_drv/Protect.c create mode 100644 code_drv/RTC.c create mode 100644 code_drv/STARTUP.A51 create mode 100644 code_drv/TWI.c create mode 100644 code_drv/Thermistor.c create mode 100644 code_drv/TwiIO.c create mode 100644 code_drv/Uart.c create mode 100644 code_gasguage/GasGaugeInter_V4_13.c create mode 100644 code_gasguage/GasGaugeV4_13.LIB create mode 100644 code_gasguage/GasGaugeV4_13.h create mode 100644 crc_tool/CheckCRC.exe create mode 100644 crc_tool/Hex2Array.exe create mode 100644 header_app/Initial.h create mode 100644 header_app/InterruptApp.h create mode 100644 header_app/KeyApp.h create mode 100644 header_app/Led.h create mode 100644 header_app/LowPower.h create mode 100644 header_app/Main.h create mode 100644 header_app/Memory.h create mode 100644 header_app/UartApp.h create mode 100644 header_bootloader/C51_type.h create mode 100644 header_bootloader/Flash.h create mode 100644 header_bootloader/IapIsp.h create mode 100644 header_bootloader/MCURegister.h create mode 100644 header_drv/Afe.h create mode 100644 header_drv/Balance.h create mode 100644 header_drv/Calculate.h create mode 100644 header_drv/Calibrate.h create mode 100644 header_drv/ChargerLoad.h create mode 100644 header_drv/ExtE2PRom.h create mode 100644 header_drv/ISP.h create mode 100644 header_drv/Interrupt.h create mode 100644 header_drv/KeyScan.h create mode 100644 header_drv/MCURegister.h create mode 100644 header_drv/McuFlash.h create mode 100644 header_drv/McuLib.h create mode 100644 header_drv/MosCtrl.h create mode 100644 header_drv/PorSelfTest.h create mode 100644 header_drv/Protect.h create mode 100644 header_drv/RTC.h create mode 100644 header_drv/Twi.h create mode 100644 header_drv/TwiIO.h create mode 100644 header_drv/Uart.h create mode 100644 header_drv/c51_type.h create mode 100644 output/AFE.lst create mode 100644 output/AFE.obj create mode 100644 output/Balance.lst create mode 100644 output/Balance.obj create mode 100644 output/BootApp.__i create mode 100644 output/BootApp.lst create mode 100644 output/BootApp.obj create mode 100644 output/BootIAP.__i create mode 100644 output/BootIAP.lst create mode 100644 output/BootIAP.obj create mode 100644 output/BootLoad create mode 100644 output/BootLoad.build_log.htm create mode 100644 output/BootLoad.hex create mode 100644 output/BootLoad.hex.c create mode 100644 output/BootLoad.lnp create mode 100644 output/BootLoad.m51 create mode 100644 output/Calculate.lst create mode 100644 output/Calculate.obj create mode 100644 output/Calibrate.lst create mode 100644 output/Calibrate.obj create mode 100644 output/ChargerLoad.lst create mode 100644 output/ChargerLoad.obj create mode 100644 output/DataFlash.lst create mode 100644 output/DataFlash.obj create mode 100644 output/Eeprom create mode 100644 output/Eeprom.build_log.htm create mode 100644 output/Eeprom.hex create mode 100644 output/Eeprom.lnp create mode 100644 output/Eeprom.m51 create mode 100644 output/Eeprom.plg create mode 100644 output/ExtDll.iex create mode 100644 output/ExtE2PRom.lst create mode 100644 output/ExtE2PRom.obj create mode 100644 output/Flash.lst create mode 100644 output/Flash.obj create mode 100644 output/GasGauge.lst create mode 100644 output/GasGauge.obj create mode 100644 output/GasGaugeInter_V4_12.lst create mode 100644 output/GasGaugeInter_V4_12.obj create mode 100644 output/GasGaugeInter_V4_13.lst create mode 100644 output/GasGaugeInter_V4_13.obj create mode 100644 output/Hex2Array.exe create mode 100644 output/IapIsp.lst create mode 100644 output/IapIsp.obj create mode 100644 output/Initial.lst create mode 100644 output/Initial.obj create mode 100644 output/Interrupt.lst create mode 100644 output/Interrupt.obj create mode 100644 output/InterruptApp.lst create mode 100644 output/InterruptApp.obj create mode 100644 output/KeyApp.lst create mode 100644 output/KeyApp.obj create mode 100644 output/KeyScan.lst create mode 100644 output/KeyScan.obj create mode 100644 output/Led.lst create mode 100644 output/Led.obj create mode 100644 output/LowPower.lst create mode 100644 output/LowPower.obj create mode 100644 output/MCUCore_Load create mode 100644 output/MCUCore_Load.ORC create mode 100644 output/MCUCore_Load.build_log.htm create mode 100644 output/MCUCore_Load.hex create mode 100644 output/MCUCore_Load.lnp create mode 100644 output/MCUCore_Load.m51 create mode 100644 output/MCUCore_Load.plg create mode 100644 output/Main.lst create mode 100644 output/Main.obj create mode 100644 output/McuFlash.lst create mode 100644 output/McuFlash.obj create mode 100644 output/McuFlash_IAP create mode 100644 output/McuFlash_IAP.ORC create mode 100644 output/McuFlash_IAP.build_log.htm create mode 100644 output/McuFlash_IAP.hex create mode 100644 output/McuFlash_IAP.lnp create mode 100644 output/McuFlash_IAP.m51 create mode 100644 output/McuFlash_ISP create mode 100644 output/McuFlash_ISP.ORC create mode 100644 output/McuFlash_ISP.build_log.htm create mode 100644 output/McuFlash_ISP.hex create mode 100644 output/McuFlash_ISP.lnp create mode 100644 output/McuFlash_ISP.m51 create mode 100644 output/McuLib.lst create mode 100644 output/McuLib.obj create mode 100644 output/Memory.lst create mode 100644 output/Memory.obj create mode 100644 output/MosCtrl.lst create mode 100644 output/MosCtrl.obj create mode 100644 output/PorSelfTest.lst create mode 100644 output/PorSelfTest.obj create mode 100644 output/Protect.lst create mode 100644 output/Protect.obj create mode 100644 output/RTC.lst create mode 100644 output/RTC.obj create mode 100644 output/STARTUP.lst create mode 100644 output/STARTUP.obj create mode 100644 output/TWI.lst create mode 100644 output/TWI.obj create mode 100644 output/Thermistor.lst create mode 100644 output/Thermistor.obj create mode 100644 output/TwiIO.lst create mode 100644 output/TwiIO.obj create mode 100644 output/Uart.lst create mode 100644 output/Uart.obj create mode 100644 output/UartApp.lst create mode 100644 output/UartApp.obj create mode 100644 output/sh_iec60730b_8051f_addr._ia create mode 100644 output/sh_iec60730b_8051f_addr.lst create mode 100644 output/sh_iec60730b_8051f_aio.__i create mode 100644 output/sh_iec60730b_8051f_aio.lst create mode 100644 output/sh_iec60730b_8051f_aio.obj create mode 100644 output/sh_iec60730b_8051f_checksum._ia create mode 100644 output/sh_iec60730b_8051f_checksum.lst create mode 100644 output/sh_iec60730b_8051f_clock.__i create mode 100644 output/sh_iec60730b_8051f_clock.lst create mode 100644 output/sh_iec60730b_8051f_clock.obj create mode 100644 output/sh_iec60730b_8051f_dio.__i create mode 100644 output/sh_iec60730b_8051f_dio.lst create mode 100644 output/sh_iec60730b_8051f_dio.obj create mode 100644 output/sh_iec60730b_8051f_ee.__i create mode 100644 output/sh_iec60730b_8051f_ee.lst create mode 100644 output/sh_iec60730b_8051f_ee.obj create mode 100644 output/sh_iec60730b_8051f_flash.__i create mode 100644 output/sh_iec60730b_8051f_flash.lst create mode 100644 output/sh_iec60730b_8051f_flash.obj create mode 100644 output/sh_iec60730b_8051f_pc._ia create mode 100644 output/sh_iec60730b_8051f_pc.lst create mode 100644 output/sh_iec60730b_8051f_porting.__i create mode 100644 output/sh_iec60730b_8051f_porting.lst create mode 100644 output/sh_iec60730b_8051f_ram._ia create mode 100644 output/sh_iec60730b_8051f_ram.lst create mode 100644 output/sh_iec60730b_8051f_reg._ia create mode 100644 output/sh_iec60730b_8051f_reg.lst create mode 100644 output/sh_iec60730b_8051f_stack._ia create mode 100644 output/sh_iec60730b_8051f_stack.lst create mode 100644 output/sh_iec60730b_8051f_testproc.__i create mode 100644 output/sh_iec60730b_8051f_testproc.lst create mode 100644 output/sh_iec60730b_8051f_wdg.__i create mode 100644 output/sh_iec60730b_8051f_wdg.lst create mode 100644 output/sh_iec60730b_8051f_wdg.obj create mode 100644 readme.txt create mode 100644 sino_ui.cfg diff --git a/MCUCore.uvgui.andyliu b/MCUCore.uvgui.andyliu new file mode 100644 index 0000000..370296d --- /dev/null +++ b/MCUCore.uvgui.andyliu @@ -0,0 +1,1843 @@ + + + + -6.1 + +
### uVision Project, (C) Keil Software
+ + + + + + 38003 + Registers + 115 143 + + + 346 + Code Coverage + 610 160 + + + 204 + Performance Analyzer + 770 + + + + + + 1506 + Symbols + + 80 80 80 + + + 1936 + Watch 1 + + 80 80 80 + + + 1937 + Watch 2 + + 80 80 80 + + + 1935 + Call Stack + Locals + + 80 80 80 + + + 2506 + Trace Data + + 75 135 130 95 70 230 200 150 + + + + + + + + 1 + 1 + 0 + 0 + -1 + + + + + + + 44 + 2 + 3 + + -1 + -1 + + + -1 + -1 + + + 158 + 0 + 1024 + 735 + + + + 0 + + 1610 + 0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000000A000000090000000100000072453A5C42502D50726F6A6563745C302D53564E5C62702D70726F746563745C48502DC8EDBCFEB7BDB0B85C53483339463030345C44656D6F20436F64655C534833394630303326463030345F44656D6F436F64655F56322E31335F32303233303330395C636F64655F6472765C4146452E6300000000054146452E6300000000FFDC7800FFFFFFFF75453A5C42502D50726F6A6563745C302D53564E5C62702D70726F746563745C48502DC8EDBCFEB7BDB0B85C53483339463030345C44656D6F20436F64655C534833394630303326463030345F44656D6F436F64655F56322E31335F32303233303330395C6865616465725F6472765C556172742E680000000006556172742E6800000000BECEA100FFFFFFFF7E453A5C42502D50726F6A6563745C302D53564E5C62702D70726F746563745C48502DC8EDBCFEB7BDB0B85C53483339463030345C44656D6F20436F64655C534833394630303326463030345F44656D6F436F64655F56322E31335F32303233303330395C636F64655F64617461666C6173685C44617461466C6173682E63000000000B44617461466C6173682E6300000000F0A0A100FFFFFFFF76453A5C42502D50726F6A6563745C302D53564E5C62702D70726F746563745C48502DC8EDBCFEB7BDB0B85C53483339463030345C44656D6F20436F64655C534833394630303326463030345F44656D6F436F64655F56322E31335F32303233303330395C636F64655F6170705C556172744170702E630000000009556172744170702E6300000000BCA8E100FFFFFFFF73453A5C42502D50726F6A6563745C302D53564E5C62702D70726F746563745C48502DC8EDBCFEB7BDB0B85C53483339463030345C44656D6F20436F64655C534833394630303326463030345F44656D6F436F64655F56322E31335F32303233303330395C636F64655F6170705C4D61696E2E6300000000064D61696E2E63000000009CC1B600FFFFFFFF78453A5C42502D50726F6A6563745C302D53564E5C62702D70726F746563745C48502DC8EDBCFEB7BDB0B85C53483339463030345C44656D6F20436F64655C534833394630303326463030345F44656D6F436F64655F56322E31335F32303233303330395C636F64655F6472765C43616C63756C6174652E63000000000B43616C63756C6174652E6300000000F7B88600FFFFFFFF73453A5C42502D50726F6A6563745C302D53564E5C62702D70726F746563745C48502DC8EDBCFEB7BDB0B85C53483339463030345C44656D6F20436F64655C534833394630303326463030345F44656D6F436F64655F56322E31335F32303233303330395C636F64655F6472765C556172742E630000000006556172742E6300000000D9ADC200FFFFFFFF77453A5C42502D50726F6A6563745C302D53564E5C62702D70726F746563745C48502DC8EDBCFEB7BDB0B85C53483339463030345C44656D6F20436F64655C534833394630303326463030345F44656D6F436F64655F56322E31335F32303233303330395C6865616465725F6472765C4D63754C69622E6800000000084D63754C69622E6800000000A5C2D700FFFFFFFF76453A5C42502D50726F6A6563745C302D53564E5C62702D70726F746563745C48502DC8EDBCFEB7BDB0B85C53483339463030345C44656D6F20436F64655C534833394630303326463030345F44656D6F436F64655F56322E31335F32303233303330395C636F64655F6170705C496E697469616C2E630000000009496E697469616C2E6300000000B3A6BE00FFFFFFFF75453A5C42502D50726F6A6563745C302D53564E5C62702D70726F746563745C48502DC8EDBCFEB7BDB0B85C53483339463030345C44656D6F20436F64655C534833394630303326463030345F44656D6F436F64655F56322E31335F32303233303330395C636F64655F6170705C4D656D6F72792E6300000000084D656D6F72792E6300000000EAD6A300FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD50001000000000000000200000010010000650000008007000016030000 + + + + 0 + Build + + -1 + -1 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A40000004F000000B0030000D0000000 + + + 16 + A400000065000000B0030000E6000000 + + + + 1005 + 1005 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000006600000009010000E7020000 + + + 16 + 5300000069000000F300000021010000 + + + + 109 + 109 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000006600000009010000E7020000 + + + 16 + 53000000690000000F01000070020000 + + + + 1465 + 1465 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000F7010000AD0300005C020000 + + + 16 + 53000000690000002B020000EA000000 + + + + 1466 + 1466 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000F7010000AD0300005C020000 + + + 16 + 53000000690000002B020000EA000000 + + + + 1467 + 1467 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000F7010000AD0300005C020000 + + + 16 + 53000000690000002B020000EA000000 + + + + 1468 + 1468 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000F7010000AD0300005C020000 + + + 16 + 53000000690000002B020000EA000000 + + + + 1506 + 1506 + 0 + 0 + 0 + 0 + 32767 + 0 + 16384 + 0 + + 16 + 1303000066000000AD030000D7010000 + + + 16 + 5300000069000000F300000021010000 + + + + 1913 + 1913 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A700000066000000AD030000B7000000 + + + 16 + 53000000690000002B020000EA000000 + + + + 1935 + 1935 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 03000000F7010000AD0300005C020000 + + + 16 + 5300000069000000F300000021010000 + + + + 1936 + 1936 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000F7010000AD0300005C020000 + + + 16 + 5300000069000000F300000021010000 + + + + 1937 + 1937 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000F7010000AD0300005C020000 + + + 16 + 5300000069000000F300000021010000 + + + + 1939 + 1939 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000F7010000AD0300005C020000 + + + 16 + 53000000690000002B020000EA000000 + + + + 1940 + 1940 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000F7010000AD0300005C020000 + + + 16 + 53000000690000002B020000EA000000 + + + + 1941 + 1941 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000F7010000AD0300005C020000 + + + 16 + 53000000690000002B020000EA000000 + + + + 1942 + 1942 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000F7010000AD0300005C020000 + + + 16 + 53000000690000002B020000EA000000 + + + + 195 + 195 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000006600000009010000E7020000 + + + 16 + 53000000690000000F01000070020000 + + + + 196 + 196 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000006600000009010000E7020000 + + + 16 + 53000000690000000F01000070020000 + + + + 197 + 197 + 1 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 030000001B0300007D070000CE030000 + + + 16 + 53000000690000002B020000EA000000 + + + + 198 + 198 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 00000000E0010000B003000075020000 + + + 16 + 53000000690000002B020000EA000000 + + + + 199 + 199 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000001B0300007D070000CE030000 + + + 16 + 53000000690000002B020000EA000000 + + + + 203 + 203 + 0 + 0 + 0 + 0 + 32767 + 0 + 8192 + 0 + + 16 + A700000066000000AD030000B7000000 + + + 16 + 53000000690000002B020000EA000000 + + + + 204 + 204 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A700000066000000AD030000B7000000 + + + 16 + 53000000690000002B020000EA000000 + + + + 221 + 221 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 00000000000000000000000000000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 2506 + 2506 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000D7010000 + + + 16 + 5300000069000000F300000021010000 + + + + 2507 + 2507 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000F7010000AD0300005C020000 + + + 16 + 53000000690000002B020000EA000000 + + + + 343 + 343 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A700000066000000AD030000B7000000 + + + 16 + 53000000690000002B020000EA000000 + + + + 346 + 346 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A700000066000000AD030000B7000000 + + + 16 + 53000000690000002B020000EA000000 + + + + 35824 + 35824 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A700000066000000AD030000B7000000 + + + 16 + 53000000690000002B020000EA000000 + + + + 35885 + 35885 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000D7010000 + + + 16 + 5300000069000000F300000021010000 + + + + 35886 + 35886 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000D7010000 + + + 16 + 5300000069000000F300000021010000 + + + + 35887 + 35887 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000D7010000 + + + 16 + 5300000069000000F300000021010000 + + + + 35888 + 35888 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000D7010000 + + + 16 + 5300000069000000F300000021010000 + + + + 35889 + 35889 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000D7010000 + + + 16 + 5300000069000000F300000021010000 + + + + 35890 + 35890 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000D7010000 + + + 16 + 5300000069000000F300000021010000 + + + + 35891 + 35891 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000D7010000 + + + 16 + 5300000069000000F300000021010000 + + + + 35892 + 35892 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000D7010000 + + + 16 + 5300000069000000F300000021010000 + + + + 35893 + 35893 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000D7010000 + + + 16 + 5300000069000000F300000021010000 + + + + 35894 + 35894 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000D7010000 + + + 16 + 5300000069000000F300000021010000 + + + + 35895 + 35895 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000D7010000 + + + 16 + 5300000069000000F300000021010000 + + + + 35896 + 35896 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000D7010000 + + + 16 + 5300000069000000F300000021010000 + + + + 35897 + 35897 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000D7010000 + + + 16 + 5300000069000000F300000021010000 + + + + 35898 + 35898 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000D7010000 + + + 16 + 5300000069000000F300000021010000 + + + + 35899 + 35899 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000D7010000 + + + 16 + 5300000069000000F300000021010000 + + + + 35900 + 35900 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000D7010000 + + + 16 + 5300000069000000F300000021010000 + + + + 35901 + 35901 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000D7010000 + + + 16 + 5300000069000000F300000021010000 + + + + 35902 + 35902 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000D7010000 + + + 16 + 5300000069000000F300000021010000 + + + + 35903 + 35903 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000D7010000 + + + 16 + 5300000069000000F300000021010000 + + + + 35904 + 35904 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000D7010000 + + + 16 + 5300000069000000F300000021010000 + + + + 35905 + 35905 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000D7010000 + + + 16 + 5300000069000000F300000021010000 + + + + 38003 + 38003 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000006600000009010000E7020000 + + + 16 + 53000000690000000F01000070020000 + + + + 38007 + 38007 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000001B0300007D070000CE030000 + + + 16 + 53000000690000002B020000EA000000 + + + + 436 + 436 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000001B0300007D070000CE030000 + + + 16 + 53000000690000000F01000070020000 + + + + 437 + 437 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000F7010000AD0300005C020000 + + + 16 + 5300000069000000F300000021010000 + + + + 440 + 440 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000F7010000AD0300005C020000 + + + 16 + 5300000069000000F300000021010000 + + + + 50000 + 50000 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000D7010000 + + + 16 + 5300000069000000F300000021010000 + + + + 50001 + 50001 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000D7010000 + + + 16 + 5300000069000000F300000021010000 + + + + 50002 + 50002 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000D7010000 + + + 16 + 5300000069000000F300000021010000 + + + + 50003 + 50003 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000D7010000 + + + 16 + 5300000069000000F300000021010000 + + + + 50004 + 50004 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000D7010000 + + + 16 + 5300000069000000F300000021010000 + + + + 50005 + 50005 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000D7010000 + + + 16 + 5300000069000000F300000021010000 + + + + 50006 + 50006 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000D7010000 + + + 16 + 5300000069000000F300000021010000 + + + + 50007 + 50007 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000D7010000 + + + 16 + 5300000069000000F300000021010000 + + + + 50008 + 50008 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000D7010000 + + + 16 + 5300000069000000F300000021010000 + + + + 50009 + 50009 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000D7010000 + + + 16 + 5300000069000000F300000021010000 + + + + 50010 + 50010 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000D7010000 + + + 16 + 5300000069000000F300000021010000 + + + + 50011 + 50011 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000D7010000 + + + 16 + 5300000069000000F300000021010000 + + + + 50012 + 50012 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000D7010000 + + + 16 + 5300000069000000F300000021010000 + + + + 50013 + 50013 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000D7010000 + + + 16 + 5300000069000000F300000021010000 + + + + 50014 + 50014 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000D7010000 + + + 16 + 5300000069000000F300000021010000 + + + + 50015 + 50015 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000D7010000 + + + 16 + 5300000069000000F300000021010000 + + + + 50016 + 50016 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000D7010000 + + + 16 + 5300000069000000F300000021010000 + + + + 50017 + 50017 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000D7010000 + + + 16 + 5300000069000000F300000021010000 + + + + 50018 + 50018 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000D7010000 + + + 16 + 5300000069000000F300000021010000 + + + + 50019 + 50019 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000D7010000 + + + 16 + 5300000069000000F300000021010000 + + + + 59392 + 59392 + 1 + 0 + 0 + 0 + 940 + 0 + 8192 + 0 + + 16 + 0000000000000000B70300001C000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59393 + 0 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 00000000E703000080070000FA030000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59399 + 59399 + 1 + 0 + 0 + 0 + 463 + 0 + 8192 + 1 + + 16 + 000000001C000000DA01000038000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59400 + 59400 + 0 + 0 + 0 + 0 + 612 + 0 + 8192 + 2 + + 16 + 00000000380000006F02000054000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 3119 + 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFA4000000D0000000B0030000D4000000000000000100000004000000010000000000000000000000FFFFFFFF06000000CB00000057010000CC000000F08B00005A01000079070000FFFF02000B004354616262656450616E650020000000000000A400000065000000B0030000E6000000A40000004F000000B0030000D00000000000000040280046060000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF0C0300004F00000010030000F0010000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C30000018000400000000000001003000065000000B003000006020000100300004F000000B0030000F001000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF0C0100004F00000010010000000300000100000002000010040000000100000062FFFFFF57040000FFFFFFFF05000000ED0300006D000000C3000000C4000000739400000180001000000100000000000000650000000C01000016030000000000004F0000000C010000000300000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF00000000DC010000B0030000E001000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0E0000008F070000930700009407000095070000960700009007000091070000B5010000B8010000B9050000BA050000BB050000BC050000CB0900000180008000000000000000000000F6010000B00300008B02000000000000E0010000B00300007502000000000000404100460E0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFD8010000E0010000DC0100007502000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF000000000003000080070000040300000100000001000010040000000100000002FDFFFF7F000000FFFFFFFF04000000C5000000C7000000B40100007794000001800080000001000000000000001A03000080070000FD030000000000000403000080070000E70300000000000040820056040000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657301000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 + + + 59392 + File + + 2316 + 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000004000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE8030000000000000000000000000000000000000000000000010000000100000096000000020020500000000009496E69745F4750494F9600000000000000120009496E69745F4750494F0D756354696D65436E74316D696E01300E496E746F5F506F776572446F776E07525354535441540844656C6179316D73096D656D7365745F73680A493243305F4652414D45096932635F6672616D6515493243436C6561724C69666554696D6544656C61790D705F4932434D656D56616C7565194D656D436F7079496E7465726368616E67654C53425F4D534207545754465245450643535450545217494943496E666F4C697374466173746C79557064617465114E54435F5441425F4D41585F494E4445580B4E54435F5441425F4D41580C4D6375466C61736852656164000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000020000001500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000000180C8880000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E4C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002880DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002880DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002880E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002880E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000288018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000028800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002880D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002880E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65AC030000 + + + 1423 + 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E1000000000000FFFFFFFF000100000000000000010000000000000001000000018001E1000000000000FFFFFFFF000100000000000000010000000000000001000000018003E1000000000000FFFFFFFF0001000000000000000100000000000000010000000180CD7F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF000000000000000000010000000000000001000000018023E1000000000000FFFFFFFF000100000000000000010000000000000001000000018022E1000000000000FFFFFFFF000100000000000000010000000000000001000000018025E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802BE1000000000000FFFFFFFF00010000000000000001000000000000000100000001802CE1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001807A8A000000000000FFFFFFFF00010000000000000001000000000000000100000001807B8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180D3B0000000000000FFFFFFFF000100000000000000010000000000000001000000018015B1000000000000FFFFFFFF0001000000000000000100000000000000010000000180F4B0000000000000FFFFFFFF000100000000000000010000000000000001000000018036B1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FF88000000000000FFFFFFFF0001000000000000000100000000000000010000000180FE88000000000000FFFFFFFF00010000000000000001000000000000000100000001800B81000000000000FFFFFFFF00010000000000000001000000000000000100000001800C81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180F088000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE7F000000000000FFFFFFFF000100000000000000010000000000000001000000018024E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800A81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802280000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C488000000000000FFFFFFFF0001000000000000000100000000000000010000000180C988000000000000FFFFFFFF0001000000000000000100000000000000010000000180C788000000000000FFFFFFFF0001000000000000000100000000000000010000000180C888000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180DD88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FB7F000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 1423 + 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000000000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000000000C0000000000000000000000000000000001000000010000000180F4B00000000000000D000000000000000000000000000000000100000001000000018036B10000000000000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF880000000000000F0000000000000000000000000000000001000000010000000180FE880000000000001000000000000000000000000000000000010000000100000001800B810000000000001100000000000000000000000000000000010000000100000001800C810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F088000000000000130000000000000000000000000000000001000000010000000180EE7F00000000000014000000000000000000000000000000000100000001000000018024E10000000000001500000000000000000000000000000000010000000100000001800A810000000000001600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000180000000000000000000000000000000001000000010000000180C988000000000000190000000000000000000000000000000001000000010000000180C7880000000000001A0000000000000000000000000000000001000000010000000180C8880000000000001B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180DD880000000000001C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001D000000000000000000000000000000000100000001000000 + + + + 59399 + Build + + 747 + 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E00000000000000000000000000000000010000000100000001809E8A0000000000001F0000000000000000000000000000000001000000010000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050000000000D4D6375466C6173685F4C6F6164960000000000000005000D4D6375466C6173685F4C6F61640D4D6375466C616C73685F4941500C4D6375466C6168735F49535006454550524F4D08426F6F744C6F616400000000000000000000000000000000000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000004004E00000000000000000000000000000000010000000100000001807202000000000400530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64CF010000 + + + 583 + 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000FFFFFFFF0001000000000000000100000000000000010000000180D07F000000000000FFFFFFFF00010000000000000001000000000000000100000001803080000000000000FFFFFFFF00010000000000000001000000000000000100000001809E8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D17F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001804C8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001806680000000000000FFFFFFFF0001000000000000000100000000000000010000000180EB88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180B08A000000000000FFFFFFFF0001000000000000000100000000000000010000000180A801000000000000FFFFFFFF00010000000000000001000000000000000100000001807202000000000000FFFFFFFF0001000000000000000100000000000000010000000180BE01000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 583 + 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000000000000000000000000000000000000001000000010000000180D07F00000000000001000000000000000000000000000000000100000001000000018030800000000000000200000000000000000000000000000000010000000100000001809E8A000000000000030000000000000000000000000000000001000000010000000180D17F0000000000000400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000000500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001806680000000000000060000000000000000000000000000000001000000010000000180EB880000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000080000000000000000000000000000000001000000010000000180B08A000000000000090000000000000000000000000000000001000000010000000180A8010000000000000A000000000000000000000000000000000100000001000000018072020000000000000B0000000000000000000000000000000001000000010000000180BE010000000000000C000000000000000000000000000000000100000001000000 + + + + 59400 + Debug + + 2373 + 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 + + + 898 + 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801780000000000000FFFFFFFF00010000000000000001000000000000000100000001801D80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801A80000000000000FFFFFFFF00010000000000000001000000000000000100000001801B80000000000000FFFFFFFF0001000000000000000100000000000000010000000180E57F000000000000FFFFFFFF00010000000000000001000000000000000100000001801C80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800089000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180E48B000000000000FFFFFFFF0001000000000000000100000000000000010000000180F07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180E888000000000000FFFFFFFF00010000000000000001000000000000000100000001803B01000000000000FFFFFFFF0001000000000000000100000000000000010000000180BB8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D88B000000000000FFFFFFFF0001000000000000000100000000000000010000000180D28B000000000000FFFFFFFF00010000000000000001000000000000000100000001809307000000000000FFFFFFFF0001000000000000000100000000000000010000000180658A000000000000FFFFFFFF0001000000000000000100000000000000010000000180C18A000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE8B000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800189000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 898 + 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000000000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000000100000000000000000000000000000000010000000100000001801D800000000000000200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000000300000000000000000000000000000000010000000100000001801B80000000000000040000000000000000000000000000000001000000010000000180E57F0000000000000500000000000000000000000000000000010000000100000001801C800000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B000000000000080000000000000000000000000000000001000000010000000180F07F000000000000090000000000000000000000000000000001000000010000000180E8880000000000000A00000000000000000000000000000000010000000100000001803B010000000000000B0000000000000000000000000000000001000000010000000180BB8A0000000000000C0000000000000000000000000000000001000000010000000180D88B0000000000000D0000000000000000000000000000000001000000010000000180D28B0000000000000E000000000000000000000000000000000100000001000000018093070000000000000F0000000000000000000000000000000001000000010000000180658A000000000000100000000000000000000000000000000001000000010000000180C18A000000000000110000000000000000000000000000000001000000010000000180EE8B0000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180018900000000000013000000000000000000000000000000000100000001000000 + + + + 0 + 1920 + 1080 + + + + + + 1 + 0 + + 100 + 9 + + .\code_drv\AFE.c + 90 + 229 + 256 + 1 + + 0 + + + .\header_drv\Uart.h + 22 + 1 + 6 + 1 + + 0 + + + .\code_dataflash\DataFlash.c + 97 + 43 + 59 + 1 + + 0 + + + .\code_app\UartApp.c + 29 + 106 + 125 + 1 + + 0 + + + .\code_app\Main.c + 36 + 15 + 31 + 1 + + 0 + + + .\code_drv\Calculate.c + 6 + 247 + 254 + 1 + + 0 + + + .\code_drv\Uart.c + 0 + 100 + 111 + 1 + + 0 + + + .\header_drv\McuLib.h + 18 + 56 + 78 + 1 + + 0 + + + .\code_app\Initial.c + 19 + 1 + 22 + 1 + + 0 + + + .\code_app\Memory.c + 0 + 95 + 107 + 1 + + 0 + + + + +
diff --git a/MCUCore.uvgui.wenhua.wang b/MCUCore.uvgui.wenhua.wang new file mode 100644 index 0000000..c5818c7 --- /dev/null +++ b/MCUCore.uvgui.wenhua.wang @@ -0,0 +1,3646 @@ + + + + -6.1 + +
### uVision Project, (C) Keil Software
+ + + + + + 38003 + Registers + 115 67 + + + 346 + Code Coverage + 770 160 + + + 204 + Performance Analyzer + 930 + + + + + + 1506 + Symbols + + 64 64 64 + + + 1936 + Watch 1 + + 64 64 64 + + + 1937 + Watch 2 + + 64 64 64 + + + 1935 + Call Stack + Locals + + 64 64 64 + + + 2506 + Trace Data + + 75 135 130 95 70 230 200 150 + + + + + + + + 0 + 0 + 0 + 50 + 16 + + + + + + + 44 + 2 + 3 + + -1 + -1 + + + -1 + -1 + + + -797 + 230 + 1253 + -30 + + + + 0 + + 6125 + 0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000001C0000001500000001000000C2433A5C55736572735C77656E6875612E77616E675C4465736B746F705C64656D6FB7BDB0B82675736572206775696465D3C5BBAF5C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313231335C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313232325C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313231335C636F64655F626F6F746C6F616465725C535441525455502E413531000000000B535441525455502E41353100000000FFDC7800FFFFFFFFBA433A5C55736572735C77656E6875612E77616E675C4465736B746F705C64656D6FB7BDB0B82675736572206775696465D3C5BBAF5C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313231335C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313232325C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313231335C6865616465725F6472765C4D63754C69622E6800000000084D63754C69622E6800000000BECEA100FFFFFFFFB5433A5C55736572735C77656E6875612E77616E675C4465736B746F705C64656D6FB7BDB0B82675736572206775696465D3C5BBAF5C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313231335C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313232325C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313231335C636F64655F6472765C5254432E6300000000055254432E6300000000F0A0A100FFFFFFFFB7433A5C55736572735C77656E6875612E77616E675C4465736B746F705C64656D6FB7BDB0B82675736572206775696465D3C5BBAF5C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313231335C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313232325C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313231335C6865616465725F6472765C5477692E6800000000055477692E6800000000BCA8E100FFFFFFFFB5433A5C55736572735C77656E6875612E77616E675C4465736B746F705C64656D6FB7BDB0B82675736572206775696465D3C5BBAF5C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313231335C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313232325C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313231335C636F64655F6472765C5457492E6300000000055457492E63000000009CC1B600FFFFFFFFB7433A5C55736572735C77656E6875612E77616E675C4465736B746F705C64656D6FB7BDB0B82675736572206775696465D3C5BBAF5C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313231335C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313232325C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313231335C6865616465725F6472765C4166652E6800000000054166652E6800000000F7B88600FFFFFFFFBF433A5C55736572735C77656E6875612E77616E675C4465736B746F705C64656D6FB7BDB0B82675736572206775696465D3C5BBAF5C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313231335C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313232325C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313231335C6865616465725F6472765C4D435552656769737465722E68000000000D4D435552656769737465722E6800000000D9ADC200FFFFFFFFBB433A5C55736572735C77656E6875612E77616E675C4465736B746F705C64656D6FB7BDB0B82675736572206775696465D3C5BBAF5C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313231335C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313232325C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313231335C636F64655F6472765C43616C63756C6174652E63000000000B43616C63756C6174652E6300000000A5C2D700FFFFFFFFB1433A5C55736572735C77656E6875612E77616E675C4465736B746F705C64656D6FB7BDB0B82675736572206775696465D3C5BBAF5C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313231335C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313232325C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313231335C726561646D652E747874000000000A726561646D652E74787400000000B3A6BE00FFFFFFFFB8433A5C55736572735C77656E6875612E77616E675C4465736B746F705C64656D6FB7BDB0B82675736572206775696465D3C5BBAF5C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313231335C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313232325C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313231335C6865616465725F6170705C4D61696E2E6800000000064D61696E2E6800000000EAD6A300FFFFFFFFB8433A5C55736572735C77656E6875612E77616E675C4465736B746F705C64656D6FB7BDB0B82675736572206775696465D3C5BBAF5C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313231335C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313232325C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313231335C636F64655F6472765C4D63754C69622E6300000000084D63754C69622E6300000000F6FA7D00FFFFFFFFB5433A5C55736572735C77656E6875612E77616E675C4465736B746F705C64656D6FB7BDB0B82675736572206775696465D3C5BBAF5C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313231335C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313232325C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313231335C636F64655F6472765C4146452E6300000000054146452E6300000000B5E99D00FFFFFFFFB9433A5C55736572735C77656E6875612E77616E675C4465736B746F705C64656D6FB7BDB0B82675736572206775696465D3C5BBAF5C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313231335C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313232325C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313231335C636F64655F6472765C426F6F744170702E630000000009426F6F744170702E63000000005FC3CF00FFFFFFFFB6433A5C55736572735C77656E6875612E77616E675C4465736B746F705C64656D6FB7BDB0B82675736572206775696465D3C5BBAF5C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313231335C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313232325C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313231335C636F64655F6170705C4D61696E2E6300000000064D61696E2E6300000000C1838300FFFFFFFFB9433A5C55736572735C77656E6875612E77616E675C4465736B746F705C64656D6FB7BDB0B82675736572206775696465D3C5BBAF5C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313231335C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313232325C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313231335C636F64655F6170705C496E697469616C2E630000000009496E697469616C2E6300000000CACAD500FFFFFFFFBE433A5C55736572735C77656E6875612E77616E675C4465736B746F705C64656D6FB7BDB0B82675736572206775696465D3C5BBAF5C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313231335C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313232325C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313231335C636F64655F626F6F746C6F616465725C466C6173682E630000000007466C6173682E6300000000C5D4F200FFFFFFFFB9433A5C55736572735C77656E6875612E77616E675C4465736B746F705C64656D6FB7BDB0B82675736572206775696465D3C5BBAF5C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313231335C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313232325C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313231335C636F64655F6472765C426F6F744941502E630000000009426F6F744941502E6300000000FFDC7800FFFFFFFFC1433A5C55736572735C77656E6875612E77616E675C4465736B746F705C64656D6FB7BDB0B82675736572206775696465D3C5BBAF5C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313231335C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313232325C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313231335C4845414445525F424F4F544C4F414445525C4941504953502E4800000000084941504953502E4800000000BECEA100FFFFFFFFB8433A5C55736572735C77656E6875612E77616E675C4465736B746F705C64656D6FB7BDB0B82675736572206775696465D3C5BBAF5C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313231335C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313232325C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313231335C636F64655F6170705C4D656D6F72792E6300000000084D656D6F72792E6300000000F0A0A100FFFFFFFFBA433A5C55736572735C77656E6875612E77616E675C4465736B746F705C64656D6FB7BDB0B82675736572206775696465D3C5BBAF5C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313231335C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313232325C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313231335C6865616465725F6170705C4D656D6F72792E6800000000084D656D6F72792E6800000000BCA8E100FFFFFFFFBC433A5C55736572735C77656E6875612E77616E675C4465736B746F705C64656D6FB7BDB0B82675736572206775696465D3C5BBAF5C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313231335C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313232325C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313231335C6865616465725F6472765C4D6375466C6173682E68000000000A4D6375466C6173682E68000000009CC1B600FFFFFFFFC1433A5C55736572735C77656E6875612E77616E675C4465736B746F705C64656D6FB7BDB0B82675736572206775696465D3C5BBAF5C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313231335C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313232325C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313231335C636F64655F64617461666C6173685C44617461466C6173682E63000000000B44617461466C6173682E6300000000F7B88600FFFFFFFFBB433A5C55736572735C77656E6875612E77616E675C4465736B746F705C64656D6FB7BDB0B82675736572206775696465D3C5BBAF5C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313231335C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313232325C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313231335C636F64655F6472765C535441525455502E413531000000000B535441525455502E41353100000000D9ADC200FFFFFFFFBE433A5C55736572735C77656E6875612E77616E675C4465736B746F705C64656D6FB7BDB0B82675736572206775696465D3C5BBAF5C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313231335C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313232325C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313231335C636F64655F6170705C496E746572727570744170702E63000000000E496E746572727570744170702E6300000000A5C2D700FFFFFFFFBF433A5C55736572735C77656E6875612E77616E675C4465736B746F705C64656D6FB7BDB0B82675736572206775696465D3C5BBAF5C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313231335C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313232325C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313231335C636F64655F626F6F746C6F616465725C4961704973702E6300000000084961704973702E6300000000B3A6BE00FFFFFFFFBD433A5C55736572735C77656E6875612E77616E675C4465736B746F705C64656D6FB7BDB0B82675736572206775696465D3C5BBAF5C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313231335C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313232325C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313231335C636F64655F626F6F746C6F616465725C4D61696E2E6300000000064D61696E2E6300000000EAD6A300FFFFFFFFB9433A5C55736572735C77656E6875612E77616E675C4465736B746F705C64656D6FB7BDB0B82675736572206775696465D3C5BBAF5C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313231335C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313232325C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313231335C636F64655F6170705C556172744170702E630000000009556172744170702E6300000000F6FA7D00FFFFFFFFC0433A5C55736572735C77656E6875612E77616E675C4465736B746F705C64656D6FB7BDB0B82675736572206775696465D3C5BBAF5C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313231335C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313232325C534833394630303326463030345F44656D6F436F64655F56322E31355F32303233313231335C4845414445525F424F4F544C4F414445525C464C4153482E480000000007464C4153482E4800000000B5E99D00FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000C400000006FDFFFF0006000053FFFFFF + + + + 0 + Build + + -1 + -1 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C40000004F00000070040000BD000000 + + + 16 + C400000006FDFFFF7004000074FDFFFF + + + + 1005 + 1005 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000BD00000083020000 + + + 16 + 70000000870000003001000027010000 + + + + 109 + 109 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000BD00000083020000 + + + 16 + 70000000870000005301000043020000 + + + + 1465 + 1465 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000AC0100006D040000FE010000 + + + 16 + 7000000087000000A8020000F5000000 + + + + 1466 + 1466 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000AC0100006D040000FE010000 + + + 16 + 7000000087000000A8020000F5000000 + + + + 1467 + 1467 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000AC0100006D040000FE010000 + + + 16 + 7000000087000000A8020000F5000000 + + + + 1468 + 1468 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000AC0100006D040000FE010000 + + + 16 + 7000000087000000A8020000F5000000 + + + + 1506 + 1506 + 0 + 0 + 0 + 0 + 32767 + 0 + 16384 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 1913 + 1913 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C7000000660000006D040000A4000000 + + + 16 + 7000000087000000A8020000F5000000 + + + + 1935 + 1935 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 03000000AC0100006D040000FE010000 + + + 16 + 70000000870000003001000027010000 + + + + 1936 + 1936 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000AC0100006D040000FE010000 + + + 16 + 70000000870000003001000027010000 + + + + 1937 + 1937 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000AC0100006D040000FE010000 + + + 16 + 70000000870000003001000027010000 + + + + 1939 + 1939 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000AC0100006D040000FE010000 + + + 16 + 7000000087000000A8020000F5000000 + + + + 1940 + 1940 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000AC0100006D040000FE010000 + + + 16 + 7000000087000000A8020000F5000000 + + + + 1941 + 1941 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000AC0100006D040000FE010000 + + + 16 + 7000000087000000A8020000F5000000 + + + + 1942 + 1942 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000AC0100006D040000FE010000 + + + 16 + 7000000087000000A8020000F5000000 + + + + 195 + 195 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000BD00000083020000 + + + 16 + 70000000870000005301000043020000 + + + + 196 + 196 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000BD00000083020000 + + + 16 + 70000000870000005301000043020000 + + + + 197 + 197 + 1 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 00000000B4020000000600000E030000 + + + 16 + 7000000087000000A8020000F5000000 + + + + 198 + 198 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 00000000950100007004000017020000 + + + 16 + 7000000087000000A8020000F5000000 + + + + 199 + 199 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000B7020000FD050000F5020000 + + + 16 + 7000000087000000A8020000F5000000 + + + + 203 + 203 + 0 + 0 + 0 + 0 + 32767 + 0 + 8192 + 0 + + 16 + C7000000660000006D040000A4000000 + + + 16 + 7000000087000000A8020000F5000000 + + + + 204 + 204 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C7000000660000006D040000A4000000 + + + 16 + 7000000087000000A8020000F5000000 + + + + 221 + 221 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 00000000000000000000000000000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 2506 + 2506 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 2507 + 2507 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000AC0100006D040000FE010000 + + + 16 + 7000000087000000A8020000F5000000 + + + + 343 + 343 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C7000000660000006D040000A4000000 + + + 16 + 7000000087000000A8020000F5000000 + + + + 346 + 346 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C7000000660000006D040000A4000000 + + + 16 + 7000000087000000A8020000F5000000 + + + + 35824 + 35824 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C7000000660000006D040000A4000000 + + + 16 + 7000000087000000A8020000F5000000 + + + + 35885 + 35885 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 35886 + 35886 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 35887 + 35887 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 35888 + 35888 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 35889 + 35889 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 35890 + 35890 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 35891 + 35891 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 35892 + 35892 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 35893 + 35893 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 35894 + 35894 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 35895 + 35895 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 35896 + 35896 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 35897 + 35897 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 35898 + 35898 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 35899 + 35899 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 35900 + 35900 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 35901 + 35901 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 35902 + 35902 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 35903 + 35903 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 35904 + 35904 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 35905 + 35905 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 38003 + 38003 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000BD00000083020000 + + + 16 + 70000000870000005301000043020000 + + + + 38007 + 38007 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000B7020000FD050000F5020000 + + + 16 + 7000000087000000A8020000F5000000 + + + + 436 + 436 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000B7020000FD050000F5020000 + + + 16 + 70000000870000005301000043020000 + + + + 437 + 437 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000AC0100006D040000FE010000 + + + 16 + 70000000870000003001000027010000 + + + + 440 + 440 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000AC0100006D040000FE010000 + + + 16 + 70000000870000003001000027010000 + + + + 50000 + 50000 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 50001 + 50001 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 50002 + 50002 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 50003 + 50003 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 50004 + 50004 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 50005 + 50005 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 50006 + 50006 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 50007 + 50007 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 50008 + 50008 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 50009 + 50009 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 50010 + 50010 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 50011 + 50011 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 50012 + 50012 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 50013 + 50013 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 50014 + 50014 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 50015 + 50015 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 50016 + 50016 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 50017 + 50017 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 50018 + 50018 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 50019 + 50019 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 59392 + 59392 + 1 + 0 + 0 + 0 + 940 + 0 + 8192 + 0 + + 16 + 0000000000000000B70300001C000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59393 + 0 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 000000000E0300000006000021030000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59399 + 59399 + 1 + 0 + 0 + 0 + 463 + 0 + 8192 + 1 + + 16 + 000000001C000000DA01000038000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59400 + 59400 + 0 + 0 + 0 + 0 + 612 + 0 + 8192 + 2 + + 16 + 00000000380000006F02000054000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 3119 + 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFC4000000BD00000070040000C1000000000000000100000004000000010000000000000000000000FFFFFFFF06000000CB00000057010000CC000000F08B00005A01000079070000FFFF02000B004354616262656450616E650020000000000000C400000006FDFFFF7004000074FDFFFFC40000004F00000070040000BD0000000000000040280046060000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFFAC0300004F000000B0030000A5010000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000B003000006FDFFFF700400005CFEFFFFB00300004F00000070040000A501000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFC00000004F000000C40000009C020000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000018000100000010000000000000006FDFFFFC000000053FFFFFF000000004F000000C00000009C0200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000091010000700400009501000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0E0000008F070000930700009407000095070000960700009007000091070000B5010000B8010000B9050000BA050000BB050000BC050000CB09000001800080000000000000000000004CFEFFFF70040000CEFEFFFF0000000095010000700400001702000000000000404100460E0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFF38020000950100003C0200001702000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF000000009C02000000060000A0020000010000000100001004000000010000000000000000000000FFFFFFFF04000000C5000000C7000000B401000077940000018000800000010000000000000057FFFFFF00060000C5FFFFFF00000000A0020000000600000E0300000000000040820056040000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 + + + 59392 + File + + 2327 + 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000000762495350466C67960000000000000014000762495350466C670F454550524F4D5F52534F435F564F4C11454550524F4D5F434847454E445F564F4C12454550524F4D5F4C4153545F43434F554E5414454550524F4D5F445347454E445F4241434B55500D45327563447367456E64466C67046256445107624348474D4F530F625561727430536E6441636B466C670E45327563436867424B44656C6179035331360C45327369436867424B437572135457495F48617264776172655F4D6F64756C650A756956616463566D61780A756956616463566D696E0450315F33084741534741554745084741534755414745084532554C44465243065278446174610000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000020000001500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000000180C8880000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E4C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002880DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002880DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002880E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002880E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000288018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000028800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002880D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002880E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65AC030000 + + + 1423 + 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E1000000000000FFFFFFFF000100000000000000010000000000000001000000018001E1000000000000FFFFFFFF000100000000000000010000000000000001000000018003E1000000000000FFFFFFFF0001000000000000000100000000000000010000000180CD7F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF000000000000000000010000000000000001000000018023E1000000000000FFFFFFFF000100000000000000010000000000000001000000018022E1000000000000FFFFFFFF000100000000000000010000000000000001000000018025E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802BE1000000000000FFFFFFFF00010000000000000001000000000000000100000001802CE1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001807A8A000000000000FFFFFFFF00010000000000000001000000000000000100000001807B8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180D3B0000000000000FFFFFFFF000100000000000000010000000000000001000000018015B1000000000000FFFFFFFF0001000000000000000100000000000000010000000180F4B0000000000000FFFFFFFF000100000000000000010000000000000001000000018036B1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FF88000000000000FFFFFFFF0001000000000000000100000000000000010000000180FE88000000000000FFFFFFFF00010000000000000001000000000000000100000001800B81000000000000FFFFFFFF00010000000000000001000000000000000100000001800C81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180F088000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE7F000000000000FFFFFFFF000100000000000000010000000000000001000000018024E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800A81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802280000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C488000000000000FFFFFFFF0001000000000000000100000000000000010000000180C988000000000000FFFFFFFF0001000000000000000100000000000000010000000180C788000000000000FFFFFFFF0001000000000000000100000000000000010000000180C888000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180DD88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FB7F000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 1423 + 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000000000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000000000C0000000000000000000000000000000001000000010000000180F4B00000000000000D000000000000000000000000000000000100000001000000018036B10000000000000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF880000000000000F0000000000000000000000000000000001000000010000000180FE880000000000001000000000000000000000000000000000010000000100000001800B810000000000001100000000000000000000000000000000010000000100000001800C810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F088000000000000130000000000000000000000000000000001000000010000000180EE7F00000000000014000000000000000000000000000000000100000001000000018024E10000000000001500000000000000000000000000000000010000000100000001800A810000000000001600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000180000000000000000000000000000000001000000010000000180C988000000000000190000000000000000000000000000000001000000010000000180C7880000000000001A0000000000000000000000000000000001000000010000000180C8880000000000001B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180DD880000000000001C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001D000000000000000000000000000000000100000001000000 + + + + 59399 + Build + + 747 + 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E00000000000000000000000000000000010000000100000001809E8A0000000000001F0000000000000000000000000000000001000000010000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050000000000D4D6375466C6173685F4C6F6164960000000000000005000D4D6375466C6173685F4C6F61640D4D6375466C616C73685F4941500C4D6375466C6168735F49535006454550524F4D08426F6F744C6F616400000000000000000000000000000000000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000004004E00000000000000000000000000000000010000000100000001807202000000000400530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64CF010000 + + + 583 + 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000FFFFFFFF0001000000000000000100000000000000010000000180D07F000000000000FFFFFFFF00010000000000000001000000000000000100000001803080000000000000FFFFFFFF00010000000000000001000000000000000100000001809E8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D17F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001804C8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001806680000000000000FFFFFFFF0001000000000000000100000000000000010000000180EB88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180B08A000000000000FFFFFFFF0001000000000000000100000000000000010000000180A801000000000000FFFFFFFF00010000000000000001000000000000000100000001807202000000000000FFFFFFFF0001000000000000000100000000000000010000000180BE01000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 583 + 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000000000000000000000000000000000000001000000010000000180D07F00000000000001000000000000000000000000000000000100000001000000018030800000000000000200000000000000000000000000000000010000000100000001809E8A000000000000030000000000000000000000000000000001000000010000000180D17F0000000000000400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000000500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001806680000000000000060000000000000000000000000000000001000000010000000180EB880000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000080000000000000000000000000000000001000000010000000180B08A000000000000090000000000000000000000000000000001000000010000000180A8010000000000000A000000000000000000000000000000000100000001000000018072020000000000000B0000000000000000000000000000000001000000010000000180BE010000000000000C000000000000000000000000000000000100000001000000 + + + + 59400 + Debug + + 2373 + 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 + + + 898 + 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801780000000000000FFFFFFFF00010000000000000001000000000000000100000001801D80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801A80000000000000FFFFFFFF00010000000000000001000000000000000100000001801B80000000000000FFFFFFFF0001000000000000000100000000000000010000000180E57F000000000000FFFFFFFF00010000000000000001000000000000000100000001801C80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800089000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180E48B000000000000FFFFFFFF0001000000000000000100000000000000010000000180F07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180E888000000000000FFFFFFFF00010000000000000001000000000000000100000001803B01000000000000FFFFFFFF0001000000000000000100000000000000010000000180BB8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D88B000000000000FFFFFFFF0001000000000000000100000000000000010000000180D28B000000000000FFFFFFFF00010000000000000001000000000000000100000001809307000000000000FFFFFFFF0001000000000000000100000000000000010000000180658A000000000000FFFFFFFF0001000000000000000100000000000000010000000180C18A000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE8B000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800189000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 898 + 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000000000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000000100000000000000000000000000000000010000000100000001801D800000000000000200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000000300000000000000000000000000000000010000000100000001801B80000000000000040000000000000000000000000000000001000000010000000180E57F0000000000000500000000000000000000000000000000010000000100000001801C800000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B000000000000080000000000000000000000000000000001000000010000000180F07F000000000000090000000000000000000000000000000001000000010000000180E8880000000000000A00000000000000000000000000000000010000000100000001803B010000000000000B0000000000000000000000000000000001000000010000000180BB8A0000000000000C0000000000000000000000000000000001000000010000000180D88B0000000000000D0000000000000000000000000000000001000000010000000180D28B0000000000000E000000000000000000000000000000000100000001000000018093070000000000000F0000000000000000000000000000000001000000010000000180658A000000000000100000000000000000000000000000000001000000010000000180C18A000000000000110000000000000000000000000000000001000000010000000180EE8B0000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180018900000000000013000000000000000000000000000000000100000001000000 + + + + 0 + 1536 + 864 + + + + 1 + Debug + + -1 + -1 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B00300004F00000070040000A5010000 + + + 16 + B003000006FDFFFF700400005CFEFFFF + + + + 1005 + 1005 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000007D000000BD00000032020000 + + + 16 + 70000000870000003001000027010000 + + + + 109 + 109 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000007D000000BD00000032020000 + + + 16 + 70000000870000005301000043020000 + + + + 1465 + 1465 + 0 + 1 + 0 + 0 + 32767 + 0 + 16384 + 0 + + 16 + 2A04000066000000FD050000F5020000 + + + 16 + 610800009F0100005D0B000021020000 + + + + 1466 + 1466 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 1B05000066000000FD050000F5020000 + + + 16 + 790A00009D010000750D00001F020000 + + + + 1467 + 1467 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 1B05000066000000FD050000F5020000 + + + 16 + 790A00009D010000750D00001F020000 + + + + 1468 + 1468 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 1B05000066000000FD050000F5020000 + + + 16 + 790A00009D010000750D00001F020000 + + + + 1506 + 1506 + 0 + 0 + 0 + 0 + 32767 + 0 + 16384 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 1913 + 1913 + 0 + 0 + 0 + 0 + 32767 + 0 + 8192 + 0 + + 16 + 0300000066000000FD05000066000000 + + + 16 + 2602000000FDFFFF8505000033FDFFFF + + + + 1935 + 1935 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 1B05000066000000FD050000F5020000 + + + 16 + 790A00009D010000750D00001F020000 + + + + 1936 + 1936 + 1 + 0 + 0 + 0 + 32767 + 0 + 16384 + 0 + + 16 + 2704000066000000000600000E030000 + + + 16 + 3C090000A3010000380C000025020000 + + + + 1937 + 1937 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 1B05000066000000FD050000F5020000 + + + 16 + 790A00009D010000750D00001F020000 + + + + 1939 + 1939 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 1B05000066000000FD050000F5020000 + + + 16 + 790A00009D010000750D00001F020000 + + + + 1940 + 1940 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 1B05000066000000FD050000F5020000 + + + 16 + 790A00009D010000750D00001F020000 + + + + 1941 + 1941 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 1B05000066000000FD050000F5020000 + + + 16 + 790A00009D010000750D00001F020000 + + + + 1942 + 1942 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 1B05000066000000FD050000F5020000 + + + 16 + 790A00009D010000750D00001F020000 + + + + 195 + 195 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000007D000000BD00000032020000 + + + 16 + 70000000870000005301000043020000 + + + + 196 + 196 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000007D000000BD00000032020000 + + + 16 + 70000000870000005301000043020000 + + + + 197 + 197 + 1 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 030000006602000020040000F5020000 + + + 16 + 7000000087000000A8020000F5000000 + + + + 198 + 198 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 00000000DC01000023040000BE020000 + + + 16 + 7000000087000000A8020000F5000000 + + + + 199 + 199 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000006602000020040000F5020000 + + + 16 + 7000000087000000A8020000F5000000 + + + + 203 + 203 + 1 + 0 + 0 + 0 + 32767 + 0 + 8192 + 0 + + 16 + 00000000630000000006000063000000 + + + 16 + 2602000000FDFFFF8505000033FDFFFF + + + + 204 + 204 + 0 + 0 + 0 + 0 + 32767 + 0 + 8192 + 0 + + 16 + 0300000066000000FD05000066000000 + + + 16 + 2602000000FDFFFF8505000033FDFFFF + + + + 221 + 221 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 00000000000000000000000000000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 2506 + 2506 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 2507 + 2507 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 1B05000066000000FD050000F5020000 + + + 16 + 790A00009D010000750D00001F020000 + + + + 343 + 343 + 0 + 0 + 0 + 0 + 32767 + 0 + 8192 + 0 + + 16 + 0300000066000000FD05000066000000 + + + 16 + 2602000000FDFFFF8505000033FDFFFF + + + + 346 + 346 + 0 + 0 + 0 + 0 + 32767 + 0 + 8192 + 0 + + 16 + 0300000066000000FD05000066000000 + + + 16 + 2602000000FDFFFF8505000033FDFFFF + + + + 35824 + 35824 + 0 + 0 + 0 + 0 + 32767 + 0 + 8192 + 0 + + 16 + 0300000066000000FD05000066000000 + + + 16 + 2602000000FDFFFF8505000033FDFFFF + + + + 35885 + 35885 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 35886 + 35886 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 35887 + 35887 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 35888 + 35888 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 35889 + 35889 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 35890 + 35890 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 35891 + 35891 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 35892 + 35892 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 35893 + 35893 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 35894 + 35894 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 35895 + 35895 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 35896 + 35896 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 35897 + 35897 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 35898 + 35898 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 35899 + 35899 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 35900 + 35900 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 35901 + 35901 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 35902 + 35902 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 35903 + 35903 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 35904 + 35904 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 35905 + 35905 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 38003 + 38003 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000007D000000BD00000032020000 + + + 16 + 70000000870000005301000043020000 + + + + 38007 + 38007 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000006602000020040000F5020000 + + + 16 + 7000000087000000A8020000F5000000 + + + + 436 + 436 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000006602000020040000F5020000 + + + 16 + 70000000870000005301000043020000 + + + + 437 + 437 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 1B05000066000000FD050000F5020000 + + + 16 + 790A00009D010000750D00001F020000 + + + + 440 + 440 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 1B05000066000000FD050000F5020000 + + + 16 + 790A00009D010000750D00001F020000 + + + + 50000 + 50000 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 50001 + 50001 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 50002 + 50002 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 50003 + 50003 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 50004 + 50004 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 50005 + 50005 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 50006 + 50006 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 50007 + 50007 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 50008 + 50008 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 50009 + 50009 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 50010 + 50010 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 50011 + 50011 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 50012 + 50012 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 50013 + 50013 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 50014 + 50014 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 50015 + 50015 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 50016 + 50016 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 50017 + 50017 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 50018 + 50018 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 50019 + 50019 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D0400008C010000 + + + 16 + 70000000870000003001000027010000 + + + + 59392 + 59392 + 1 + 0 + 0 + 0 + 940 + 0 + 8192 + 0 + + 16 + 0000000000000000B70300001C000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59393 + 0 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 000000000E0300000006000021030000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59399 + 59399 + 0 + 0 + 0 + 0 + 463 + 0 + 8192 + 1 + + 16 + 000000001C000000DA01000038000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59400 + 59400 + 1 + 0 + 0 + 0 + 612 + 0 + 8192 + 2 + + 16 + 000000001C0000006F02000038000000 + + + 16 + 0A0000000A0000007602000042000000 + + + + 3355 + 000000000D000000000000000040000000000000FFFFFFFFFFFFFFFFAC0300004F000000B0030000A5010000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C30000FFFF02000B004354616262656450616E650040000000000000B003000006FDFFFF700400005CFEFFFFB00300004F00000070040000A501000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFC000000066000000C40000004B020000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C40000007394000001800010000001000000000000001DFDFFFFC000000002FFFFFF0000000066000000C00000004B0200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73000000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7300000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657300000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273010000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF00000000D801000023040000DC0100000000000001000000040000000100000081FEFFFF0000000000000000000000000000000001000000C60000000000000001000000000000000000000001000000FFFFFFFF0D0300006B01000011030000BE0200000000000002000000040000000000000064FDFFFFFA02000000000000000000000000000001000000C600000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF000000004B020000230400004F02000001000000010000100400000001000000B4FDFFFF31000000FFFFFFFF04000000C5000000C7000000B401000077940000018000800000010000000000000006FFFFFF23040000C5FFFFFF000000004F020000230400000E0300000000000040820056040000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657301000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0642726F777365000000007794000001000000FFFFFFFFFFFFFFFF01000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000040000001000000FFFFFFFFFFFFFFFF2304000066000000270400000E030000010000000200001004000000010000006BFDFFFF9C020000000000000000000000000000010000000000000000000000000000000100000090070000FFFFFFFF0C0000008F0700009307000094070000950700009607000091070000B5010000B8010000BA050000BB050000BC050000CB090000018000400000000000001805000006FDFFFF00060000C5FFFFFF180500004F000000000600000E03000000000000404100460C0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000002000000000000000000000002000000FFFFFFFF140500004F000000180500000E030000000000000200000004000000000000000000000000000000000000000000000000000000000000000200000090070000FFFFFFFF8F070000010000009007000001000000FFFFFFFF8F070000000000000020000001000000FFFFFFFFFFFFFFFF0000000062000000000600006600000001000000010000100400000001000000000000000000000000000000000000000000000001000000FFFFFFFF06000000CB00000057010000CC000000F08B00005A01000079070000018000200000010000000000000006FDFFFF0006000019FDFFFF000000004F00000000060000620000000000000040280056060000000B446973617373656D626C7901000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB00000001000000FFFF02001400434D756C746950616E654672616D65576E64457800010084610800009F0100005D0B00002102000000000000000000000200000000000000B90500000000000000000000000000000000000001000000B90500000000000000000000 + + + 59392 + File + + 2358 + 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE8030000000000000000000000000000000000000000000000010000000100000096000000020020500000000008474153474155474596000000000000001400084741534741554745084741534755414745084532554C44465243065278446174610E496E74657272757074556172743013496E746572727570745561727430417070527812496E7465727275707455617274417070527811496170436865636B48616E647368616B65165561727430496170436865636B48616E647368616B650C4941504552524F525F434D440C453275694E65617246756C6C0E5457495F494F5F4F504552415445117563556172743254696D656F7574436E740553414444520F625561727430536E6441636B466C670A49535050726F636573730E556172743248616E647368616B650B554152545F444546494E450762495350466C670B49727155617274304469730000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000020001001500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000400160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000400190000000000000000000000000000000001000000010000000180C8880000000004001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E4C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002880DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002880DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002880E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002880E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000288018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000028800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002880D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002880E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65AC030000 + + + 1423 + 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E1000000000000FFFFFFFF000100000000000000010000000000000001000000018001E1000000000000FFFFFFFF000100000000000000010000000000000001000000018003E1000000000000FFFFFFFF0001000000000000000100000000000000010000000180CD7F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF000000000000000000010000000000000001000000018023E1000000000000FFFFFFFF000100000000000000010000000000000001000000018022E1000000000000FFFFFFFF000100000000000000010000000000000001000000018025E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802BE1000000000000FFFFFFFF00010000000000000001000000000000000100000001802CE1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001807A8A000000000000FFFFFFFF00010000000000000001000000000000000100000001807B8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180D3B0000000000000FFFFFFFF000100000000000000010000000000000001000000018015B1000000000000FFFFFFFF0001000000000000000100000000000000010000000180F4B0000000000000FFFFFFFF000100000000000000010000000000000001000000018036B1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FF88000000000000FFFFFFFF0001000000000000000100000000000000010000000180FE88000000000000FFFFFFFF00010000000000000001000000000000000100000001800B81000000000000FFFFFFFF00010000000000000001000000000000000100000001800C81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180F088000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE7F000000000000FFFFFFFF000100000000000000010000000000000001000000018024E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800A81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802280000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C488000000000000FFFFFFFF0001000000000000000100000000000000010000000180C988000000000000FFFFFFFF0001000000000000000100000000000000010000000180C788000000000000FFFFFFFF0001000000000000000100000000000000010000000180C888000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180DD88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FB7F000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 1423 + 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000000000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000000000C0000000000000000000000000000000001000000010000000180F4B00000000000000D000000000000000000000000000000000100000001000000018036B10000000000000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF880000000000000F0000000000000000000000000000000001000000010000000180FE880000000000001000000000000000000000000000000000010000000100000001800B810000000000001100000000000000000000000000000000010000000100000001800C810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F088000000000000130000000000000000000000000000000001000000010000000180EE7F00000000000014000000000000000000000000000000000100000001000000018024E10000000000001500000000000000000000000000000000010000000100000001800A810000000000001600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000180000000000000000000000000000000001000000010000000180C988000000000000190000000000000000000000000000000001000000010000000180C7880000000000001A0000000000000000000000000000000001000000010000000180C8880000000000001B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180DD880000000000001C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001D000000000000000000000000000000000100000001000000 + + + + 59399 + Build + + 657 + 00200000000000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E00000000000000000000000000000000010000000100000001809E8A0000000000001F0000000000000000000000000000000001000000010000000180D17F0000000000002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050FFFFFFFF00960000000000000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000000240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64CF010000 + + + 583 + 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000FFFFFFFF0001000000000000000100000000000000010000000180D07F000000000000FFFFFFFF00010000000000000001000000000000000100000001803080000000000000FFFFFFFF00010000000000000001000000000000000100000001809E8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D17F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001804C8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001806680000000000000FFFFFFFF0001000000000000000100000000000000010000000180EB88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180B08A000000000000FFFFFFFF0001000000000000000100000000000000010000000180A801000000000000FFFFFFFF00010000000000000001000000000000000100000001807202000000000000FFFFFFFF0001000000000000000100000000000000010000000180BE01000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 583 + 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000000000000000000000000000000000000001000000010000000180D07F00000000000001000000000000000000000000000000000100000001000000018030800000000000000200000000000000000000000000000000010000000100000001809E8A000000000000030000000000000000000000000000000001000000010000000180D17F0000000000000400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000000500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001806680000000000000060000000000000000000000000000000001000000010000000180EB880000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000080000000000000000000000000000000001000000010000000180B08A000000000000090000000000000000000000000000000001000000010000000180A8010000000000000A000000000000000000000000000000000100000001000000018072020000000000000B0000000000000000000000000000000001000000010000000180BE010000000000000C000000000000000000000000000000000100000001000000 + + + + 59400 + Debug + + 2362 + 00200000010000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000004002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000004002800000000000000000000000000000000010000000100000001801B80000000000400290000000000000000000000000000000001000000010000000180E57F0000000004002A00000000000000000000000000000000010000000100000001801C800000000004002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000004002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000020000002D0000000000000000000000000000000001000000010000000180F07F0000020001002E0000000000000000000000000000000001000000010000000180E8880000020000003700000000000000000000000000000000010000000100000001803B010000020001002F0000000000000000000000000000000001000000010000000180BB8A00000200000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000002000100310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F0100000200000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000002000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000020000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000002000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 + + + 898 + 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801780000000000000FFFFFFFF00010000000000000001000000000000000100000001801D80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801A80000000000000FFFFFFFF00010000000000000001000000000000000100000001801B80000000000000FFFFFFFF0001000000000000000100000000000000010000000180E57F000000000000FFFFFFFF00010000000000000001000000000000000100000001801C80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800089000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180E48B000000000000FFFFFFFF0001000000000000000100000000000000010000000180F07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180E888000000000000FFFFFFFF00010000000000000001000000000000000100000001803B01000000000000FFFFFFFF0001000000000000000100000000000000010000000180BB8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D88B000000000000FFFFFFFF0001000000000000000100000000000000010000000180D28B000000000000FFFFFFFF00010000000000000001000000000000000100000001809307000000000000FFFFFFFF0001000000000000000100000000000000010000000180658A000000000000FFFFFFFF0001000000000000000100000000000000010000000180C18A000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE8B000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800189000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 898 + 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000000000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000000100000000000000000000000000000000010000000100000001801D800000000000000200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000000300000000000000000000000000000000010000000100000001801B80000000000000040000000000000000000000000000000001000000010000000180E57F0000000000000500000000000000000000000000000000010000000100000001801C800000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B000000000000080000000000000000000000000000000001000000010000000180F07F000000000000090000000000000000000000000000000001000000010000000180E8880000000000000A00000000000000000000000000000000010000000100000001803B010000000000000B0000000000000000000000000000000001000000010000000180BB8A0000000000000C0000000000000000000000000000000001000000010000000180D88B0000000000000D0000000000000000000000000000000001000000010000000180D28B0000000000000E000000000000000000000000000000000100000001000000018093070000000000000F0000000000000000000000000000000001000000010000000180658A000000000000100000000000000000000000000000000001000000010000000180C18A000000000000110000000000000000000000000000000001000000010000000180EE8B0000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180018900000000000013000000000000000000000000000000000100000001000000 + + + + 0 + 1536 + 864 + + + + + + 1 + 0 + + 100 + 21 + + .\code_bootloader\STARTUP.A51 + 0 + 1 + 1 + 1 + + 0 + + + .\header_drv\McuLib.h + 0 + 14 + 23 + 1 + + 0 + + + .\code_drv\RTC.c + 51 + 65 + 86 + 1 + + 0 + + + .\header_drv\Twi.h + 0 + 1 + 6 + 1 + + 0 + + + .\code_drv\TWI.c + 0 + 364 + 390 + 1 + + 0 + + + .\header_drv\Afe.h + 17 + 101 + 120 + 1 + + 0 + + + .\header_drv\MCURegister.h + 0 + 346 + 357 + 1 + + 0 + + + .\code_drv\Calculate.c + 0 + 457 + 494 + 1 + + 0 + + + .\readme.txt + 10 + 1 + 33 + 1 + + 0 + + + .\header_app\Main.h + 0 + 66 + 75 + 1 + + 0 + + + .\code_drv\McuLib.c + 0 + 62 + 80 + 1 + + 0 + + + .\code_drv\AFE.c + 28 + 119 + 136 + 1 + + 0 + + + .\code_drv\BootApp.c + 0 + 1 + 21 + 1 + + 0 + + + .\code_app\Main.c + 57 + 18 + 36 + 1 + + 0 + + + .\code_app\Initial.c + 17 + 519 + 539 + 1 + + 0 + + + .\code_bootloader\Flash.c + 0 + 1 + 1 + 1 + + 0 + + + .\code_drv\BootIAP.c + 2 + 1 + 261 + 1 + + 0 + + + .\HEADER_BOOTLOADER\IAPISP.H + 0 + 105 + 142 + 1 + + 0 + + + .\code_app\Memory.c + 0 + 13 + 14 + 1 + + 0 + + + .\header_app\Memory.h + 77 + 1 + 6 + 1 + + 0 + + + .\header_drv\McuFlash.h + 0 + 15 + 26 + 1 + + 0 + + + .\code_dataflash\DataFlash.c + 58 + 76 + 108 + 1 + + 0 + + + .\code_drv\STARTUP.A51 + 0 + 1 + 24 + 1 + + 0 + + + .\code_app\InterruptApp.c + 0 + 12 + 13 + 1 + + 0 + + + .\code_bootloader\IapIsp.c + 45 + 393 + 415 + 1 + + 0 + + + .\code_bootloader\Main.c + 0 + 407 + 408 + 1 + + 0 + + + .\code_app\UartApp.c + 0 + 14 + 15 + 1 + + 0 + + + .\HEADER_BOOTLOADER\FLASH.H + 0 + 6 + 15 + 1 + + 0 + + + + +
diff --git a/MCUCore.uvgui.yangweilei b/MCUCore.uvgui.yangweilei new file mode 100644 index 0000000..2302f52 --- /dev/null +++ b/MCUCore.uvgui.yangweilei @@ -0,0 +1,3403 @@ + + + + -6.1 + +
### uVision Project, (C) Keil Software
+ + + + + + 38003 + Registers + 115 116 + + + 346 + Code Coverage + 610 160 + + + 204 + Performance Analyzer + 770 + + + + + + 1506 + Symbols + + 80 80 80 + + + 1936 + Watch 1 + + 80 80 80 + + + 1937 + Watch 2 + + 80 80 80 + + + 1935 + Call Stack + Locals + + 80 80 80 + + + 2506 + Trace Data + + 75 135 130 95 70 230 200 150 + + + + + + + + 0 + 0 + 0 + 50 + 16 + + + + + + + 44 + 2 + 3 + + -32000 + -32000 + + + -1 + -1 + + + 297 + 827 + 1714 + 1025 + + + + 0 + + 321 + 0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000000100000000000000010000007D453A5C534833363733307820424D535C44656D6F436F6465207570646174615C332D53483339463030342044656D6F436F646520757064617461206261636B75705C534833394630303326463030345F44656D6F436F64655F56322E31305F32312E31322E31342E32302E34365C636F64655F6170705C4D61696E2E6300000000064D61696E2E6300000000FFDC7800FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000F5000000650000008007000090020000 + + + + 0 + Build + + -1 + -1 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A40000004F000000B0030000D7000000 + + + 16 + A400000065000000B0030000ED000000 + + + + 1005 + 1005 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000EE00000061020000 + + + 16 + 3A00000050000000DA00000010010000 + + + + 109 + 109 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000EE00000061020000 + + + 16 + 3A00000050000000F600000070020000 + + + + 1465 + 1465 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000010020000AD0300007C020000 + + + 16 + 3A0000005000000012020000D8000000 + + + + 1466 + 1466 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000010020000AD0300007C020000 + + + 16 + 3A0000005000000012020000D8000000 + + + + 1467 + 1467 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000010020000AD0300007C020000 + + + 16 + 3A0000005000000012020000D8000000 + + + + 1468 + 1468 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000010020000AD0300007C020000 + + + 16 + 3A0000005000000012020000D8000000 + + + + 1506 + 1506 + 0 + 0 + 0 + 0 + 32767 + 0 + 16384 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 3A00000050000000DA00000010010000 + + + + 1913 + 1913 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A700000066000000AD030000BE000000 + + + 16 + 3A0000005000000012020000D8000000 + + + + 1935 + 1935 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 0300000010020000AD0300007C020000 + + + 16 + 3A00000050000000DA00000010010000 + + + + 1936 + 1936 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000010020000AD0300007C020000 + + + 16 + 3A00000050000000DA00000010010000 + + + + 1937 + 1937 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000010020000AD0300007C020000 + + + 16 + 3A00000050000000DA00000010010000 + + + + 1939 + 1939 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000010020000AD0300007C020000 + + + 16 + 3A0000005000000012020000D8000000 + + + + 1940 + 1940 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000010020000AD0300007C020000 + + + 16 + 3A0000005000000012020000D8000000 + + + + 1941 + 1941 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000010020000AD0300007C020000 + + + 16 + 3A0000005000000012020000D8000000 + + + + 1942 + 1942 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000010020000AD0300007C020000 + + + 16 + 3A0000005000000012020000D8000000 + + + + 195 + 195 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000EE00000061020000 + + + 16 + 3A00000050000000F600000070020000 + + + + 196 + 196 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000EE00000061020000 + + + 16 + 3A00000050000000F600000070020000 + + + + 197 + 197 + 1 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 03000000950200007D070000CE030000 + + + 16 + 3A0000005000000012020000D8000000 + + + + 198 + 198 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 00000000F9010000B003000095020000 + + + 16 + 3A0000005000000012020000D8000000 + + + + 199 + 199 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000950200007D070000CE030000 + + + 16 + 3A0000005000000012020000D8000000 + + + + 203 + 203 + 0 + 0 + 0 + 0 + 32767 + 0 + 8192 + 0 + + 16 + A700000066000000AD030000BE000000 + + + 16 + 3A0000005000000012020000D8000000 + + + + 204 + 204 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A700000066000000AD030000BE000000 + + + 16 + 3A0000005000000012020000D8000000 + + + + 221 + 221 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 00000000000000000000000000000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 2506 + 2506 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 3A00000050000000DA00000010010000 + + + + 2507 + 2507 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000010020000AD0300007C020000 + + + 16 + 3A0000005000000012020000D8000000 + + + + 343 + 343 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A700000066000000AD030000BE000000 + + + 16 + 3A0000005000000012020000D8000000 + + + + 346 + 346 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A700000066000000AD030000BE000000 + + + 16 + 3A0000005000000012020000D8000000 + + + + 35824 + 35824 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A700000066000000AD030000BE000000 + + + 16 + 3A0000005000000012020000D8000000 + + + + 35885 + 35885 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 3A00000050000000DA00000010010000 + + + + 35886 + 35886 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 3A00000050000000DA00000010010000 + + + + 35887 + 35887 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 3A00000050000000DA00000010010000 + + + + 35888 + 35888 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 3A00000050000000DA00000010010000 + + + + 35889 + 35889 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 3A00000050000000DA00000010010000 + + + + 35890 + 35890 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 3A00000050000000DA00000010010000 + + + + 35891 + 35891 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 3A00000050000000DA00000010010000 + + + + 35892 + 35892 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 3A00000050000000DA00000010010000 + + + + 35893 + 35893 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 3A00000050000000DA00000010010000 + + + + 35894 + 35894 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 3A00000050000000DA00000010010000 + + + + 35895 + 35895 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 3A00000050000000DA00000010010000 + + + + 35896 + 35896 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 3A00000050000000DA00000010010000 + + + + 35897 + 35897 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 3A00000050000000DA00000010010000 + + + + 35898 + 35898 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 3A00000050000000DA00000010010000 + + + + 35899 + 35899 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 3A00000050000000DA00000010010000 + + + + 35900 + 35900 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 3A00000050000000DA00000010010000 + + + + 35901 + 35901 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 3A00000050000000DA00000010010000 + + + + 35902 + 35902 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 3A00000050000000DA00000010010000 + + + + 35903 + 35903 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 3A00000050000000DA00000010010000 + + + + 35904 + 35904 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 3A00000050000000DA00000010010000 + + + + 35905 + 35905 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 3A00000050000000DA00000010010000 + + + + 38003 + 38003 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000EE00000061020000 + + + 16 + 3A00000050000000F600000070020000 + + + + 38007 + 38007 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000950200007D070000CE030000 + + + 16 + 3A0000005000000012020000D8000000 + + + + 436 + 436 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000950200007D070000CE030000 + + + 16 + 3A00000050000000F600000070020000 + + + + 437 + 437 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000010020000AD0300007C020000 + + + 16 + 3A00000050000000DA00000010010000 + + + + 440 + 440 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000010020000AD0300007C020000 + + + 16 + 3A00000050000000DA00000010010000 + + + + 50000 + 50000 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 3A00000050000000DA00000010010000 + + + + 50001 + 50001 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 3A00000050000000DA00000010010000 + + + + 50002 + 50002 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 3A00000050000000DA00000010010000 + + + + 50003 + 50003 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 3A00000050000000DA00000010010000 + + + + 50004 + 50004 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 3A00000050000000DA00000010010000 + + + + 50005 + 50005 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 3A00000050000000DA00000010010000 + + + + 50006 + 50006 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 50007 + 50007 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 3A00000050000000DA00000010010000 + + + + 50008 + 50008 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 3A00000050000000DA00000010010000 + + + + 50009 + 50009 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 3A00000050000000DA00000010010000 + + + + 50010 + 50010 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 3A00000050000000DA00000010010000 + + + + 50011 + 50011 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 3A00000050000000DA00000010010000 + + + + 50012 + 50012 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 3A00000050000000DA00000010010000 + + + + 50013 + 50013 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 3A00000050000000DA00000010010000 + + + + 50014 + 50014 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 3A00000050000000DA00000010010000 + + + + 50015 + 50015 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 3A00000050000000DA00000010010000 + + + + 50016 + 50016 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 3A00000050000000DA00000010010000 + + + + 50017 + 50017 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 3A00000050000000DA00000010010000 + + + + 50018 + 50018 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 3A00000050000000DA00000010010000 + + + + 50019 + 50019 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 3A00000050000000DA00000010010000 + + + + 59392 + 59392 + 1 + 0 + 0 + 0 + 940 + 0 + 8192 + 0 + + 16 + 0000000000000000B70300001C000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59393 + 0 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 00000000E703000080070000FA030000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59399 + 59399 + 1 + 0 + 0 + 0 + 463 + 0 + 8192 + 1 + + 16 + 000000001C000000DA01000038000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59400 + 59400 + 0 + 0 + 0 + 0 + 612 + 0 + 8192 + 2 + + 16 + 00000000380000006F02000054000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 3119 + 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFA4000000D7000000B0030000DB000000000000000100000004000000010000000000000000000000FFFFFFFF06000000CB00000057010000CC000000F08B00005A01000079070000FFFF02000B004354616262656450616E650020000000000000A400000065000000B0030000ED000000A40000004F000000B0030000D70000000000000040280046060000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF0C0300004F0000001003000009020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C30000018000400000000000001003000065000000B00300001F020000100300004F000000B00300000902000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFF10000004F000000F50000007A02000001000000020000100400000001000000EEFEFFFF94020000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000018000100000010000000000000065000000F100000090020000000000004F000000F10000007A0200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF00000000F5010000B0030000F901000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0E0000008F070000930700009407000095070000960700009007000091070000B5010000B8010000B9050000BA050000BB050000BC050000CB09000001800080000000000000000000000F020000B0030000AB02000000000000F9010000B00300009502000000000000404100460E0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFD8010000F9010000DC0100009502000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF000000007A020000800700007E0200000100000001000010040000000100000045FDFFFFD2000000FFFFFFFF04000000C5000000C7000000B40100007794000001800080000001000000000000009402000080070000FD030000000000007E02000080070000E70300000000000040820056040000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657301000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 + + + 59392 + File + + 2327 + 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000000F756343656C6C4E756D4F6666736574960000000000000014000F756343656C6C4E756D4F666673657409756343656C6C4E756D0A75634B657956616C756505495350454E094166655744544469730653434F4E46320E42616C616E636550726F636573730A42616C50726F636573730B43544F436865636B566F6C046243544F0343544F04766F69640962536C656570466C670A6257616B657570466C670C45327369437572724761696E0D4C6F77506F776572436865636B0F53797374656D496E746F536C65657011453275634C6F77506F77657244656C657911453275634453473150574D526174696F4C11453275634453473150574D526174696F480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000020000001500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000000180C8880000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E4C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002880DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002880DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002880E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002880E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000288018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000028800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002880D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002880E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65AC030000 + + + 1423 + 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E1000000000000FFFFFFFF000100000000000000010000000000000001000000018001E1000000000000FFFFFFFF000100000000000000010000000000000001000000018003E1000000000000FFFFFFFF0001000000000000000100000000000000010000000180CD7F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF000000000000000000010000000000000001000000018023E1000000000000FFFFFFFF000100000000000000010000000000000001000000018022E1000000000000FFFFFFFF000100000000000000010000000000000001000000018025E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802BE1000000000000FFFFFFFF00010000000000000001000000000000000100000001802CE1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001807A8A000000000000FFFFFFFF00010000000000000001000000000000000100000001807B8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180D3B0000000000000FFFFFFFF000100000000000000010000000000000001000000018015B1000000000000FFFFFFFF0001000000000000000100000000000000010000000180F4B0000000000000FFFFFFFF000100000000000000010000000000000001000000018036B1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FF88000000000000FFFFFFFF0001000000000000000100000000000000010000000180FE88000000000000FFFFFFFF00010000000000000001000000000000000100000001800B81000000000000FFFFFFFF00010000000000000001000000000000000100000001800C81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180F088000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE7F000000000000FFFFFFFF000100000000000000010000000000000001000000018024E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800A81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802280000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C488000000000000FFFFFFFF0001000000000000000100000000000000010000000180C988000000000000FFFFFFFF0001000000000000000100000000000000010000000180C788000000000000FFFFFFFF0001000000000000000100000000000000010000000180C888000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180DD88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FB7F000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 1423 + 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000000000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000000000C0000000000000000000000000000000001000000010000000180F4B00000000000000D000000000000000000000000000000000100000001000000018036B10000000000000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF880000000000000F0000000000000000000000000000000001000000010000000180FE880000000000001000000000000000000000000000000000010000000100000001800B810000000000001100000000000000000000000000000000010000000100000001800C810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F088000000000000130000000000000000000000000000000001000000010000000180EE7F00000000000014000000000000000000000000000000000100000001000000018024E10000000000001500000000000000000000000000000000010000000100000001800A810000000000001600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000180000000000000000000000000000000001000000010000000180C988000000000000190000000000000000000000000000000001000000010000000180C7880000000000001A0000000000000000000000000000000001000000010000000180C8880000000000001B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180DD880000000000001C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001D000000000000000000000000000000000100000001000000 + + + + 59399 + Build + + 747 + 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E00000000000000000000000000000000010000000100000001809E8A0000000000001F0000000000000000000000000000000001000000010000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050000000000D4D6375466C6173685F4C6F6164960000000000000005000D4D6375466C6173685F4C6F61640D4D6375466C616C73685F4941500C4D6375466C6168735F49535006454550524F4D08426F6F744C6F616400000000000000000000000000000000000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000004004E00000000000000000000000000000000010000000100000001807202000000000400530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64CF010000 + + + 583 + 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000FFFFFFFF0001000000000000000100000000000000010000000180D07F000000000000FFFFFFFF00010000000000000001000000000000000100000001803080000000000000FFFFFFFF00010000000000000001000000000000000100000001809E8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D17F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001804C8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001806680000000000000FFFFFFFF0001000000000000000100000000000000010000000180EB88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180B08A000000000000FFFFFFFF0001000000000000000100000000000000010000000180A801000000000000FFFFFFFF00010000000000000001000000000000000100000001807202000000000000FFFFFFFF0001000000000000000100000000000000010000000180BE01000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 583 + 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000000000000000000000000000000000000001000000010000000180D07F00000000000001000000000000000000000000000000000100000001000000018030800000000000000200000000000000000000000000000000010000000100000001809E8A000000000000030000000000000000000000000000000001000000010000000180D17F0000000000000400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000000500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001806680000000000000060000000000000000000000000000000001000000010000000180EB880000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000080000000000000000000000000000000001000000010000000180B08A000000000000090000000000000000000000000000000001000000010000000180A8010000000000000A000000000000000000000000000000000100000001000000018072020000000000000B0000000000000000000000000000000001000000010000000180BE010000000000000C000000000000000000000000000000000100000001000000 + + + + 59400 + Debug + + 2373 + 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 + + + 898 + 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801780000000000000FFFFFFFF00010000000000000001000000000000000100000001801D80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801A80000000000000FFFFFFFF00010000000000000001000000000000000100000001801B80000000000000FFFFFFFF0001000000000000000100000000000000010000000180E57F000000000000FFFFFFFF00010000000000000001000000000000000100000001801C80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800089000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180E48B000000000000FFFFFFFF0001000000000000000100000000000000010000000180F07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180E888000000000000FFFFFFFF00010000000000000001000000000000000100000001803B01000000000000FFFFFFFF0001000000000000000100000000000000010000000180BB8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D88B000000000000FFFFFFFF0001000000000000000100000000000000010000000180D28B000000000000FFFFFFFF00010000000000000001000000000000000100000001809307000000000000FFFFFFFF0001000000000000000100000000000000010000000180658A000000000000FFFFFFFF0001000000000000000100000000000000010000000180C18A000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE8B000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800189000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 898 + 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000000000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000000100000000000000000000000000000000010000000100000001801D800000000000000200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000000300000000000000000000000000000000010000000100000001801B80000000000000040000000000000000000000000000000001000000010000000180E57F0000000000000500000000000000000000000000000000010000000100000001801C800000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B000000000000080000000000000000000000000000000001000000010000000180F07F000000000000090000000000000000000000000000000001000000010000000180E8880000000000000A00000000000000000000000000000000010000000100000001803B010000000000000B0000000000000000000000000000000001000000010000000180BB8A0000000000000C0000000000000000000000000000000001000000010000000180D88B0000000000000D0000000000000000000000000000000001000000010000000180D28B0000000000000E000000000000000000000000000000000100000001000000018093070000000000000F0000000000000000000000000000000001000000010000000180658A000000000000100000000000000000000000000000000001000000010000000180C18A000000000000110000000000000000000000000000000001000000010000000180EE8B0000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180018900000000000013000000000000000000000000000000000100000001000000 + + + + 0 + 1920 + 1080 + + + + 1 + Debug + + -1 + -1 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 320100004F0000001D06000093000000 + + + 16 + 32010000650000001D060000A9000000 + + + + 1005 + 1005 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000660000002B01000018020000 + + + 16 + 5300000069000000F300000029010000 + + + + 109 + 109 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000660000002B0100000E030000 + + + 16 + 53000000690000000F01000089020000 + + + + 1465 + 1465 + 1 + 0 + 0 + 0 + 32767 + 0 + 16384 + 0 + + 16 + 24060000660000007D070000CE030000 + + + 16 + CE020000FB010000DF06000084020000 + + + + 1466 + 1466 + 0 + 0 + 0 + 0 + 32767 + 0 + 16384 + 0 + + 16 + 24060000660000007D070000CE030000 + + + 16 + CE020000FB010000DF06000084020000 + + + + 1467 + 1467 + 0 + 0 + 0 + 0 + 32767 + 0 + 16384 + 0 + + 16 + 24060000660000007D070000CE030000 + + + 16 + CE020000FB010000DF06000084020000 + + + + 1468 + 1468 + 0 + 0 + 0 + 0 + 32767 + 0 + 16384 + 0 + + 16 + 24060000660000007D070000CE030000 + + + 16 + CE020000FB010000DF06000084020000 + + + + 1506 + 1506 + 0 + 0 + 0 + 0 + 32767 + 0 + 16384 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 5300000069000000F300000029010000 + + + + 1913 + 1913 + 0 + 0 + 0 + 0 + 32767 + 0 + 8192 + 0 + + 16 + 35010000660000001A0600007A000000 + + + 16 + 53000000690000002B020000F1000000 + + + + 1935 + 1935 + 1 + 0 + 0 + 0 + 32767 + 0 + 16384 + 0 + + 16 + 24060000660000007D070000CE030000 + + + 16 + CE020000FB010000DF06000084020000 + + + + 1936 + 1936 + 1 + 0 + 0 + 0 + 32767 + 0 + 16384 + 0 + + 16 + 24060000660000007D070000CE030000 + + + 16 + CE020000FB010000DF06000084020000 + + + + 1937 + 1937 + 0 + 0 + 0 + 0 + 32767 + 0 + 16384 + 0 + + 16 + 24060000660000007D070000CE030000 + + + 16 + CE020000FB010000DF06000084020000 + + + + 1939 + 1939 + 0 + 0 + 0 + 0 + 32767 + 0 + 16384 + 0 + + 16 + 24060000660000007D070000CE030000 + + + 16 + CE020000FB010000DF06000084020000 + + + + 1940 + 1940 + 0 + 0 + 0 + 0 + 32767 + 0 + 16384 + 0 + + 16 + 24060000660000007D070000CE030000 + + + 16 + CE020000FB010000DF06000084020000 + + + + 1941 + 1941 + 0 + 0 + 0 + 0 + 32767 + 0 + 16384 + 0 + + 16 + 24060000660000007D070000CE030000 + + + 16 + CE020000FB010000DF06000084020000 + + + + 1942 + 1942 + 0 + 0 + 0 + 0 + 32767 + 0 + 16384 + 0 + + 16 + 24060000660000007D070000CE030000 + + + 16 + CE020000FB010000DF06000084020000 + + + + 195 + 195 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000660000002B0100000E030000 + + + 16 + 53000000690000000F01000089020000 + + + + 196 + 196 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000660000002B0100000E030000 + + + 16 + 53000000690000000F01000089020000 + + + + 197 + 197 + 1 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 030000004C0200001A060000CE030000 + + + 16 + 53000000690000002B020000F1000000 + + + + 198 + 198 + 1 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 030000004C0200001A060000CE030000 + + + 16 + C7010000210300009F030000A9030000 + + + + 199 + 199 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000004C0200001A060000CE030000 + + + 16 + 53000000690000002B020000F1000000 + + + + 203 + 203 + 1 + 0 + 0 + 0 + 32767 + 0 + 8192 + 0 + + 16 + 32010000630000001D06000093000000 + + + 16 + 53000000690000002B020000F1000000 + + + + 204 + 204 + 0 + 0 + 0 + 0 + 32767 + 0 + 8192 + 0 + + 16 + 35010000660000001A0600007A000000 + + + 16 + 53000000690000002B020000F1000000 + + + + 221 + 221 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 00000000000000000000000000000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 2506 + 2506 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 5300000069000000F300000029010000 + + + + 2507 + 2507 + 0 + 0 + 0 + 0 + 32767 + 0 + 16384 + 0 + + 16 + 24060000660000007D070000CE030000 + + + 16 + CE020000FB010000DF06000084020000 + + + + 343 + 343 + 0 + 0 + 0 + 0 + 32767 + 0 + 8192 + 0 + + 16 + 35010000660000001A0600007A000000 + + + 16 + 53000000690000002B020000F1000000 + + + + 346 + 346 + 0 + 0 + 0 + 0 + 32767 + 0 + 8192 + 0 + + 16 + 35010000660000001A0600007A000000 + + + 16 + 53000000690000002B020000F1000000 + + + + 35824 + 35824 + 0 + 0 + 0 + 0 + 32767 + 0 + 8192 + 0 + + 16 + 35010000660000001A0600007A000000 + + + 16 + 53000000690000002B020000F1000000 + + + + 35885 + 35885 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 5300000069000000F300000029010000 + + + + 35886 + 35886 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 5300000069000000F300000029010000 + + + + 35887 + 35887 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 5300000069000000F300000029010000 + + + + 35888 + 35888 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 5300000069000000F300000029010000 + + + + 35889 + 35889 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 5300000069000000F300000029010000 + + + + 35890 + 35890 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 5300000069000000F300000029010000 + + + + 35891 + 35891 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 5300000069000000F300000029010000 + + + + 35892 + 35892 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 5300000069000000F300000029010000 + + + + 35893 + 35893 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 5300000069000000F300000029010000 + + + + 35894 + 35894 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 5300000069000000F300000029010000 + + + + 35895 + 35895 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 5300000069000000F300000029010000 + + + + 35896 + 35896 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 5300000069000000F300000029010000 + + + + 35897 + 35897 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 5300000069000000F300000029010000 + + + + 35898 + 35898 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 5300000069000000F300000029010000 + + + + 35899 + 35899 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 5300000069000000F300000029010000 + + + + 35900 + 35900 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 5300000069000000F300000029010000 + + + + 35901 + 35901 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 5300000069000000F300000029010000 + + + + 35902 + 35902 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 5300000069000000F300000029010000 + + + + 35903 + 35903 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 5300000069000000F300000029010000 + + + + 35904 + 35904 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 5300000069000000F300000029010000 + + + + 35905 + 35905 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 5300000069000000F300000029010000 + + + + 38003 + 38003 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000660000002B01000018020000 + + + 16 + 53000000690000000F01000089020000 + + + + 38007 + 38007 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000004C0200001A060000CE030000 + + + 16 + 53000000690000002B020000F1000000 + + + + 436 + 436 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000004C0200001A060000D8020000 + + + 16 + 53000000690000000F01000089020000 + + + + 437 + 437 + 0 + 0 + 0 + 0 + 32767 + 0 + 16384 + 0 + + 16 + 24060000660000007D070000CE030000 + + + 16 + CE020000FB010000DF06000084020000 + + + + 440 + 440 + 0 + 0 + 0 + 0 + 32767 + 0 + 16384 + 0 + + 16 + 24060000660000007D070000CE030000 + + + 16 + CE020000FB010000DF06000084020000 + + + + 50000 + 50000 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 5300000069000000F300000029010000 + + + + 50001 + 50001 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 5300000069000000F300000029010000 + + + + 50002 + 50002 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 5300000069000000F300000029010000 + + + + 50003 + 50003 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 5300000069000000F300000029010000 + + + + 50004 + 50004 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 5300000069000000F300000029010000 + + + + 50005 + 50005 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 5300000069000000F300000029010000 + + + + 50006 + 50006 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 5300000069000000F300000029010000 + + + + 50007 + 50007 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 5300000069000000F300000029010000 + + + + 50008 + 50008 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 5300000069000000F300000029010000 + + + + 50009 + 50009 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 5300000069000000F300000029010000 + + + + 50010 + 50010 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 5300000069000000F300000029010000 + + + + 50011 + 50011 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 5300000069000000F300000029010000 + + + + 50012 + 50012 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 5300000069000000F300000029010000 + + + + 50013 + 50013 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 5300000069000000F300000029010000 + + + + 50014 + 50014 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 50015 + 50015 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 50016 + 50016 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 50017 + 50017 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 50018 + 50018 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 50019 + 50019 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1303000066000000AD030000F0010000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59392 + 59392 + 1 + 0 + 0 + 0 + 940 + 0 + 8192 + 0 + + 16 + 0000000000000000B70300001C000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59393 + 0 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 00000000E703000080070000FA030000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59399 + 59399 + 0 + 0 + 0 + 0 + 463 + 0 + 8192 + 1 + + 16 + 000000001C000000DA01000038000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59400 + 59400 + 1 + 0 + 0 + 0 + 612 + 0 + 8192 + 2 + + 16 + 020000001C0000007102000038000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 3082 + 000000000A000000000000000020000001000000FFFFFFFFFFFFFFFF32010000930000001D0600009700000001000000010000100400000001000000BCFFFFFF4D020000FFFFFFFF06000000CB00000057010000CC000000F08B00005A01000079070000FFFF02000B004354616262656450616E65002000000100000032010000650000001D060000A9000000320100004F0000001D060000930000000000000040280056060000000B446973617373656D626C7901000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF0C0300004F0000001003000009020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C30000018000400000000000001003000065000000B00300001F020000100300004F000000B00300000902000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF2E0100004F0000003201000031020000010000000200001004000000010000001CFFFFFFA9020000FFFFFFFF05000000ED0300006D000000C3000000C4000000739400000180001000000100000000000000650000002E0100003D030000000000004F0000002E010000310200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73000000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7300000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657300000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273010000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000001000000FFFFFFFFFFFFFFFF00000000310200001D060000350200000100000001000010040000000100000075FDFFFFBA000000FFFFFFFF05000000C5000000C7000000B401000077940000C60000000180008000000100000000000000410300001D060000FD03000000000000350200001D060000E70300000000000040820056050000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657301000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0642726F777365010000007794000001000000FFFFFFFFFFFFFFFF07436F6D6D616E6401000000C600000001000000FFFFFFFFFFFFFFFF01000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000040000001000000FFFFFFFFFFFFFFFF1D0600004F00000021060000E7030000010000000200001004000000010000007BFDFFFF3E01000000000000000000000000000001000000FFFFFFFF0E0000008F070000930700009407000095070000960700009007000091070000B5010000B8010000B9050000BA050000BB050000BC050000CB09000001800040000001000000210600006500000080070000FD030000210600004F00000080070000E703000000000000404100560E0000001343616C6C20537461636B202B204C6F63616C73010000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031010000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF084D656D6F7279203101000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFF0500000000000000000000000000000000000000000000000000000001000000FFFFFFFF8F07000001000000FFFFFFFF8F070000000000000000000000000000 + + + 59392 + File + + 2141 + 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE80300000000000000000000000000000000000000000000000100000001000000960000000200205000000000094D656D6F727953657496000000000000000800114D6375466C61736857724F6E65427974650B5561727453656E6441636B094D656D6F72795365740D453275635265736572766564310D453275635265736572766564300B525443496E697454696D650A4D656D6F7279436F7079063058303037450000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000020003001500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000000180C8880000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E4C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002880DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002880DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002880E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002880E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000288018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000028800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002880D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002880E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65AC030000 + + + 1423 + 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E1000000000000FFFFFFFF000100000000000000010000000000000001000000018001E1000000000000FFFFFFFF000100000000000000010000000000000001000000018003E1000000000000FFFFFFFF0001000000000000000100000000000000010000000180CD7F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF000000000000000000010000000000000001000000018023E1000000000000FFFFFFFF000100000000000000010000000000000001000000018022E1000000000000FFFFFFFF000100000000000000010000000000000001000000018025E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802BE1000000000000FFFFFFFF00010000000000000001000000000000000100000001802CE1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001807A8A000000000000FFFFFFFF00010000000000000001000000000000000100000001807B8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180D3B0000000000000FFFFFFFF000100000000000000010000000000000001000000018015B1000000000000FFFFFFFF0001000000000000000100000000000000010000000180F4B0000000000000FFFFFFFF000100000000000000010000000000000001000000018036B1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FF88000000000000FFFFFFFF0001000000000000000100000000000000010000000180FE88000000000000FFFFFFFF00010000000000000001000000000000000100000001800B81000000000000FFFFFFFF00010000000000000001000000000000000100000001800C81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180F088000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE7F000000000000FFFFFFFF000100000000000000010000000000000001000000018024E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800A81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802280000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C488000000000000FFFFFFFF0001000000000000000100000000000000010000000180C988000000000000FFFFFFFF0001000000000000000100000000000000010000000180C788000000000000FFFFFFFF0001000000000000000100000000000000010000000180C888000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180DD88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FB7F000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 1423 + 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000000000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000000000C0000000000000000000000000000000001000000010000000180F4B00000000000000D000000000000000000000000000000000100000001000000018036B10000000000000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF880000000000000F0000000000000000000000000000000001000000010000000180FE880000000000001000000000000000000000000000000000010000000100000001800B810000000000001100000000000000000000000000000000010000000100000001800C810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F088000000000000130000000000000000000000000000000001000000010000000180EE7F00000000000014000000000000000000000000000000000100000001000000018024E10000000000001500000000000000000000000000000000010000000100000001800A810000000000001600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000180000000000000000000000000000000001000000010000000180C988000000000000190000000000000000000000000000000001000000010000000180C7880000000000001A0000000000000000000000000000000001000000010000000180C8880000000000001B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180DD880000000000001C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001D000000000000000000000000000000000100000001000000 + + + + 59399 + Build + + 657 + 00200000000000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E00000000000000000000000000000000010000000100000001809E8A0000000000001F0000000000000000000000000000000001000000010000000180D17F0000000000002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050FFFFFFFF00960000000000000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000000240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64CF010000 + + + 583 + 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000FFFFFFFF0001000000000000000100000000000000010000000180D07F000000000000FFFFFFFF00010000000000000001000000000000000100000001803080000000000000FFFFFFFF00010000000000000001000000000000000100000001809E8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D17F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001804C8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001806680000000000000FFFFFFFF0001000000000000000100000000000000010000000180EB88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180B08A000000000000FFFFFFFF0001000000000000000100000000000000010000000180A801000000000000FFFFFFFF00010000000000000001000000000000000100000001807202000000000000FFFFFFFF0001000000000000000100000000000000010000000180BE01000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 583 + 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000000000000000000000000000000000000001000000010000000180D07F00000000000001000000000000000000000000000000000100000001000000018030800000000000000200000000000000000000000000000000010000000100000001809E8A000000000000030000000000000000000000000000000001000000010000000180D17F0000000000000400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000000500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001806680000000000000060000000000000000000000000000000001000000010000000180EB880000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000080000000000000000000000000000000001000000010000000180B08A000000000000090000000000000000000000000000000001000000010000000180A8010000000000000A000000000000000000000000000000000100000001000000018072020000000000000B0000000000000000000000000000000001000000010000000180BE010000000000000C000000000000000000000000000000000100000001000000 + + + + 59400 + Debug + + 2362 + 00200000010000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000004002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000020001002D0000000000000000000000000000000001000000010000000180F07F0000020001002E0000000000000000000000000000000001000000010000000180E8880000020000003700000000000000000000000000000000010000000100000001803B010000020001002F0000000000000000000000000000000001000000010000000180BB8A00000200010030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000002000100310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F0100000200010032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000002000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000020000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000002000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 + + + 898 + 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801780000000000000FFFFFFFF00010000000000000001000000000000000100000001801D80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801A80000000000000FFFFFFFF00010000000000000001000000000000000100000001801B80000000000000FFFFFFFF0001000000000000000100000000000000010000000180E57F000000000000FFFFFFFF00010000000000000001000000000000000100000001801C80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800089000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180E48B000000000000FFFFFFFF0001000000000000000100000000000000010000000180F07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180E888000000000000FFFFFFFF00010000000000000001000000000000000100000001803B01000000000000FFFFFFFF0001000000000000000100000000000000010000000180BB8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D88B000000000000FFFFFFFF0001000000000000000100000000000000010000000180D28B000000000000FFFFFFFF00010000000000000001000000000000000100000001809307000000000000FFFFFFFF0001000000000000000100000000000000010000000180658A000000000000FFFFFFFF0001000000000000000100000000000000010000000180C18A000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE8B000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800189000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 898 + 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000000000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000000100000000000000000000000000000000010000000100000001801D800000000000000200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000000300000000000000000000000000000000010000000100000001801B80000000000000040000000000000000000000000000000001000000010000000180E57F0000000000000500000000000000000000000000000000010000000100000001801C800000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B000000000000080000000000000000000000000000000001000000010000000180F07F000000000000090000000000000000000000000000000001000000010000000180E8880000000000000A00000000000000000000000000000000010000000100000001803B010000000000000B0000000000000000000000000000000001000000010000000180BB8A0000000000000C0000000000000000000000000000000001000000010000000180D88B0000000000000D0000000000000000000000000000000001000000010000000180D28B0000000000000E000000000000000000000000000000000100000001000000018093070000000000000F0000000000000000000000000000000001000000010000000180658A000000000000100000000000000000000000000000000001000000010000000180C18A000000000000110000000000000000000000000000000001000000010000000180EE8B0000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180018900000000000013000000000000000000000000000000000100000001000000 + + + + 0 + 1920 + 1080 + + + + + + 1 + 0 + + 100 + 0 + + .\code_app\Main.c + 13 + 59 + 69 + 1 + + 0 + + + + +
diff --git a/MCUCore.uvopt b/MCUCore.uvopt new file mode 100644 index 0000000..45b6e2d --- /dev/null +++ b/MCUCore.uvopt @@ -0,0 +1,3960 @@ + + + + 1.0 + +
### uVision Project, (C) Keil Software
+ + + *.c + *.s*; *.src; *.a* + *.obj; *.o + *.lib + *.txt; *.h; *.inc + *.plm + *.cpp + + + + 0 + 0 + + + + McuFlash_Load + 0x0 + MCS-51 + + 24000000 + + 1 + 1 + 1 + 0 + + + 0 + 65535 + 0 + 0 + 0 + + + 120 + 65 + 8 + .\output\ + + + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + + 1 + 0 + 1 + + 0 + + S8051.DLL + + DP51.DLL + -p51 + S8051.DLL + + TP51.DLL + -p51 + + + 0 + 1 + 1 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 0 + 14 + + + + + + + + + + + BIN\SH51A.dll + + + + 0 + PWSTATINFO + 200,50,700 + + + 0 + DLGTP51 + (98=-1,-1,-1,-1,0)(82=-1,-1,-1,-1,0)(83=-1,-1,-1,-1,0)(84=-1,-1,-1,-1,0)(85=-1,-1,-1,-1,0)(80=-1,-1,-1,-1,0)(91=-1,-1,-1,-1,0)(92=-1,-1,-1,-1,0) + + + 0 + SH51A + -J0 -DSH39F003 -V-1072775120 -N-2046820256 -O67176199 -S0 -K0 -C0 -Q0 -L0 -M0 -P0 -T0 -F0 -G0 -H0 -A0 -B0 -E0 -I0 -Z000000000000000000000000000000000000000000 + + + 0 + DLGDP51 + (98=-1,-1,-1,-1,0)(82=-1,-1,-1,-1,0)(83=-1,-1,-1,-1,0)(84=-1,-1,-1,-1,0)(85=-1,-1,-1,-1,0)(80=-1,-1,-1,-1,0)(91=-1,-1,-1,-1,0)(92=-1,-1,-1,-1,0) + + + + + 0 + 1 + E2ucSOC,0x0A + + + 1 + 1 + E2uiCycleCount,0x0A + + + 2 + 1 + E2siDfilterCur,0x0A + + + 3 + 1 + Info,0x0A + + + 4 + 1 + slCadcCurAverage,0x0A + + + 5 + 1 + slCadcCurBuf,0x0A + + + 6 + 1 + E2siCadcGain,0x0A + + + 7 + 1 + E2siCadcOffset,0x0A + + + 8 + 1 + AFE,0x0A + + + 9 + 1 + ucCadcCnt,0x0A + + + 10 + 1 + bISPFlg + + + 11 + 1 + Info + + + 12 + 1 + ucUart1Buf,0x10 + + + 13 + 1 + TWISTA + + + 14 + 1 + TWIBR + + + 15 + 1 + REG.AFEFLAG1 + + + + + 1 + 0 + I:0Xf0 + + + + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + McuFlalsh_IAP + 0x0 + MCS-51 + + 24000000 + + 1 + 1 + 1 + 0 + + + 0 + 65535 + 0 + 0 + 0 + + + 120 + 65 + 8 + .\output\ + + + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + + 1 + 0 + 0 + + 0 + + S8051.DLL + + DP51.DLL + -p51 + S8051.DLL + + TP51.DLL + -p51 + + + 0 + 1 + 1 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 0 + 14 + + + + + + + + + + + BIN\SH51A.dll + + + + 0 + DLGTP51 + (98=-1,-1,-1,-1,0)(82=-1,-1,-1,-1,0)(83=-1,-1,-1,-1,0)(84=-1,-1,-1,-1,0)(85=-1,-1,-1,-1,0)(80=-1,-1,-1,-1,0)(91=-1,-1,-1,-1,0)(92=-1,-1,-1,-1,0) + + + 0 + SH51A + -J0 -DSH39F004 -V-1073496064 -N-2046820256 -O67176199 -S0 -K0 -C0 -Q0 -L0 -M0 -P0 -T0 -F0 -G0 -H0 -A0 -B0 -E0 -I0 -Z000000000000000000000000000000000000000000 + + + 0 + DLGDP51 + (98=-1,-1,-1,-1,0)(82=-1,-1,-1,-1,0)(83=-1,-1,-1,-1,0)(84=-1,-1,-1,-1,0)(85=-1,-1,-1,-1,0)(80=-1,-1,-1,-1,0)(91=-1,-1,-1,-1,0)(92=-1,-1,-1,-1,0) + + + + + 0 + 0 + 354 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + D:\bp-protect\HP-软件方案\SH39F004\Demo Code\SH39F003&F004_DemoCode_V2.12_20221212\SH39F003&F004_DemoCode_V2.12_20221212\code_drv\Protect.c + + +
+ + 1 + 0 + 472 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + D:\bp-protect\HP-软件方案\SH39F004\Demo Code\SH39F003&F004_DemoCode_V2.12_20221212-TWI不传输长度\SH39F003&F004_DemoCode_V2.12_20221212\code_app\UartApp.c + + +
+ + 2 + 0 + 46 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + D:\bp-protect\HP-软件方案\SH39F004\Demo Code\SH39F003&F004_DemoCode_V2.12_20221212-TWI不传输长度\SH39F003&F004_DemoCode_V2.12_20221212\code_drv\TWI.c + + +
+ + 3 + 0 + 23 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + C:\Users\wenhua.wang\Desktop\demo方案&user guide优化\SH39F003&F004_DemoCode_V2.13_20230309\code_app\Main.c + + +
+ + 4 + 0 + 29 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + C:\Users\wenhua.wang\Desktop\demo方案&user guide优化\SH39F003&F004_DemoCode_V2.13_20230309\code_app\Main.c + + +
+ + 5 + 0 + 52 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + C:\Users\wenhua.wang\Desktop\demo方案&user guide优化\SH39F003&F004_DemoCode_V2.14\SH39F003&F004_DemoCode_V2.14_20231012\code_drv\KeyScan.c + + +
+ + 6 + 0 + 21 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + C:\Users\wenhua.wang\Desktop\demo方案&user guide优化\SH39F003&F004_DemoCode_V2.15_20231213\SH39F003&F004_DemoCode_V2.15_20231213\SH39F003&F004_DemoCode_V2.15_20231213\code_drv\BootApp.c + + +
+
+ + + 0 + 1 + E2ucSOC,0x0A + + + 1 + 1 + E2ulLastFCC,0x0A + + + 2 + 1 + E2uiCycleCount,0x0A + + + 3 + 1 + uiDfFCC,0x0A + + + 4 + 1 + uiDfRC,0x0A + + + 5 + 1 + uiRCCharge,0x0A + + + 6 + 1 + uiRCDischarge,0x0A + + + 7 + 1 + uiTempBK,0x0A + + + 8 + 1 + ucCycleGain,0x0A + + + 9 + 1 + uiDfRSOC,0x0A + + + 10 + 1 + slCur,0x0A + + + 11 + 1 + E2siDfilterCur,0x0A + + + 12 + 1 + Info,0x0A + + + 13 + 1 + slCadcCurAverage,0x0A + + + 14 + 1 + slCadcCurBuf,0x0A + + + 15 + 1 + E2siCadcGain,0x0A + + + 16 + 1 + E2siCadcOffset,0x0A + + + 17 + 1 + AFE,0x0A + + + 18 + 1 + ucCadcCnt,0x0A + + + + + 1 + 0 + I:0Xf0 + + + + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + +
+
+ + + McuFlahs_ISP + 0x0 + MCS-51 + + 24000000 + + 1 + 1 + 1 + 0 + + + 0 + 65535 + 0 + 0 + 0 + + + 120 + 65 + 8 + .\output\ + + + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + + 1 + 0 + 0 + + 0 + + S8051.DLL + + DP51.DLL + -p51 + S8051.DLL + + TP51.DLL + -p51 + + + 0 + 1 + 1 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 0 + 14 + + + + + + + + + + + BIN\SH51A.dll + + + + 0 + DLGTP51 + (98=-1,-1,-1,-1,0)(82=-1,-1,-1,-1,0)(83=-1,-1,-1,-1,0)(84=-1,-1,-1,-1,0)(85=-1,-1,-1,-1,0)(80=-1,-1,-1,-1,0)(91=-1,-1,-1,-1,0)(92=-1,-1,-1,-1,0) + + + 0 + SH51A + -J0 -DSH39F004 -V-1073496064 -N-2046820256 -O67176199 -S0 -K0 -C0 -Q0 -L0 -M0 -P0 -T0 -F0 -G0 -H0 -A0 -B0 -E0 -I0 -Z000000000000000000000000000000000000000000 + + + 0 + DLGDP51 + (98=-1,-1,-1,-1,0)(82=-1,-1,-1,-1,0)(83=-1,-1,-1,-1,0)(84=-1,-1,-1,-1,0)(85=-1,-1,-1,-1,0)(80=-1,-1,-1,-1,0)(91=-1,-1,-1,-1,0)(92=-1,-1,-1,-1,0) + + + + + 0 + 0 + 52 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + C:\Users\wenhua.wang\Desktop\demo方案&user guide优化\SH39F003&F004_DemoCode_V2.14\SH39F003&F004_DemoCode_V2.14_20231012\code_drv\KeyScan.c + + +
+
+ + + 0 + 1 + E2ucSOC,0x0A + + + 1 + 1 + E2ulLastFCC,0x0A + + + 2 + 1 + E2uiCycleCount,0x0A + + + 3 + 1 + uiDfFCC,0x0A + + + 4 + 1 + uiDfRC,0x0A + + + 5 + 1 + uiRCCharge,0x0A + + + 6 + 1 + uiRCDischarge,0x0A + + + 7 + 1 + uiTempBK,0x0A + + + 8 + 1 + ucCycleGain,0x0A + + + 9 + 1 + uiDfRSOC,0x0A + + + 10 + 1 + slCur,0x0A + + + 11 + 1 + E2siDfilterCur,0x0A + + + 12 + 1 + Info,0x0A + + + 13 + 1 + slCadcCurAverage,0x0A + + + 14 + 1 + slCadcCurBuf,0x0A + + + 15 + 1 + E2siCadcGain,0x0A + + + 16 + 1 + E2siCadcOffset,0x0A + + + 17 + 1 + AFE,0x0A + + + 18 + 1 + ucCadcCnt,0x0A + + + + + 1 + 0 + I:0Xf0 + + + + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + +
+
+ + + EEPROM + 0x0 + MCS-51 + + 24000000 + + 1 + 1 + 1 + 0 + + + 0 + 65535 + 0 + 0 + 0 + + + 120 + 65 + 8 + .\output\ + + + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + + 1 + 0 + 0 + + 0 + + S8051.DLL + + DP51.DLL + -p51 + S8051.DLL + + TP51.DLL + -p51 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 0 + 9 + + + + + + + + + + + BIN\SH51.DLL + + + + 0 + SH51 + -D -V0 -O67335 -S0 -C0 -L0 -M0 -T0 -F0 -G0 -H0 -Z000000000000000000000000000000000000000000 + + + + + 0 + 0 + 58 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + C:\Users\yangweilei\Desktop\SH39F003&F004_DemoCode_V2.0_200511_hpp\code_drv\McuLib.c + + +
+ + 1 + 0 + 46 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + E:\铅酸电池容量管理方案BMS\DemoCode升级调测\SH39F003&F004_DemoCode_V2.0_2020.06.01.09.37_yangweilei\code_app\Initial.c + + +
+ + 2 + 0 + 48 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + E:\铅酸电池容量管理方案BMS\DemoCode升级调测\SH39F003&F004_DemoCode_V2.0_2020.06.01.09.37_yangweilei\code_app\Initial.c + + +
+ + 3 + 0 + 53 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + E:\铅酸电池容量管理方案BMS\DemoCode升级调测\SH39F003&F004_DemoCode_V2.0_2020.06.01.09.37_yangweilei\code_app\Initial.c + + +
+ + 4 + 0 + 62 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + E:\铅酸电池容量管理方案BMS\DemoCode升级调测\SH39F003&F004_DemoCode_V2.0_2020.06.01.09.37_yangweilei\code_app\Initial.c + + +
+ + 5 + 0 + 90 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + E:\铅酸电池容量管理方案BMS\DemoCode升级调测\SH39F003&F004_DemoCode_V2.0_2020.06.01.09.37_yangweilei\code_app\Main.c + + +
+ + 6 + 0 + 178 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + E:\铅酸电池容量管理方案BMS\DemoCode升级调测\SH39F003&F004_DemoCode_V2.0_2020.06.02.09.35_yangweilei\code_drv\Calculate.c + + +
+ + 7 + 0 + 327 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + E:\SH36730x BMS\DemoCode updata\SH39F003&F004_DemoCode_V2.0_2020.06.04.19.11\code_bootloader\IapIsp.c + + +
+ + 8 + 0 + 331 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + E:\SH36730x BMS\DemoCode updata\SH39F003&F004_DemoCode_V2.0_2020.06.04.19.11\code_bootloader\IapIsp.c + + +
+ + 9 + 0 + 103 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + E:\SH36730x BMS\DemoCode updata\SH39F003&F004_DemoCode_V2.0_2020.06.04.19.11\code_bootloader\Main.c + + +
+ + 10 + 0 + 55 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + E:\SH36730x BMS\DemoCode updata\SH39F003&F004_DemoCode_V2.0_2020.06.06.19.58\code_app\Main.c + + +
+ + 11 + 0 + 309 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + E:\SH36730x BMS\DemoCode updata\SH39F003&F004_DemoCode_V2.0_2020.06.15.10.11 修改内部温度采集,增加CADC随温度调整offset\code_drv\Calculate.c + + +
+ + 12 + 0 + 354 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + D:\bp-protect\HP-软件方案\SH39F004\Demo Code\SH39F003&F004_DemoCode_V2.12_20221212\SH39F003&F004_DemoCode_V2.12_20221212\code_drv\Protect.c + + +
+ + 13 + 0 + 472 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + D:\bp-protect\HP-软件方案\SH39F004\Demo Code\SH39F003&F004_DemoCode_V2.12_20221212-TWI不传输长度\SH39F003&F004_DemoCode_V2.12_20221212\code_app\UartApp.c + + +
+ + 14 + 0 + 23 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + C:\Users\wenhua.wang\Desktop\demo方案&user guide优化\SH39F003&F004_DemoCode_V2.13_20230309\code_app\Main.c + + +
+ + 15 + 0 + 29 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + C:\Users\wenhua.wang\Desktop\demo方案&user guide优化\SH39F003&F004_DemoCode_V2.13_20230309\code_app\Main.c + + +
+ + 16 + 0 + 52 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + C:\Users\wenhua.wang\Desktop\demo方案&user guide优化\SH39F003&F004_DemoCode_V2.14\SH39F003&F004_DemoCode_V2.14_20231012\code_drv\KeyScan.c + + +
+ + 17 + 0 + 21 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + C:\Users\wenhua.wang\Desktop\demo方案&user guide优化\SH39F003&F004_DemoCode_V2.15_20231213\SH39F003&F004_DemoCode_V2.15_20231213\SH39F003&F004_DemoCode_V2.15_20231213\code_drv\BootApp.c + + +
+
+ + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + +
+
+ + + BootLoad + 0x0 + MCS-51 + + 24000000 + + 1 + 1 + 1 + 0 + + + 0 + 65535 + 0 + 0 + 0 + + + 120 + 65 + 8 + .\output\ + + + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + + 1 + 0 + 0 + + 0 + + S8051.DLL + + DP51.DLL + -p51 + S8051.DLL + + TP51.DLL + -p51 + + + 0 + 1 + 1 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 0 + 14 + + + + + + + + + + + BIN\SH51A.dll + + + + 0 + DLGTP51 + (98=-1,-1,-1,-1,0)(82=-1,-1,-1,-1,0)(83=-1,-1,-1,-1,0)(84=-1,-1,-1,-1,0)(85=-1,-1,-1,-1,0)(80=-1,-1,-1,-1,0)(91=-1,-1,-1,-1,0)(92=-1,-1,-1,-1,0) + + + 0 + SH51A + -J0 -DSH39F004 -V-1073512448 -N-2046820256 -O67176199 -S0 -K0 -C0 -Q0 -L0 -M0 -P0 -T0 -F0 -G0 -H0 -A0 -B0 -E0 -I0 -Z000000000000000000000000000000000000000000 + + + 0 + DLGDP51 + (98=-1,-1,-1,-1,0)(82=-1,-1,-1,-1,0)(83=-1,-1,-1,-1,0)(84=-1,-1,-1,-1,0)(85=-1,-1,-1,-1,0)(80=-1,-1,-1,-1,0)(91=-1,-1,-1,-1,0)(92=-1,-1,-1,-1,0) + + + + + 0 + 0 + 23 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + C:\Users\wenhua.wang\Desktop\demo方案&user guide优化\SH39F003&F004_DemoCode_V2.13_20230309\code_app\Main.c + + +
+ + 1 + 0 + 29 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + C:\Users\wenhua.wang\Desktop\demo方案&user guide优化\SH39F003&F004_DemoCode_V2.13_20230309\code_app\Main.c + + +
+ + 2 + 0 + 52 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + C:\Users\wenhua.wang\Desktop\demo方案&user guide优化\SH39F003&F004_DemoCode_V2.14\SH39F003&F004_DemoCode_V2.14_20231012\code_drv\KeyScan.c + + +
+ + 3 + 0 + 21 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + C:\Users\wenhua.wang\Desktop\demo方案&user guide优化\SH39F003&F004_DemoCode_V2.15_20231213\SH39F003&F004_DemoCode_V2.15_20231213\SH39F003&F004_DemoCode_V2.15_20231213\code_drv\BootApp.c + + +
+
+ + + 1 + 0 + I:0Xf0 + + + + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + +
+
+ + + App + 1 + 0 + 0 + + 1 + 1 + 5 + 0 + 0 + 5266323 + 0 + 53104168 + 17768312 + 0 + .\header_app\Main.h + Main.h + + + 1 + 2 + 1 + 0 + 0 + 57 + 0 + 46 + 92 + 0 + .\code_app\Main.c + Main.c + + + 1 + 3 + 1 + 0 + 0 + 8 + 0 + 537 + 565 + 0 + .\code_app\Initial.c + Initial.c + + + 1 + 4 + 1 + 0 + 0 + 63 + 0 + 1 + 41 + 0 + .\code_app\InterruptApp.c + InterruptApp.c + + + 1 + 5 + 1 + 0 + 0 + 47 + 0 + 62 + 62 + 0 + .\code_app\Led.c + Led.c + + + 1 + 6 + 1 + 0 + 0 + 5266323 + 0 + 53104168 + 17768312 + 0 + .\code_app\KeyApp.c + KeyApp.c + + + 1 + 7 + 1 + 0 + 0 + 8 + 0 + 54 + 89 + 0 + .\code_app\LowPower.c + LowPower.c + + + 1 + 8 + 1 + 0 + 0 + 30 + 0 + 158 + 170 + 0 + .\code_app\UartApp.c + UartApp.c + + + 1 + 9 + 1 + 0 + 0 + 11 + 0 + 135 + 181 + 0 + .\code_app\Memory.c + Memory.c + + + 1 + 10 + 5 + 0 + 0 + 5266323 + 0 + 53104168 + 17768312 + 0 + .\readme.txt + readme.txt + + + + + Driver + 1 + 0 + 0 + + 2 + 11 + 1 + 0 + 0 + 5 + 0 + 272 + 272 + 0 + .\code_drv\AFE.c + AFE.c + + + 2 + 12 + 1 + 0 + 0 + 5266323 + 0 + 53104136 + 17768312 + 0 + .\code_drv\Balance.c + Balance.c + + + 2 + 13 + 1 + 0 + 0 + 25 + 0 + 22 + 38 + 0 + .\code_drv\Calculate.c + Calculate.c + + + 2 + 14 + 1 + 0 + 0 + 62 + 0 + 19 + 50 + 0 + .\code_drv\Calibrate.c + Calibrate.c + + + 2 + 15 + 1 + 0 + 0 + 5266323 + 0 + 53104136 + 17768312 + 0 + .\code_drv\ChargerLoad.c + ChargerLoad.c + + + 2 + 16 + 1 + 0 + 0 + 13 + 0 + 349 + 367 + 0 + .\code_drv\ExtE2PRom.c + ExtE2PRom.c + + + 2 + 17 + 1 + 0 + 0 + 5266323 + 0 + 53104136 + 17768312 + 0 + .\code_drv\Interrupt.c + Interrupt.c + + + 2 + 18 + 1 + 0 + 0 + 5266323 + 0 + 53104136 + 17768312 + 0 + .\code_drv\KeyScan.c + KeyScan.c + + + 2 + 19 + 1 + 0 + 0 + 5266323 + 0 + 53104136 + 17768312 + 0 + .\code_drv\McuFlash.c + McuFlash.c + + + 2 + 20 + 1 + 0 + 0 + 5 + 0 + 84 + 84 + 0 + .\code_drv\McuLib.c + McuLib.c + + + 2 + 21 + 1 + 0 + 0 + 5266323 + 0 + 53104136 + 17768312 + 0 + .\code_drv\MosCtrl.c + MosCtrl.c + + + 2 + 22 + 1 + 0 + 0 + 5266323 + 0 + 53104136 + 17768312 + 0 + .\code_drv\PorSelfTest.c + PorSelfTest.c + + + 2 + 23 + 1 + 0 + 0 + 27 + 0 + 143 + 156 + 0 + .\code_drv\Protect.c + Protect.c + + + 2 + 24 + 1 + 0 + 0 + 5266323 + 0 + 53104136 + 17768312 + 0 + .\code_drv\RTC.c + RTC.c + + + 2 + 25 + 1 + 0 + 0 + 14 + 0 + 408 + 408 + 0 + .\code_drv\TWI.c + TWI.c + + + 2 + 26 + 1 + 0 + 0 + 0 + 0 + 103 + 103 + 0 + .\code_drv\Uart.c + Uart.c + + + 2 + 27 + 1 + 0 + 0 + 67 + 0 + 1 + 17 + 0 + .\code_drv\Thermistor.c + Thermistor.c + + + 2 + 28 + 1 + 0 + 0 + 5266323 + 0 + 53104136 + 17768312 + 0 + .\code_drv\TwiIO.c + TwiIO.c + + + 2 + 29 + 2 + 0 + 0 + 5266323 + 0 + 53104136 + 17768312 + 0 + .\code_drv\STARTUP.A51 + STARTUP.A51 + + + + + Gasguage + 1 + 0 + 0 + + 3 + 30 + 1 + 0 + 0 + 5266323 + 0 + 1 + 1 + 0 + .\code_gasguage\GasGaugeInter_V4_13.c + GasGaugeInter_V4_13.c + + + 3 + 31 + 4 + 0 + 0 + 5266323 + 0 + 53104296 + 17768312 + 0 + .\code_gasguage\GasGaugeV4_13.LIB + GasGaugeV4_13.LIB + + + + + AppBoot + 1 + 0 + 0 + + 4 + 32 + 1 + 0 + 0 + 5266323 + 0 + 53103992 + 17768312 + 0 + .\code_drv\BootApp.c + BootApp.c + + + 4 + 33 + 1 + 0 + 0 + 5266323 + 0 + 53103992 + 17768312 + 0 + .\code_drv\BootIAP.c + BootIAP.c + + + + + EEPROM + 1 + 0 + 0 + + 5 + 34 + 1 + 0 + 0 + 5266323 + 0 + 53104040 + 17768312 + 0 + .\code_dataflash\DataFlash.c + DataFlash.c + + + + + Header + 0 + 0 + 0 + + 6 + 35 + 5 + 0 + 0 + 5266323 + 0 + 53104408 + 17768312 + 0 + .\header_app\Initial.h + Initial.h + + + 6 + 36 + 5 + 0 + 0 + 5266323 + 0 + 53104408 + 17768312 + 0 + .\header_app\InterruptApp.h + InterruptApp.h + + + 6 + 37 + 5 + 0 + 0 + 5266323 + 0 + 53104408 + 17768312 + 0 + .\header_app\KeyApp.h + KeyApp.h + + + 6 + 38 + 5 + 0 + 0 + 5266323 + 0 + 53104408 + 17768312 + 0 + .\header_app\Led.h + Led.h + + + 6 + 39 + 5 + 0 + 0 + 5266323 + 0 + 53104408 + 17768312 + 0 + .\header_app\LowPower.h + LowPower.h + + + 6 + 40 + 5 + 0 + 0 + 5266323 + 0 + 53104408 + 17768312 + 0 + .\header_app\Main.h + Main.h + + + 6 + 41 + 5 + 0 + 0 + 5266323 + 0 + 53104408 + 17768312 + 0 + .\header_app\Memory.h + Memory.h + + + 6 + 42 + 5 + 0 + 0 + 5266323 + 0 + 53104408 + 17768312 + 0 + .\header_app\UartApp.h + UartApp.h + + + 6 + 43 + 5 + 0 + 0 + 5266323 + 0 + 53104408 + 17768312 + 0 + .\header_drv\Afe.h + Afe.h + + + 6 + 44 + 5 + 0 + 0 + 5266323 + 0 + 53104408 + 17768312 + 0 + .\header_drv\Balance.h + Balance.h + + + 6 + 45 + 5 + 0 + 0 + 5266323 + 0 + 53104408 + 17768312 + 0 + .\header_drv\c51_type.h + c51_type.h + + + 6 + 46 + 5 + 0 + 0 + 5266323 + 0 + 53104408 + 17768312 + 0 + .\header_drv\Calculate.h + Calculate.h + + + 6 + 47 + 5 + 0 + 0 + 5266323 + 0 + 53104408 + 17768312 + 0 + .\header_drv\Calibrate.h + Calibrate.h + + + 6 + 48 + 5 + 0 + 0 + 5266323 + 0 + 53104408 + 17768312 + 0 + .\header_drv\ChargerLoad.h + ChargerLoad.h + + + 6 + 49 + 5 + 0 + 0 + 5266323 + 0 + 53104408 + 17768312 + 0 + .\header_drv\ExtE2PRom.h + ExtE2PRom.h + + + 6 + 50 + 5 + 0 + 0 + 5266323 + 0 + 53104408 + 17768312 + 0 + .\header_drv\Interrupt.h + Interrupt.h + + + 6 + 51 + 5 + 0 + 0 + 5266323 + 0 + 53104408 + 17768312 + 0 + .\header_drv\ISP.h + ISP.h + + + 6 + 52 + 5 + 0 + 0 + 5266323 + 0 + 53104408 + 17768312 + 0 + .\header_drv\KeyScan.h + KeyScan.h + + + 6 + 53 + 5 + 0 + 0 + 5266323 + 0 + 53104408 + 17768312 + 0 + .\header_drv\McuFlash.h + McuFlash.h + + + 6 + 54 + 5 + 0 + 0 + 5266323 + 0 + 53104408 + 17768312 + 0 + .\header_drv\McuLib.h + McuLib.h + + + 6 + 55 + 5 + 0 + 0 + 5266323 + 0 + 53104408 + 17768312 + 0 + .\header_drv\MCURegister.h + MCURegister.h + + + 6 + 56 + 5 + 0 + 0 + 5266323 + 0 + 53104408 + 17768312 + 0 + .\header_drv\MosCtrl.h + MosCtrl.h + + + 6 + 57 + 5 + 0 + 0 + 5266323 + 0 + 53104408 + 17768312 + 0 + .\header_drv\PorSelfTest.h + PorSelfTest.h + + + 6 + 58 + 5 + 0 + 0 + 5266323 + 0 + 53104408 + 17768312 + 0 + .\header_drv\Protect.h + Protect.h + + + 6 + 59 + 5 + 0 + 0 + 5266323 + 0 + 53104408 + 17768312 + 0 + .\header_drv\RTC.h + RTC.h + + + 6 + 60 + 5 + 0 + 0 + 5266323 + 0 + 53104408 + 17768312 + 0 + .\header_drv\Twi.h + Twi.h + + + 6 + 61 + 5 + 0 + 0 + 5266323 + 0 + 53104408 + 17768312 + 0 + .\header_drv\Uart.h + Uart.h + + + + + BootLoad + 1 + 0 + 0 + + 7 + 62 + 1 + 0 + 0 + 5266323 + 0 + 53104232 + 17768312 + 0 + .\code_bootloader\Main.c + Main.c + + + 7 + 63 + 1 + 0 + 0 + 5266323 + 0 + 53104232 + 17768312 + 0 + .\code_bootloader\IapIsp.c + IapIsp.c + + + 7 + 64 + 1 + 0 + 0 + 5266323 + 0 + 53104232 + 17768312 + 0 + .\code_bootloader\Flash.c + Flash.c + + + 7 + 65 + 2 + 0 + 0 + 5266323 + 0 + 53104232 + 17768312 + 0 + .\code_bootloader\STARTUP.A51 + STARTUP.A51 + + + + + Default + 1 + Build + 0 + + Default + 1 + + 35824 + 1 + Logic Analyzer + 0 + + 0 + + 1 + 6 + 0 + 0 + 0 + 0 + 210 + 600 + 0 + 0 + 250 + 600 + 1 + 0 + 0 + 0 + + + 59392 + 2 + File + 0 + + 0 + + 1 + 2 + 3 + 0 + 24 + 0 + 50 + 893 + 0 + 0 + 0 + 0 + 100 + 0 + 1 + 0 + + + 59398 + 3 + Build + 0 + + 0 + + 1 + 2 + 3 + 0 + 50 + 0 + 76 + 384 + 0 + 0 + 0 + 0 + 100 + 0 + 0 + 0 + + + 59399 + 4 + Debug + 0 + + 0 + + 1 + 2 + 3 + 0 + 50 + 0 + 76 + 626 + 0 + 0 + 0 + 0 + 100 + 0 + 1 + 0 + + + 197 + 5 + Build Output + 0 + + 0 + + 1 + 2 + 4 + 0 + 780 + 0 + 990 + 1920 + 0 + 0 + 250 + 600 + 100 + 1 + 1 + 0 + + + 198 + 6 + Command + 197 + + 0 + + 1 + 4 + 2 + 0 + 780 + 0 + 990 + 1920 + 0 + 0 + 250 + 600 + 100 + 0 + 1 + 0 + + + 199 + 7 + Find in Files + 198 + + 0 + + 1 + 4 + 2 + 0 + 780 + 0 + 990 + 1920 + 0 + 0 + 250 + 600 + 100 + 0 + 0 + 0 + + + 38007 + 8 + Browse + 199 + + 0 + + 1 + 4 + 2 + 0 + 780 + 0 + 990 + 1920 + 0 + 0 + 250 + 600 + 100 + 0 + 0 + 0 + + + 1939 + 9 + UART #1 + 38007 + + 0 + + 1 + 4 + 2 + 0 + 780 + 0 + 990 + 1920 + 0 + 0 + 250 + 600 + 100 + 0 + 0 + 0 + + + 1940 + 10 + UART #2 + 1939 + + 0 + + 1 + 4 + 2 + 0 + 780 + 0 + 990 + 1920 + 0 + 0 + 250 + 600 + 100 + 0 + 0 + 0 + + + 1941 + 11 + UART #3 + 1940 + + 0 + + 1 + 4 + 2 + 0 + 780 + 0 + 990 + 1920 + 0 + 0 + 250 + 600 + 100 + 0 + 0 + 0 + + + 1942 + 12 + UART #4 + 1941 + + 0 + + 1 + 4 + 2 + 0 + 780 + 0 + 990 + 1920 + 0 + 0 + 250 + 600 + 100 + 0 + 0 + 0 + + + 1944 + 13 + Call Stack + 197 + + 197 + + 1 + 2 + 2 + 0 + 780 + 0 + 990 + 1920 + 0 + 0 + 600 + 250 + 50 + 1 + 1 + 0 + + + 1507 + 14 + Call Stack + 1944 + + 197 + + 1 + 4 + 2 + 0 + 780 + 0 + 990 + 1920 + 0 + 0 + 600 + 250 + 50 + 0 + 0 + 0 + + + 1935 + 15 + Locals + 1507 + + 197 + + 1 + 4 + 2 + 0 + 780 + 0 + 990 + 1920 + 0 + 0 + 600 + 250 + 50 + 0 + 1 + 0 + + + 1936 + 16 + Watch 1 + 1935 + + 197 + + 1 + 4 + 2 + 0 + 780 + 0 + 990 + 1920 + 0 + 0 + 600 + 250 + 50 + 0 + 1 + 0 + + + 1937 + 17 + Watch 2 + 1936 + + 197 + + 1 + 4 + 2 + 0 + 780 + 0 + 990 + 1920 + 0 + 0 + 600 + 250 + 50 + 0 + 0 + 0 + + + 1465 + 18 + Memory 1 + 1937 + + 197 + + 1 + 4 + 2 + 0 + 780 + 0 + 990 + 1920 + 0 + 0 + 600 + 250 + 50 + 0 + 1 + 0 + + + 1466 + 19 + Memory 2 + 1465 + + 197 + + 1 + 4 + 2 + 0 + 780 + 0 + 990 + 1920 + 0 + 0 + 600 + 250 + 50 + 0 + 0 + 0 + + + 1467 + 20 + Memory 3 + 1466 + + 197 + + 1 + 4 + 2 + 0 + 780 + 0 + 990 + 1920 + 0 + 0 + 600 + 250 + 50 + 0 + 0 + 0 + + + 1468 + 21 + Memory 4 + 1467 + + 197 + + 1 + 4 + 2 + 0 + 780 + 0 + 990 + 1920 + 0 + 0 + 600 + 250 + 50 + 0 + 0 + 0 + + + 1506 + 22 + Symbols + 1468 + + 197 + + 1 + 4 + 2 + 0 + 780 + 0 + 990 + 1920 + 0 + 0 + 600 + 250 + 50 + 0 + 1 + 0 + + + 1005 + 23 + Project + 0 + + 0 + + 1 + 2 + 1 + 0 + 76 + 0 + 776 + 210 + 0 + 0 + 600 + 250 + 100 + 0 + 1 + 0 + + + 109 + 24 + Books + 1005 + + 0 + + 1 + 4 + 2 + 0 + 76 + 0 + 776 + 210 + 0 + 0 + 600 + 250 + 100 + 0 + 0 + 0 + + + 195 + 25 + Functions + 109 + + 0 + + 1 + 4 + 2 + 0 + 76 + 0 + 776 + 210 + 0 + 0 + 600 + 250 + 100 + 0 + 0 + 0 + + + 196 + 26 + Templates + 195 + + 0 + + 1 + 4 + 2 + 0 + 76 + 0 + 776 + 210 + 0 + 0 + 600 + 250 + 100 + 0 + 0 + 0 + + + 38003 + 27 + Registers + 196 + + 0 + + 1 + 4 + 2 + 0 + 76 + 0 + 776 + 210 + 0 + 0 + 600 + 250 + 100 + 1 + 1 + 0 + + + 35885 + 28 + not set + 0 + + 0 + + 1 + 2 + 2 + 0 + 76 + 1710 + 776 + 1920 + 0 + 0 + 600 + 250 + 100 + 0 + 0 + 0 + + + 35886 + 29 + not set + 35885 + + 0 + + 1 + 4 + 2 + 0 + 76 + 1710 + 776 + 1920 + 0 + 0 + 600 + 250 + 100 + 0 + 0 + 0 + + + 35887 + 30 + not set + 35886 + + 0 + + 1 + 4 + 2 + 0 + 76 + 1710 + 776 + 1920 + 0 + 0 + 600 + 250 + 100 + 0 + 0 + 0 + + + 35888 + 31 + not set + 35887 + + 0 + + 1 + 4 + 2 + 0 + 76 + 1710 + 776 + 1920 + 0 + 0 + 600 + 250 + 100 + 0 + 0 + 0 + + + 35889 + 32 + not set + 35888 + + 0 + + 1 + 4 + 2 + 0 + 76 + 1710 + 776 + 1920 + 0 + 0 + 600 + 250 + 100 + 0 + 0 + 0 + + + 35890 + 33 + not set + 35889 + + 0 + + 1 + 4 + 2 + 0 + 76 + 1710 + 776 + 1920 + 0 + 0 + 600 + 250 + 100 + 0 + 0 + 0 + + + 35891 + 34 + not set + 35890 + + 0 + + 1 + 4 + 2 + 0 + 76 + 1710 + 776 + 1920 + 0 + 0 + 600 + 250 + 100 + 0 + 0 + 0 + + + 35892 + 35 + not set + 35891 + + 0 + + 1 + 4 + 2 + 0 + 76 + 1710 + 776 + 1920 + 0 + 0 + 600 + 250 + 100 + 0 + 0 + 0 + + + 35893 + 36 + not set + 35892 + + 0 + + 1 + 4 + 2 + 0 + 76 + 1710 + 776 + 1920 + 0 + 0 + 600 + 250 + 100 + 0 + 0 + 0 + + + 35894 + 37 + not set + 35893 + + 0 + + 1 + 4 + 2 + 0 + 76 + 1710 + 776 + 1920 + 0 + 0 + 600 + 250 + 100 + 0 + 0 + 0 + + + 35895 + 38 + not set + 35894 + + 0 + + 1 + 4 + 2 + 0 + 76 + 1710 + 776 + 1920 + 0 + 0 + 600 + 250 + 100 + 0 + 0 + 0 + + + 35896 + 39 + not set + 35895 + + 0 + + 1 + 4 + 2 + 0 + 76 + 1710 + 776 + 1920 + 0 + 0 + 600 + 250 + 100 + 0 + 0 + 0 + + + 35897 + 40 + not set + 35896 + + 0 + + 1 + 4 + 2 + 0 + 76 + 1710 + 776 + 1920 + 0 + 0 + 600 + 250 + 100 + 0 + 0 + 0 + + + 35898 + 41 + not set + 35897 + + 0 + + 1 + 4 + 2 + 0 + 76 + 1710 + 776 + 1920 + 0 + 0 + 600 + 250 + 100 + 0 + 0 + 0 + + + 35899 + 42 + not set + 35898 + + 0 + + 1 + 4 + 2 + 0 + 76 + 1710 + 776 + 1920 + 0 + 0 + 600 + 250 + 100 + 0 + 0 + 0 + + + 35900 + 43 + not set + 35899 + + 0 + + 1 + 4 + 2 + 0 + 76 + 1710 + 776 + 1920 + 0 + 0 + 600 + 250 + 100 + 0 + 0 + 0 + + + 35901 + 44 + not set + 35900 + + 0 + + 1 + 4 + 2 + 0 + 76 + 1710 + 776 + 1920 + 0 + 0 + 600 + 250 + 100 + 0 + 0 + 0 + + + 35902 + 45 + not set + 35901 + + 0 + + 1 + 4 + 2 + 0 + 76 + 1710 + 776 + 1920 + 0 + 0 + 600 + 250 + 100 + 0 + 0 + 0 + + + 35903 + 46 + not set + 35902 + + 0 + + 1 + 4 + 2 + 0 + 76 + 1710 + 776 + 1920 + 0 + 0 + 600 + 250 + 100 + 0 + 0 + 0 + + + 35904 + 47 + not set + 35903 + + 0 + + 1 + 4 + 2 + 0 + 76 + 1710 + 776 + 1920 + 0 + 0 + 600 + 250 + 100 + 0 + 0 + 0 + + + 35905 + 48 + not set + 35904 + + 0 + + 1 + 4 + 2 + 0 + 76 + 1710 + 776 + 1920 + 0 + 0 + 600 + 250 + 100 + 0 + 0 + 0 + + + 203 + 49 + Disassembly + 0 + + 0 + + 1 + 2 + 3 + 0 + 76 + 214 + 286 + 1920 + 0 + 0 + 250 + 600 + 100 + 1 + 1 + 0 + + + 1913 + 50 + Instruction Trace + 203 + + 0 + + 1 + 4 + 2 + 0 + 76 + 214 + 286 + 1920 + 0 + 0 + 250 + 600 + 100 + 0 + 0 + 0 + + + 343 + 51 + Performance Analyzer + 1913 + + 0 + + 1 + 4 + 2 + 0 + 76 + 214 + 286 + 1920 + 0 + 0 + 250 + 600 + 100 + 0 + 0 + 0 + + + 204 + 52 + Performance Analyzer + 343 + + 0 + + 1 + 4 + 2 + 0 + 76 + 214 + 286 + 1920 + 0 + 0 + 250 + 600 + 100 + 0 + 0 + 0 + + + 346 + 53 + Code Coverage + 204 + + 0 + + 1 + 4 + 2 + 0 + 76 + 214 + 286 + 1920 + 0 + 0 + 250 + 600 + 100 + 0 + 0 + 0 + + + + + + 1 + 0 + + 100 + 0 + + + .\code_app\Main.c + 57 + 46 + 92 + + + .\code_drv\ExtE2PRom.c + 13 + 349 + 367 + + + .\code_app\Memory.c + 11 + 135 + 181 + + + .\code_drv\Calibrate.c + 62 + 19 + 50 + + + .\code_drv\Calculate.c + 25 + 22 + 38 + + + .\code_drv\Thermistor.c + 67 + 1 + 17 + + + .\HEADER_DRV\CALCULATE.H + 14 + 1 + 26 + + + .\code_drv\Protect.c + 27 + 143 + 156 + + + .\code_app\Initial.c + 8 + 537 + 565 + + + .\HEADER_DRV\MCUFLASH.H + 79 + 55 + 64 + + + .\header_app\Main.h + 28 + 1 + 4 + + + .\HEADER_DRV\CALIBRATE.H + 8 + 1 + 5 + + + .\code_drv\AFE.c + 5 + 272 + 272 + + + .\HEADER_DRV\AFE.H + 8 + 1 + 52 + + + \Y\KEIL\ZDBMS\SH39F003&F004_DEMOCODE_V2.15\HEADER_APP\UARTAPP.H + 8 + 65 + 65 + + + .\code_app\InterruptApp.c + 63 + 1 + 41 + + + .\code_drv\McuLib.c + 5 + 84 + 84 + + + .\code_drv\Uart.c + 0 + 103 + 103 + + + .\code_app\UartApp.c + 30 + 158 + 170 + + + .\HEADER_DRV\MCUREGISTER.H + 0 + 316 + 334 + + + .\code_app\Led.c + 47 + 62 + 62 + + + \Y\KEIL\ZDBMS\SH39F003&F004_DEMOCODE_V2.15\HEADER_APP\LED.H + 28 + 1 + 4 + + + .\code_app\LowPower.c + 8 + 54 + 89 + + + .\HEADER_DRV\UART.H + 47 + 1 + 19 + + + + + +
diff --git a/MCUCore.uvproj b/MCUCore.uvproj new file mode 100644 index 0000000..1cad7da --- /dev/null +++ b/MCUCore.uvproj @@ -0,0 +1,4522 @@ + + + + 1.0 + +
### uVision Project, (C) Keil Software
+ + + + McuFlash_Load + 0x0 + MCS-51 + + + SH39F003 + Sinowealth + IRAM(0-0xFF) IROM(0-0xFFFF) XRAM(0-0xAFF) CLOCK(24000000) + + "LIB\STARTUP.A51"("Standard 8051 Startup Code") + + 0 + SH39F003.H + + + + + + + + + + 0 + + + + Sinowealth\ + Sinowealth\ + + 0 + 0 + 0 + 0 + 1 + + .\output\ + MCUCore_Load + 1 + 0 + 1 + 1 + 1 + .\output\ + 0 + 0 + 0 + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 65535 + + + S8051.DLL + + DP51.DLL + -p51 + S8051.DLL + + TP51.DLL + -p51 + + + + 0 + 0 + 0 + 0 + 16 + + + 0 + 1 + 0 + 1 + 1 + 1 + 1 + 1 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + 0 + 14 + + + + + + + + + + + + + + BIN\SH51A.dll + + + + + 1 + 0 + 0 + 1 + 1 + 4106 + + BIN\SH51A.dll + "" () + + + + + 2 + 0 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + 0 + 0x0 + 0xffff + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0xfc00 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x200 + 0x8ff + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x10000 + + + 0 + 0x0 + 0x100 + + + 0 + 0x0 + 0xb00 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + + + 1 + 0 + 1 + 0 + 1 + 3 + 7 + 2 + 0 + 1 + 0 + 4096 + + + + + .\header_app;.\header_drv;.\code_gasguage;.\code_classb\iec60730_lib\include;.\code_classb\iec60730_proc\Include;.\code_classb\config + + + + 0 + 1 + 0 + 1 + + + + + .\code_classb\iec60730_lib\include;.\code_classb\iec60730_proc\Include;.\code_classb\config + + + + 0 + 0 + 1 + 0 + 2 + 1 + + + 16 + + + + + + + + 0X0000-0XFBFF + 0X0200-0X0AFE + + + + + + + ?CO?BootIAP(0x0000) + + + + + + + + + + App + + + Main.h + 5 + .\header_app\Main.h + + + Main.c + 1 + .\code_app\Main.c + + + Initial.c + 1 + .\code_app\Initial.c + + + InterruptApp.c + 1 + .\code_app\InterruptApp.c + + + Led.c + 1 + .\code_app\Led.c + + + KeyApp.c + 1 + .\code_app\KeyApp.c + + + LowPower.c + 1 + .\code_app\LowPower.c + + + UartApp.c + 1 + .\code_app\UartApp.c + + + Memory.c + 1 + .\code_app\Memory.c + + + readme.txt + 5 + .\readme.txt + + + + + Driver + + + AFE.c + 1 + .\code_drv\AFE.c + + + Balance.c + 1 + .\code_drv\Balance.c + + + Calculate.c + 1 + .\code_drv\Calculate.c + + + Calibrate.c + 1 + .\code_drv\Calibrate.c + + + ChargerLoad.c + 1 + .\code_drv\ChargerLoad.c + + + ExtE2PRom.c + 1 + .\code_drv\ExtE2PRom.c + + + Interrupt.c + 1 + .\code_drv\Interrupt.c + + + KeyScan.c + 1 + .\code_drv\KeyScan.c + + + McuFlash.c + 1 + .\code_drv\McuFlash.c + + + McuLib.c + 1 + .\code_drv\McuLib.c + + + MosCtrl.c + 1 + .\code_drv\MosCtrl.c + + + PorSelfTest.c + 1 + .\code_drv\PorSelfTest.c + + + Protect.c + 1 + .\code_drv\Protect.c + + + RTC.c + 1 + .\code_drv\RTC.c + + + TWI.c + 1 + .\code_drv\TWI.c + + + Uart.c + 1 + .\code_drv\Uart.c + + + Thermistor.c + 1 + .\code_drv\Thermistor.c + + + TwiIO.c + 1 + .\code_drv\TwiIO.c + + + STARTUP.A51 + 2 + .\code_drv\STARTUP.A51 + + + + + Gasguage + + + GasGaugeInter_V4_13.c + 1 + .\code_gasguage\GasGaugeInter_V4_13.c + + + GasGaugeV4_13.LIB + 4 + .\code_gasguage\GasGaugeV4_13.LIB + + + + + AppBoot + + + BootApp.c + 1 + .\code_drv\BootApp.c + + + BootIAP.c + 1 + .\code_drv\BootIAP.c + + + + + EEPROM + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 65535 + + + + 2 + 2 + 2 + 2 + 2 + 8 + 10 + 3 + 2 + 2 + 2 + 0 + + + + + + + + + 2 + 2 + 2 + 2 + + + + + + + + + + + + DataFlash.c + 1 + .\code_dataflash\DataFlash.c + + + + + Header + + + Initial.h + 5 + .\header_app\Initial.h + + + InterruptApp.h + 5 + .\header_app\InterruptApp.h + + + KeyApp.h + 5 + .\header_app\KeyApp.h + + + Led.h + 5 + .\header_app\Led.h + + + LowPower.h + 5 + .\header_app\LowPower.h + + + Main.h + 5 + .\header_app\Main.h + + + Memory.h + 5 + .\header_app\Memory.h + + + UartApp.h + 5 + .\header_app\UartApp.h + + + Afe.h + 5 + .\header_drv\Afe.h + + + Balance.h + 5 + .\header_drv\Balance.h + + + c51_type.h + 5 + .\header_drv\c51_type.h + + + Calculate.h + 5 + .\header_drv\Calculate.h + + + Calibrate.h + 5 + .\header_drv\Calibrate.h + + + ChargerLoad.h + 5 + .\header_drv\ChargerLoad.h + + + ExtE2PRom.h + 5 + .\header_drv\ExtE2PRom.h + + + Interrupt.h + 5 + .\header_drv\Interrupt.h + + + ISP.h + 5 + .\header_drv\ISP.h + + + KeyScan.h + 5 + .\header_drv\KeyScan.h + + + McuFlash.h + 5 + .\header_drv\McuFlash.h + + + McuLib.h + 5 + .\header_drv\McuLib.h + + + MCURegister.h + 5 + .\header_drv\MCURegister.h + + + MosCtrl.h + 5 + .\header_drv\MosCtrl.h + + + PorSelfTest.h + 5 + .\header_drv\PorSelfTest.h + + + Protect.h + 5 + .\header_drv\Protect.h + + + RTC.h + 5 + .\header_drv\RTC.h + + + Twi.h + 5 + .\header_drv\Twi.h + + + Uart.h + 5 + .\header_drv\Uart.h + + + + + BootLoad + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 65535 + + + + 2 + 2 + 2 + 2 + 2 + 8 + 10 + 3 + 2 + 2 + 2 + 0 + + + + + + + + + 2 + 2 + 2 + 2 + + + + + + + + + + + + Main.c + 1 + .\code_bootloader\Main.c + + + IapIsp.c + 1 + .\code_bootloader\IapIsp.c + + + Flash.c + 1 + .\code_bootloader\Flash.c + + + STARTUP.A51 + 2 + .\code_bootloader\STARTUP.A51 + + + + + + + McuFlalsh_IAP + 0x0 + MCS-51 + + + SH39F004 + Sinowealth + IRAM(0-0xFF) IROM(0-0xFFFF) XRAM(0-0xAFF) CLOCK(24000000) + + "LIB\STARTUP.A51"("Standard 8051 Startup Code") + + 0 + SH39F004.H + + + + + + + + + + 0 + + + + Sinowealth\ + Sinowealth\ + + 0 + 0 + 0 + 0 + 1 + + .\output\ + McuFlash_IAP + 1 + 0 + 1 + 1 + 1 + .\output\ + 0 + 0 + 0 + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 65535 + + + S8051.DLL + + DP51.DLL + -p51 + S8051.DLL + + TP51.DLL + -p51 + + + + 0 + 0 + 0 + 0 + 16 + + + 0 + 1 + 0 + 1 + 1 + 1 + 1 + 1 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + 0 + 14 + + + + + + + + + + + + + + BIN\SH51A.dll + + + + + 1 + 0 + 0 + 1 + 1 + 4106 + + BIN\SH51A.dll + "" () + + + + + 2 + 0 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + 0 + 0x0 + 0xffff + + + 0 + 0x0 + 0x0 + + + 0 + 0x1000 + 0x7800 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x200 + 0x8ff + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x10000 + + + 0 + 0x0 + 0x100 + + + 0 + 0x0 + 0xb00 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + + + 1 + 0 + 1 + 0 + 1 + 3 + 7 + 2 + 0 + 1 + 0 + 4096 + + + + + .\header_app;.\header_drv;.\code_gasguage + + + + 0 + 1 + 0 + 1 + + + + + .\header_app;.\header_drv;.\code_gasguage;.\code_isp + + + + 0 + 0 + 1 + 0 + 2 + 1 + + + 16 + + + + + + + + 0X1000-0X87FF + 0X0200-0X0AFE + + + + + + + ?CO?DATAFLASH(0x8400) + + + + + + + + + + App + + + Main.h + 5 + .\header_app\Main.h + + + Main.c + 1 + .\code_app\Main.c + + + Initial.c + 1 + .\code_app\Initial.c + + + InterruptApp.c + 1 + .\code_app\InterruptApp.c + + + Led.c + 1 + .\code_app\Led.c + + + KeyApp.c + 1 + .\code_app\KeyApp.c + + + LowPower.c + 1 + .\code_app\LowPower.c + + + UartApp.c + 1 + .\code_app\UartApp.c + + + Memory.c + 1 + .\code_app\Memory.c + + + readme.txt + 5 + .\readme.txt + + + + + Driver + + + AFE.c + 1 + .\code_drv\AFE.c + + + Balance.c + 1 + .\code_drv\Balance.c + + + Calculate.c + 1 + .\code_drv\Calculate.c + + + Calibrate.c + 1 + .\code_drv\Calibrate.c + + + ChargerLoad.c + 1 + .\code_drv\ChargerLoad.c + + + ExtE2PRom.c + 1 + .\code_drv\ExtE2PRom.c + + + Interrupt.c + 1 + .\code_drv\Interrupt.c + + + KeyScan.c + 1 + .\code_drv\KeyScan.c + + + McuFlash.c + 1 + .\code_drv\McuFlash.c + + + McuLib.c + 1 + .\code_drv\McuLib.c + + + MosCtrl.c + 1 + .\code_drv\MosCtrl.c + + + PorSelfTest.c + 1 + .\code_drv\PorSelfTest.c + + + Protect.c + 1 + .\code_drv\Protect.c + + + RTC.c + 1 + .\code_drv\RTC.c + + + TWI.c + 1 + .\code_drv\TWI.c + + + Uart.c + 1 + .\code_drv\Uart.c + + + Thermistor.c + 1 + .\code_drv\Thermistor.c + + + TwiIO.c + 1 + .\code_drv\TwiIO.c + + + STARTUP.A51 + 2 + .\code_drv\STARTUP.A51 + + + + + Gasguage + + + GasGaugeInter_V4_13.c + 1 + .\code_gasguage\GasGaugeInter_V4_13.c + + + GasGaugeV4_13.LIB + 4 + .\code_gasguage\GasGaugeV4_13.LIB + + + + + AppBoot + + + BootApp.c + 1 + .\code_drv\BootApp.c + + + BootIAP.c + 1 + .\code_drv\BootIAP.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 65535 + + + + 2 + 2 + 2 + 2 + 2 + 8 + 10 + 3 + 2 + 2 + 2 + 0 + + + + + + + + + + + + + + EEPROM + + + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + 11 + + + 65535 + + + + 2 + 2 + 2 + 2 + 2 + 8 + 10 + 3 + 2 + 2 + 2 + 0 + + + + + + + + + 2 + 2 + 2 + 2 + + + + + + + + + + + + DataFlash.c + 1 + .\code_dataflash\DataFlash.c + + + + + Header + + + Initial.h + 5 + .\header_app\Initial.h + + + InterruptApp.h + 5 + .\header_app\InterruptApp.h + + + KeyApp.h + 5 + .\header_app\KeyApp.h + + + Led.h + 5 + .\header_app\Led.h + + + LowPower.h + 5 + .\header_app\LowPower.h + + + Main.h + 5 + .\header_app\Main.h + + + Memory.h + 5 + .\header_app\Memory.h + + + UartApp.h + 5 + .\header_app\UartApp.h + + + Afe.h + 5 + .\header_drv\Afe.h + + + Balance.h + 5 + .\header_drv\Balance.h + + + c51_type.h + 5 + .\header_drv\c51_type.h + + + Calculate.h + 5 + .\header_drv\Calculate.h + + + Calibrate.h + 5 + .\header_drv\Calibrate.h + + + ChargerLoad.h + 5 + .\header_drv\ChargerLoad.h + + + ExtE2PRom.h + 5 + .\header_drv\ExtE2PRom.h + + + Interrupt.h + 5 + .\header_drv\Interrupt.h + + + ISP.h + 5 + .\header_drv\ISP.h + + + KeyScan.h + 5 + .\header_drv\KeyScan.h + + + McuFlash.h + 5 + .\header_drv\McuFlash.h + + + McuLib.h + 5 + .\header_drv\McuLib.h + + + MCURegister.h + 5 + .\header_drv\MCURegister.h + + + MosCtrl.h + 5 + .\header_drv\MosCtrl.h + + + PorSelfTest.h + 5 + .\header_drv\PorSelfTest.h + + + Protect.h + 5 + .\header_drv\Protect.h + + + RTC.h + 5 + .\header_drv\RTC.h + + + Twi.h + 5 + .\header_drv\Twi.h + + + Uart.h + 5 + .\header_drv\Uart.h + + + + + BootLoad + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 65535 + + + + 2 + 2 + 2 + 2 + 2 + 8 + 10 + 3 + 2 + 2 + 2 + 0 + + + + + + + + + 2 + 2 + 2 + 2 + + + + + + + + + + + + Main.c + 1 + .\code_bootloader\Main.c + + + IapIsp.c + 1 + .\code_bootloader\IapIsp.c + + + Flash.c + 1 + .\code_bootloader\Flash.c + + + STARTUP.A51 + 2 + .\code_bootloader\STARTUP.A51 + + + + + + + McuFlahs_ISP + 0x0 + MCS-51 + + + SH39F004 + Sinowealth + IRAM(0-0xFF) IROM(0-0xFFFF) XRAM(0-0xAFF) CLOCK(24000000) + + "LIB\STARTUP.A51"("Standard 8051 Startup Code") + + 0 + SH39F004.H + + + + + + + + + + 0 + + + + Sinowealth\ + Sinowealth\ + + 0 + 0 + 0 + 0 + 1 + + .\output\ + McuFlash_ISP + 1 + 0 + 1 + 1 + 1 + .\output\ + 0 + 0 + 0 + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 65535 + + + S8051.DLL + + DP51.DLL + -p51 + S8051.DLL + + TP51.DLL + -p51 + + + + 0 + 0 + 0 + 0 + 16 + + + 0 + 1 + 0 + 1 + 1 + 1 + 1 + 1 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + 0 + 14 + + + + + + + + + + + + + + BIN\SH51A.dll + + + + + 1 + 0 + 0 + 1 + 1 + 4106 + + BIN\SH51A.dll + "" () + + + + + 2 + 0 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + 0 + 0x0 + 0xffff + + + 0 + 0x0 + 0x0 + + + 0 + 0x1000 + 0xec00 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x200 + 0x8ff + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x10000 + + + 0 + 0x0 + 0x100 + + + 0 + 0x0 + 0xb00 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + + + 1 + 0 + 1 + 0 + 1 + 3 + 7 + 2 + 0 + 1 + 0 + 4096 + + + + + .\header_app;.\header_drv;.\code_gasguage + + + + 0 + 1 + 0 + 1 + + + + + + + + + 0 + 0 + 1 + 0 + 2 + 1 + + + 16 + + + + + + + + 0X1000-0XFBFF + 0X0200-0X0AFE + + + + + + + ?CO?DATAFLASH(0xF800) + + + + + + + + + + App + + + Main.h + 5 + .\header_app\Main.h + + + Main.c + 1 + .\code_app\Main.c + + + Initial.c + 1 + .\code_app\Initial.c + + + InterruptApp.c + 1 + .\code_app\InterruptApp.c + + + Led.c + 1 + .\code_app\Led.c + + + KeyApp.c + 1 + .\code_app\KeyApp.c + + + LowPower.c + 1 + .\code_app\LowPower.c + + + UartApp.c + 1 + .\code_app\UartApp.c + + + Memory.c + 1 + .\code_app\Memory.c + + + readme.txt + 5 + .\readme.txt + + + + + Driver + + + AFE.c + 1 + .\code_drv\AFE.c + + + Balance.c + 1 + .\code_drv\Balance.c + + + Calculate.c + 1 + .\code_drv\Calculate.c + + + Calibrate.c + 1 + .\code_drv\Calibrate.c + + + ChargerLoad.c + 1 + .\code_drv\ChargerLoad.c + + + ExtE2PRom.c + 1 + .\code_drv\ExtE2PRom.c + + + Interrupt.c + 1 + .\code_drv\Interrupt.c + + + KeyScan.c + 1 + .\code_drv\KeyScan.c + + + McuFlash.c + 1 + .\code_drv\McuFlash.c + + + McuLib.c + 1 + .\code_drv\McuLib.c + + + MosCtrl.c + 1 + .\code_drv\MosCtrl.c + + + PorSelfTest.c + 1 + .\code_drv\PorSelfTest.c + + + Protect.c + 1 + .\code_drv\Protect.c + + + RTC.c + 1 + .\code_drv\RTC.c + + + TWI.c + 1 + .\code_drv\TWI.c + + + Uart.c + 1 + .\code_drv\Uart.c + + + Thermistor.c + 1 + .\code_drv\Thermistor.c + + + TwiIO.c + 1 + .\code_drv\TwiIO.c + + + STARTUP.A51 + 2 + .\code_drv\STARTUP.A51 + + + + + Gasguage + + + GasGaugeInter_V4_13.c + 1 + .\code_gasguage\GasGaugeInter_V4_13.c + + + GasGaugeV4_13.LIB + 4 + .\code_gasguage\GasGaugeV4_13.LIB + + + + + AppBoot + + + BootApp.c + 1 + .\code_drv\BootApp.c + + + BootIAP.c + 1 + .\code_drv\BootIAP.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 65535 + + + + 2 + 2 + 2 + 2 + 2 + 8 + 10 + 3 + 2 + 2 + 2 + 0 + + + + + + + + + + + + + + EEPROM + + + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + 11 + + + 65535 + + + + 2 + 2 + 2 + 2 + 2 + 8 + 10 + 3 + 2 + 2 + 2 + 0 + + + + + + + + + 2 + 2 + 2 + 2 + + + + + + + + + + + + DataFlash.c + 1 + .\code_dataflash\DataFlash.c + + + + + Header + + + Initial.h + 5 + .\header_app\Initial.h + + + InterruptApp.h + 5 + .\header_app\InterruptApp.h + + + KeyApp.h + 5 + .\header_app\KeyApp.h + + + Led.h + 5 + .\header_app\Led.h + + + LowPower.h + 5 + .\header_app\LowPower.h + + + Main.h + 5 + .\header_app\Main.h + + + Memory.h + 5 + .\header_app\Memory.h + + + UartApp.h + 5 + .\header_app\UartApp.h + + + Afe.h + 5 + .\header_drv\Afe.h + + + Balance.h + 5 + .\header_drv\Balance.h + + + c51_type.h + 5 + .\header_drv\c51_type.h + + + Calculate.h + 5 + .\header_drv\Calculate.h + + + Calibrate.h + 5 + .\header_drv\Calibrate.h + + + ChargerLoad.h + 5 + .\header_drv\ChargerLoad.h + + + ExtE2PRom.h + 5 + .\header_drv\ExtE2PRom.h + + + Interrupt.h + 5 + .\header_drv\Interrupt.h + + + ISP.h + 5 + .\header_drv\ISP.h + + + KeyScan.h + 5 + .\header_drv\KeyScan.h + + + McuFlash.h + 5 + .\header_drv\McuFlash.h + + + McuLib.h + 5 + .\header_drv\McuLib.h + + + MCURegister.h + 5 + .\header_drv\MCURegister.h + + + MosCtrl.h + 5 + .\header_drv\MosCtrl.h + + + PorSelfTest.h + 5 + .\header_drv\PorSelfTest.h + + + Protect.h + 5 + .\header_drv\Protect.h + + + RTC.h + 5 + .\header_drv\RTC.h + + + Twi.h + 5 + .\header_drv\Twi.h + + + Uart.h + 5 + .\header_drv\Uart.h + + + + + BootLoad + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 65535 + + + + 2 + 2 + 2 + 2 + 2 + 8 + 10 + 3 + 2 + 2 + 2 + 0 + + + + + + + + + 2 + 2 + 2 + 2 + + + + + + + + + + + + Main.c + 1 + .\code_bootloader\Main.c + + + IapIsp.c + 1 + .\code_bootloader\IapIsp.c + + + Flash.c + 1 + .\code_bootloader\Flash.c + + + STARTUP.A51 + 2 + .\code_bootloader\STARTUP.A51 + + + + + + + EEPROM + 0x0 + MCS-51 + + + SH39F004 + Sinowealth + IRAM(0-0xFF) IROM(0-0xFFFF) XRAM(0-0xAFF) CLOCK(24000000) + + "LIB\STARTUP.A51"("Standard 8051 Startup Code") + + 0 + SH39F004.H + + + + + + + + + + 0 + + + + Sinowealth\ + Sinowealth\ + + 0 + 0 + 0 + 0 + 1 + + .\output\ + Eeprom + 1 + 0 + 1 + 1 + 1 + .\output\ + 0 + 0 + 0 + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 65535 + + + S8051.DLL + + DP51.DLL + -p51 + S8051.DLL + + TP51.DLL + -p51 + + + + 0 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + 0 + 9 + + + + + + + + + + + + + + BIN\SH51.DLL + + + + + 1 + 0 + 0 + 1 + 1 + 4101 + + BIN\SH51.DLL + + + + + + 2 + 0 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + 0 + 0x0 + 0xffff + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x200 + 0x2ff + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x10000 + + + 0 + 0x0 + 0x100 + + + 0 + 0x0 + 0xb00 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + + + 0 + 0 + 1 + 0 + 1 + 3 + 7 + 2 + 0 + 1 + 0 + 0 + + + + + .\header + + + + 0 + 1 + 0 + 0 + + + + + + + + + 0 + 0 + 1 + 0 + 2 + 1 + + + 16 + + + + + + + + + 0X0200-0X04FE + + + + + + + ?CO?DATAFLASH(0x0000) + + + + + + + + + + App + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 65535 + + + + 2 + 2 + 2 + 2 + 2 + 8 + 10 + 3 + 2 + 2 + 2 + 0 + + + + + + + + + 2 + 2 + 2 + 2 + + + + + + + + + + + + Main.h + 5 + .\header_app\Main.h + + + Main.c + 1 + .\code_app\Main.c + + + Initial.c + 1 + .\code_app\Initial.c + + + InterruptApp.c + 1 + .\code_app\InterruptApp.c + + + Led.c + 1 + .\code_app\Led.c + + + KeyApp.c + 1 + .\code_app\KeyApp.c + + + LowPower.c + 1 + .\code_app\LowPower.c + + + UartApp.c + 1 + .\code_app\UartApp.c + + + Memory.c + 1 + .\code_app\Memory.c + + + readme.txt + 5 + .\readme.txt + + + + + Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 65535 + + + + 2 + 2 + 2 + 2 + 2 + 8 + 10 + 3 + 2 + 2 + 2 + 0 + + + + + + + + + 2 + 2 + 2 + 2 + + + + + + + + + + + + AFE.c + 1 + .\code_drv\AFE.c + + + Balance.c + 1 + .\code_drv\Balance.c + + + Calculate.c + 1 + .\code_drv\Calculate.c + + + Calibrate.c + 1 + .\code_drv\Calibrate.c + + + ChargerLoad.c + 1 + .\code_drv\ChargerLoad.c + + + ExtE2PRom.c + 1 + .\code_drv\ExtE2PRom.c + + + Interrupt.c + 1 + .\code_drv\Interrupt.c + + + KeyScan.c + 1 + .\code_drv\KeyScan.c + + + McuFlash.c + 1 + .\code_drv\McuFlash.c + + + McuLib.c + 1 + .\code_drv\McuLib.c + + + MosCtrl.c + 1 + .\code_drv\MosCtrl.c + + + PorSelfTest.c + 1 + .\code_drv\PorSelfTest.c + + + Protect.c + 1 + .\code_drv\Protect.c + + + RTC.c + 1 + .\code_drv\RTC.c + + + TWI.c + 1 + .\code_drv\TWI.c + + + Uart.c + 1 + .\code_drv\Uart.c + + + Thermistor.c + 1 + .\code_drv\Thermistor.c + + + TwiIO.c + 1 + .\code_drv\TwiIO.c + + + STARTUP.A51 + 2 + .\code_drv\STARTUP.A51 + + + + + Gasguage + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 65535 + + + + 2 + 2 + 2 + 2 + 2 + 8 + 10 + 3 + 2 + 2 + 2 + 0 + + + + + + + + + 2 + 2 + 2 + 2 + + + + + + + + + + + + GasGaugeInter_V4_13.c + 1 + .\code_gasguage\GasGaugeInter_V4_13.c + + + GasGaugeV4_13.LIB + 4 + .\code_gasguage\GasGaugeV4_13.LIB + + + + + AppBoot + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 65535 + + + + 2 + 2 + 2 + 2 + 2 + 8 + 10 + 3 + 2 + 2 + 2 + 0 + + + + + + + + + 2 + 2 + 2 + 2 + + + + + + + + + + + + BootApp.c + 1 + .\code_drv\BootApp.c + + + BootIAP.c + 1 + .\code_drv\BootIAP.c + + + + + EEPROM + + + DataFlash.c + 1 + .\code_dataflash\DataFlash.c + + + + + Header + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 65535 + + + + 2 + 2 + 2 + 2 + 2 + 8 + 10 + 3 + 2 + 2 + 2 + 0 + + + + + + + + + 2 + 2 + 2 + 2 + + + + + + + + + + + + Initial.h + 5 + .\header_app\Initial.h + + + InterruptApp.h + 5 + .\header_app\InterruptApp.h + + + KeyApp.h + 5 + .\header_app\KeyApp.h + + + Led.h + 5 + .\header_app\Led.h + + + LowPower.h + 5 + .\header_app\LowPower.h + + + Main.h + 5 + .\header_app\Main.h + + + Memory.h + 5 + .\header_app\Memory.h + + + UartApp.h + 5 + .\header_app\UartApp.h + + + Afe.h + 5 + .\header_drv\Afe.h + + + Balance.h + 5 + .\header_drv\Balance.h + + + c51_type.h + 5 + .\header_drv\c51_type.h + + + Calculate.h + 5 + .\header_drv\Calculate.h + + + Calibrate.h + 5 + .\header_drv\Calibrate.h + + + ChargerLoad.h + 5 + .\header_drv\ChargerLoad.h + + + ExtE2PRom.h + 5 + .\header_drv\ExtE2PRom.h + + + Interrupt.h + 5 + .\header_drv\Interrupt.h + + + ISP.h + 5 + .\header_drv\ISP.h + + + KeyScan.h + 5 + .\header_drv\KeyScan.h + + + McuFlash.h + 5 + .\header_drv\McuFlash.h + + + McuLib.h + 5 + .\header_drv\McuLib.h + + + MCURegister.h + 5 + .\header_drv\MCURegister.h + + + MosCtrl.h + 5 + .\header_drv\MosCtrl.h + + + PorSelfTest.h + 5 + .\header_drv\PorSelfTest.h + + + Protect.h + 5 + .\header_drv\Protect.h + + + RTC.h + 5 + .\header_drv\RTC.h + + + Twi.h + 5 + .\header_drv\Twi.h + + + Uart.h + 5 + .\header_drv\Uart.h + + + + + BootLoad + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 65535 + + + + 2 + 2 + 2 + 2 + 2 + 8 + 10 + 3 + 2 + 2 + 2 + 0 + + + + + + + + + 2 + 2 + 2 + 2 + + + + + + + + + + + + Main.c + 1 + .\code_bootloader\Main.c + + + IapIsp.c + 1 + .\code_bootloader\IapIsp.c + + + Flash.c + 1 + .\code_bootloader\Flash.c + + + STARTUP.A51 + 2 + .\code_bootloader\STARTUP.A51 + + + + + + + BootLoad + 0x0 + MCS-51 + + + SH39F004 + Sinowealth + IRAM(0-0xFF) IROM(0-0xFFFF) XRAM(0-0xAFF) CLOCK(24000000) + + "LIB\STARTUP.A51"("Standard 8051 Startup Code") + + 0 + SH39F004.H + + + + + + + + + + 0 + + + + Sinowealth\ + Sinowealth\ + + 0 + 0 + 0 + 0 + 1 + + .\output\ + BootLoad + 1 + 0 + 1 + 1 + 1 + .\output\ + 0 + 0 + 0 + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 65535 + + + S8051.DLL + + DP51.DLL + -p51 + S8051.DLL + + TP51.DLL + -p51 + + + + 0 + 0 + 0 + 0 + 16 + + + 0 + 1 + 0 + 1 + 1 + 1 + 1 + 1 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + 0 + 14 + + + + + + + + + + + + + + BIN\SH51A.dll + + + + + 1 + 0 + 0 + 1 + 1 + 4106 + + BIN\SH51A.dll + "" () + + + + + 0 + 0 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + 0 + 0x0 + 0xffff + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x1000 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x10000 + + + 0 + 0x0 + 0x100 + + + 0 + 0x0 + 0xb00 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + + + 0 + 0 + 1 + 0 + 1 + 3 + 8 + 2 + 1 + 1 + 0 + 0 + + + + + .\header_bootloader + + + + 0 + 1 + 0 + 1 + + + + + .\header_bootloader + + + + 0 + 0 + 1 + 0 + 2 + 1 + + + 16 + + + + + + + + 0X0000-0X0FFF + + + + + + + + ?PR?BOOTIAPISP?IAPISP(0xA6) + + + + + + + + + + App + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 65535 + + + + 2 + 2 + 2 + 2 + 2 + 8 + 10 + 3 + 2 + 2 + 2 + 0 + + + + + + + + + 2 + 2 + 2 + 2 + + + + + + + + + + + + Main.h + 5 + .\header_app\Main.h + + + Main.c + 1 + .\code_app\Main.c + + + Initial.c + 1 + .\code_app\Initial.c + + + InterruptApp.c + 1 + .\code_app\InterruptApp.c + + + Led.c + 1 + .\code_app\Led.c + + + KeyApp.c + 1 + .\code_app\KeyApp.c + + + LowPower.c + 1 + .\code_app\LowPower.c + + + UartApp.c + 1 + .\code_app\UartApp.c + + + Memory.c + 1 + .\code_app\Memory.c + + + readme.txt + 5 + .\readme.txt + + + + + Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 65535 + + + + 2 + 2 + 2 + 2 + 2 + 8 + 10 + 3 + 2 + 2 + 2 + 0 + + + + + + + + + 2 + 2 + 2 + 2 + + + + + + + + + + + + AFE.c + 1 + .\code_drv\AFE.c + + + Balance.c + 1 + .\code_drv\Balance.c + + + Calculate.c + 1 + .\code_drv\Calculate.c + + + Calibrate.c + 1 + .\code_drv\Calibrate.c + + + ChargerLoad.c + 1 + .\code_drv\ChargerLoad.c + + + ExtE2PRom.c + 1 + .\code_drv\ExtE2PRom.c + + + Interrupt.c + 1 + .\code_drv\Interrupt.c + + + KeyScan.c + 1 + .\code_drv\KeyScan.c + + + McuFlash.c + 1 + .\code_drv\McuFlash.c + + + McuLib.c + 1 + .\code_drv\McuLib.c + + + MosCtrl.c + 1 + .\code_drv\MosCtrl.c + + + PorSelfTest.c + 1 + .\code_drv\PorSelfTest.c + + + Protect.c + 1 + .\code_drv\Protect.c + + + RTC.c + 1 + .\code_drv\RTC.c + + + TWI.c + 1 + .\code_drv\TWI.c + + + Uart.c + 1 + .\code_drv\Uart.c + + + Thermistor.c + 1 + .\code_drv\Thermistor.c + + + TwiIO.c + 1 + .\code_drv\TwiIO.c + + + STARTUP.A51 + 2 + .\code_drv\STARTUP.A51 + + + + + Gasguage + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 65535 + + + + 2 + 2 + 2 + 2 + 2 + 8 + 10 + 3 + 2 + 2 + 2 + 0 + + + + + + + + + 2 + 2 + 2 + 2 + + + + + + + + + + + + GasGaugeInter_V4_13.c + 1 + .\code_gasguage\GasGaugeInter_V4_13.c + + + GasGaugeV4_13.LIB + 4 + .\code_gasguage\GasGaugeV4_13.LIB + + + + + AppBoot + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 65535 + + + + 2 + 2 + 2 + 2 + 2 + 8 + 10 + 3 + 2 + 2 + 2 + 0 + + + + + + + + + 2 + 2 + 2 + 2 + + + + + + + + + + + + BootApp.c + 1 + .\code_drv\BootApp.c + + + BootIAP.c + 1 + .\code_drv\BootIAP.c + + + + + EEPROM + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 65535 + + + + 2 + 2 + 2 + 2 + 2 + 8 + 10 + 3 + 2 + 2 + 2 + 0 + + + + + + + + + 2 + 2 + 2 + 2 + + + + + + + + + + + + DataFlash.c + 1 + .\code_dataflash\DataFlash.c + + + + + Header + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 65535 + + + + 2 + 2 + 2 + 2 + 2 + 8 + 10 + 3 + 2 + 2 + 2 + 0 + + + + + + + + + 2 + 2 + 2 + 2 + + + + + + + + + + + + Initial.h + 5 + .\header_app\Initial.h + + + InterruptApp.h + 5 + .\header_app\InterruptApp.h + + + KeyApp.h + 5 + .\header_app\KeyApp.h + + + Led.h + 5 + .\header_app\Led.h + + + LowPower.h + 5 + .\header_app\LowPower.h + + + Main.h + 5 + .\header_app\Main.h + + + Memory.h + 5 + .\header_app\Memory.h + + + UartApp.h + 5 + .\header_app\UartApp.h + + + Afe.h + 5 + .\header_drv\Afe.h + + + Balance.h + 5 + .\header_drv\Balance.h + + + c51_type.h + 5 + .\header_drv\c51_type.h + + + Calculate.h + 5 + .\header_drv\Calculate.h + + + Calibrate.h + 5 + .\header_drv\Calibrate.h + + + ChargerLoad.h + 5 + .\header_drv\ChargerLoad.h + + + ExtE2PRom.h + 5 + .\header_drv\ExtE2PRom.h + + + Interrupt.h + 5 + .\header_drv\Interrupt.h + + + ISP.h + 5 + .\header_drv\ISP.h + + + KeyScan.h + 5 + .\header_drv\KeyScan.h + + + McuFlash.h + 5 + .\header_drv\McuFlash.h + + + McuLib.h + 5 + .\header_drv\McuLib.h + + + MCURegister.h + 5 + .\header_drv\MCURegister.h + + + MosCtrl.h + 5 + .\header_drv\MosCtrl.h + + + PorSelfTest.h + 5 + .\header_drv\PorSelfTest.h + + + Protect.h + 5 + .\header_drv\Protect.h + + + RTC.h + 5 + .\header_drv\RTC.h + + + Twi.h + 5 + .\header_drv\Twi.h + + + Uart.h + 5 + .\header_drv\Uart.h + + + + + BootLoad + + + Main.c + 1 + .\code_bootloader\Main.c + + + IapIsp.c + 1 + .\code_bootloader\IapIsp.c + + + Flash.c + 1 + .\code_bootloader\Flash.c + + + STARTUP.A51 + 2 + .\code_bootloader\STARTUP.A51 + + + + + + + +
diff --git a/MCUCore_Load.m51 b/MCUCore_Load.m51 new file mode 100644 index 0000000..a1dac60 --- /dev/null +++ b/MCUCore_Load.m51 @@ -0,0 +1,6984 @@ +BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 1 + + +BL51 BANKED LINKER/LOCATER V6.22, INVOKED BY: +C:\KEIL_V5\C51\BIN\BL51.EXE .\output\Main.obj, .\output\Initial.obj, .\output\InterruptApp.obj, .\output\Led.obj, .\outp +>> ut\KeyApp.obj, .\output\LowPower.obj, .\output\UartApp.obj, .\output\Memory.obj, .\output\AFE.obj, .\output\Balance.o +>> bj, .\output\Calculate.obj, .\output\Calibrate.obj, .\output\ChargerLoad.obj, .\output\ExtE2PRom.obj, .\output\Interr +>> upt.obj, .\output\KeyScan.obj, .\output\McuFlash.obj, .\output\McuLib.obj, .\output\MosCtrl.obj, .\output\PorSelfTest +>> .obj, .\output\Protect.obj, .\output\RTC.obj, .\output\TWI.obj, .\output\Uart.obj, .\output\Thermistor.obj, .\output\ +>> STARTUP.obj, .\output\TwiIO.obj, .\output\GasGaugeInter_V4_13.obj, .\code_gasguage\GasGaugeV4_13.LIB, .\output\BootAp +>> p.obj, .\output\BootIAP.obj TO .\output\MCUCore_Load REGFILE (.\output\MCUCore_Load.ORC) PRINT (.\MCUCore_Load.m51) R +>> AMSIZE (256) DISABLEWARNING (16) CODE (0X0000-0XFFFF, ?CO?BOOTIAP (0X0000)) XDATA (0X0000-0X0CFE) + + +MEMORY MODEL: LARGE WITH FLOATING POINT ARITHMETIC + + +INPUT MODULES INCLUDED: + .\output\Main.obj (MAIN) + .\output\Initial.obj (INITIAL) + .\output\InterruptApp.obj (INTERRUPTAPP) + .\output\Led.obj (LED) + .\output\KeyApp.obj (KEYAPP) + .\output\LowPower.obj (LOWPOWER) + .\output\UartApp.obj (UARTAPP) + .\output\Memory.obj (MEMORY) + .\output\AFE.obj (AFE) + .\output\Balance.obj (BALANCE) + .\output\Calculate.obj (CALCULATE) + .\output\Calibrate.obj (CALIBRATE) + .\output\ChargerLoad.obj (CHARGERLOAD) + .\output\ExtE2PRom.obj (EXTE2PROM) + .\output\Interrupt.obj (INTERRUPT) + .\output\KeyScan.obj (KEYSCAN) + .\output\McuFlash.obj (MCUFLASH) + .\output\McuLib.obj (MCULIB) + .\output\MosCtrl.obj (MOSCTRL) + .\output\PorSelfTest.obj (PORSELFTEST) + .\output\Protect.obj (PROTECT) + .\output\RTC.obj (RTC) + .\output\TWI.obj (TWI) + .\output\Uart.obj (UART) + .\output\Thermistor.obj (THERMISTOR) + .\output\STARTUP.obj (?C_STARTUP) + .\output\TwiIO.obj (TWIIO) + .\output\GasGaugeInter_V4_13.obj (GASGAUGEINTER_V4_13) + .\code_gasguage\GasGaugeV4_13.LIB (GASGAUGEV4_12) + .\output\BootApp.obj (BOOTAPP) + .\output\BootIAP.obj (BOOTIAP) + C:\KEIL_V5\C51\LIB\C51FPL.LIB (?C?FPADD) + C:\KEIL_V5\C51\LIB\C51FPL.LIB (?C?FPMUL) + C:\KEIL_V5\C51\LIB\C51FPL.LIB (?C?FCAST) + C:\KEIL_V5\C51\LIB\C51FPL.LIB (?C?CASTF) + C:\KEIL_V5\C51\LIB\C51FPL.LIB (?C?FPGETOPN) + C:\KEIL_V5\C51\LIB\C51L.LIB (?C_INIT) + C:\KEIL_V5\C51\LIB\C51L.LIB (?C?CLDPTR) + C:\KEIL_V5\C51\LIB\C51L.LIB (?C?IMUL) + C:\KEIL_V5\C51\LIB\C51L.LIB (?C?UIDIV) + C:\KEIL_V5\C51\LIB\C51L.LIB (?C?IILDX) + C:\KEIL_V5\C51\LIB\C51L.LIB (?C?LADD) + C:\KEIL_V5\C51\LIB\C51L.LIB (?C?LSUB) + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 2 + + + C:\KEIL_V5\C51\LIB\C51L.LIB (?C?LMUL) + C:\KEIL_V5\C51\LIB\C51L.LIB (?C?ULDIV) + C:\KEIL_V5\C51\LIB\C51L.LIB (?C?SLDIV) + C:\KEIL_V5\C51\LIB\C51L.LIB (?C?LOR) + C:\KEIL_V5\C51\LIB\C51L.LIB (?C?LNEG) + C:\KEIL_V5\C51\LIB\C51L.LIB (?C?SLCMP) + C:\KEIL_V5\C51\LIB\C51L.LIB (?C?ULCMP) + C:\KEIL_V5\C51\LIB\C51L.LIB (?C?ULSHR) + C:\KEIL_V5\C51\LIB\C51L.LIB (?C?SLSHR) + C:\KEIL_V5\C51\LIB\C51L.LIB (?C?LSHL) + C:\KEIL_V5\C51\LIB\C51L.LIB (?C?LLDIDATA) + C:\KEIL_V5\C51\LIB\C51L.LIB (?C?LLDXDATA) + C:\KEIL_V5\C51\LIB\C51L.LIB (?C?LLDIDATA0) + C:\KEIL_V5\C51\LIB\C51L.LIB (?C?LLDXDATA0) + C:\KEIL_V5\C51\LIB\C51L.LIB (?C?LILDXDATA) + C:\KEIL_V5\C51\LIB\C51L.LIB (?C?LSTIDATA) + C:\KEIL_V5\C51\LIB\C51L.LIB (?C?LSTXDATA) + C:\KEIL_V5\C51\LIB\C51L.LIB (?C?LSTKIDATA) + C:\KEIL_V5\C51\LIB\C51L.LIB (?C?LSTKXDATA) + C:\KEIL_V5\C51\LIB\C51L.LIB (?C?OFFXADD) + C:\KEIL_V5\C51\LIB\C51L.LIB (?C?CCASE) + C:\KEIL_V5\C51\LIB\C51L.LIB (?C?LIMUL) + + +LINK MAP OF MODULE: .\output\MCUCore_Load (MAIN) + + + TYPE BASE LENGTH RELOCATION SEGMENT NAME + ----------------------------------------------------- + + * * * * * * * D A T A M E M O R Y * * * * * * * + REG 0000H 0008H ABSOLUTE "REG BANK 0" + DATA 0008H 0007H UNIT ?DT?KEYSCAN + DATA 000FH 0006H UNIT ?DT?AFE + DATA 0015H 0004H UNIT ?DT?GASGAUGEINTER_V4_13 + DATA 0019H 0002H UNIT _DATA_GROUP_ + IDATA 001BH 0002H UNIT _IDATA_GROUP_ + IDATA 001DH 0001H UNIT ?ID?EXTE2PROM + 001EH 0002H *** GAP *** + DATA 0020H 0007H BIT_ADDR ?BA?MEMORY + BIT 0027H.0 0001H.3 UNIT ?BI?EXTE2PROM + BIT 0028H.3 0001H.2 UNIT ?BI?UARTAPP + BIT 0029H.5 0000H.7 UNIT _BIT_GROUP_ + BIT 002AH.4 0000H.6 UNIT ?BI?GASGAUGEV4_12 + BIT 002BH.2 0000H.5 UNIT ?BI?AFE + BIT 002BH.7 0000H.5 UNIT ?BI?BALANCE + BIT 002CH.4 0000H.4 UNIT ?BI?LOWPOWER + BIT 002DH.0 0000H.4 UNIT ?BI?CHARGERLOAD + BIT 002DH.4 0000H.3 UNIT ?BI?INTERRUPTAPP + BIT 002DH.7 0000H.3 UNIT ?BI?MCUFLASH + BIT 002EH.2 0000H.2 UNIT ?BI?LED + BIT 002EH.4 0000H.2 UNIT ?BI?MOSCTRL + BIT 002EH.6 0000H.2 UNIT ?BI?PROTECT + BIT 002FH.0 0000H.2 UNIT ?BI?RTC + BIT 002FH.2 0000H.1 UNIT ?BI?CALIBRATE + BIT 002FH.3 0000H.1 UNIT ?BI?KEYSCAN + BIT 002FH.4 0000H.1 UNIT ?BI?PORSELFTEST + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 3 + + + 002FH.5 0000H.3 *** GAP *** + IDATA 0030H 000CH UNIT ?ID?GASGAUGEV4_12 + 003CH 0064H *** GAP *** + IDATA 00A0H 0060H ABSOLUTE + + * * * * * * * X D A T A M E M O R Y * * * * * * * + XDATA 0000H 0002H ABSOLUTE + XDATA 0002H 0014H ABSOLUTE + XDATA 0016H 0004H ABSOLUTE + XDATA 001AH 0004H ABSOLUTE + XDATA 001EH 0004H ABSOLUTE + XDATA 0022H 0002H ABSOLUTE + XDATA 0024H 0002H ABSOLUTE + XDATA 0026H 0002H ABSOLUTE + XDATA 0028H 0002H ABSOLUTE + XDATA 002AH 0001H ABSOLUTE + XDATA 002BH 0001H ABSOLUTE + XDATA 002CH 0002H ABSOLUTE + XDATA 002EH 0001H ABSOLUTE + XDATA 002FH 0001H ABSOLUTE + XDATA 0030H 0002H ABSOLUTE + XDATA 0032H 0002H ABSOLUTE + XDATA 0034H 0001H ABSOLUTE + XDATA 0035H 000CH ABSOLUTE + XDATA 0041H 0004H ABSOLUTE + XDATA 0045H 0002H ABSOLUTE + XDATA 0047H 000CH ABSOLUTE + XDATA 0053H 000CH ABSOLUTE + XDATA 005FH 0002H ABSOLUTE + XDATA 0061H 0001H ABSOLUTE + XDATA 0062H 0002H ABSOLUTE + XDATA 0064H 0002H ABSOLUTE + XDATA 0066H 0001H ABSOLUTE + XDATA 0067H 0001H ABSOLUTE + XDATA 0068H 0002H ABSOLUTE + XDATA 006AH 0002H ABSOLUTE + XDATA 006CH 0001H ABSOLUTE + XDATA 006DH 0004H ABSOLUTE + XDATA 0071H 0001H ABSOLUTE + XDATA 0072H 0001H ABSOLUTE + XDATA 0073H 0001H ABSOLUTE + XDATA 0074H 0001H ABSOLUTE + XDATA 0075H 0002H ABSOLUTE + XDATA 0077H 0002H ABSOLUTE + XDATA 0079H 0001H ABSOLUTE + XDATA 007AH 0001H ABSOLUTE + XDATA 007BH 0001H ABSOLUTE + XDATA 007CH 0002H ABSOLUTE + XDATA 007EH 0004H ABSOLUTE + XDATA 0082H 0001H ABSOLUTE + XDATA 0083H 0004H ABSOLUTE + XDATA 0087H 0001H ABSOLUTE + XDATA 0088H 0001H ABSOLUTE + XDATA 0089H 0001H ABSOLUTE + XDATA 008AH 0002H ABSOLUTE + XDATA 008CH 0001H ABSOLUTE + XDATA 008DH 0001H ABSOLUTE + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 4 + + + XDATA 008EH 0001H ABSOLUTE + XDATA 008FH 0002H ABSOLUTE + XDATA 0091H 0002H ABSOLUTE + XDATA 0093H 0002H ABSOLUTE + XDATA 0095H 0002H ABSOLUTE + XDATA 0097H 0001H ABSOLUTE + XDATA 0098H 0001H ABSOLUTE + XDATA 0099H 0001H ABSOLUTE + XDATA 009AH 0002H ABSOLUTE + XDATA 009CH 0002H ABSOLUTE + XDATA 009EH 0002H ABSOLUTE + XDATA 00A0H 0002H ABSOLUTE + XDATA 00A2H 0001H ABSOLUTE + XDATA 00A3H 0002H ABSOLUTE + XDATA 00A5H 0002H ABSOLUTE + XDATA 00A7H 0002H ABSOLUTE + XDATA 00A9H 0001H ABSOLUTE + XDATA 00AAH 0001H ABSOLUTE + XDATA 00ABH 0002H ABSOLUTE + XDATA 00ADH 0001H ABSOLUTE + XDATA 00AEH 0004H ABSOLUTE + XDATA 00B2H 0004H ABSOLUTE + XDATA 00B6H 0004H ABSOLUTE + XDATA 00BAH 0004H ABSOLUTE + XDATA 00BEH 0004H ABSOLUTE + XDATA 00C2H 0002H ABSOLUTE + XDATA 00C4H 0001H ABSOLUTE + XDATA 00C5H 0007H ABSOLUTE + XDATA 00CCH 0001H ABSOLUTE + XDATA 00CDH 0001H ABSOLUTE + XDATA 00CEH 0002H ABSOLUTE + XDATA 00D0H 0001H ABSOLUTE + XDATA 00D1H 0002H ABSOLUTE + XDATA 00D3H 0002H ABSOLUTE + XDATA 00D5H 0002H ABSOLUTE + XDATA 00D7H 0002H ABSOLUTE + XDATA 00D9H 0002H ABSOLUTE + XDATA 00DBH 0001H ABSOLUTE + XDATA 00DCH 0001H ABSOLUTE + XDATA 00DDH 0121H ABSOLUTE + XDATA 01FEH 0002H ABSOLUTE + XDATA 0200H 00B5H UNIT ?XD?AFE + XDATA 02B5H 006DH UNIT ?XD?GASGAUGEINTER_V4_13 + XDATA 0322H 006CH UNIT _XDATA_GROUP_ + XDATA 038EH 002EH UNIT ?XD?GASGAUGEV4_12 + XDATA 03BCH 0022H UNIT ?XD?PROTECT + XDATA 03DEH 0015H UNIT ?XD?EXTE2PROM + XDATA 03F3H 000DH UNIT ?XD?UARTAPP + XDATA 0400H 0096H ABSOLUTE + XDATA 0496H 0008H UNIT ?XD?RTC + XDATA 049EH 0002H UNIT ?XD?CALCULATE + XDATA 04A0H 0096H ABSOLUTE + XDATA 0536H 0006H UNIT ?XD?BALANCE + XDATA 053CH 0004H UNIT ?XD?INTERRUPTAPP + XDATA 0540H 0096H ABSOLUTE + XDATA 05D6H 0012H UNIT ?XD?CALIBRATE + XDATA 05E8H 0003H UNIT ?XD?LED + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 5 + + + XDATA 05EBH 0003H UNIT ?XD?LOWPOWER + XDATA 05EEH 0003H UNIT ?XD?_MCUPWM0SET?MCULIB + XDATA 05F1H 0003H UNIT ?XD?_MCUPWM1SET?MCULIB + XDATA 05F4H 0002H UNIT ?XD?CHARGERLOAD + XDATA 05F6H 0002H UNIT ?XD?MCUFLASH + XDATA 05F8H 0002H UNIT ?XD?GASGAUGEWKUP?GASGAUGEV4_12 + XDATA 05FAH 0001H UNIT ?XD?KEYAPP + XDATA 05FBH 0001H UNIT ?XD?PORSELFTEST + + * * * * * * * C O D E M E M O R Y * * * * * * * + CODE 0000H 1000H UNIT ?CO?BOOTIAP + CODE 1000H 0003H ABSOLUTE + CODE 1003H 0020H UNIT ?PR?INTERRUPTTIMER3?INTERRUPT + CODE 1023H 0003H ABSOLUTE + CODE 1026H 0005H UNIT ?C_INITSEG + CODE 102BH 0003H ABSOLUTE + CODE 102EH 0024H UNIT ?PR?_INTERRUPTINT4APP?INTERRUPTAPP + CODE 1052H 0001H UNIT ?PR?TWIINIT?TWIIO + CODE 1053H 0003H ABSOLUTE + CODE 1056H 0C24H UNIT ?PR?DATAFILTER?GASGAUGEV4_12 + CODE 1C7AH 06CAH UNIT ?PR?GASGAUGEMANAGE?GASGAUGEV4_12 + CODE 2344H 062EH UNIT ?C?LIB_CODE + CODE 2972H 0258H UNIT ?PR?FCCUPDATE?GASGAUGEV4_12 + CODE 2BCAH 0220H UNIT ?PR?GASGAUGEWKUP?GASGAUGEV4_12 + CODE 2DEAH 01F0H UNIT ?PR?_CALCUTEMP?CALCULATE + CODE 2FDAH 01E3H UNIT ?PR?GASGAUGEVARIN?GASGAUGEINTER_V4_13 + CODE 31BDH 01C2H UNIT ?PR?_RTCREADTIME?RTC + CODE 337FH 01B3H UNIT ?PR?_E2PROMBKDATA?EXTE2PROM + CODE 3532H 0181H UNIT ?PR?AFECALCUCURR?CALCULATE + CODE 36B3H 016FH UNIT ?PR?_GASGAUGEINITSOC?GASGAUGEV4_12 + CODE 3822H 0168H UNIT ?PR?GASGAUGEINIT?GASGAUGEV4_12 + CODE 398AH 0167H UNIT ?PR?UART0IAPCHECKHANDSHAKE?UARTAPP + CODE 3AF1H 0163H UNIT ?PR?_TWIREAD?TWIIO + CODE 3C54H 0150H UNIT ?PR?UART0RDCMDPROCESS?UARTAPP + CODE 3DA4H 0144H UNIT ?PR?BALTURNONCHECK?BALANCE + CODE 3EE8H 0142H UNIT ?CO?THERMISTOR + CODE 402AH 0139H UNIT ?PR?_MCUTIMER3SET?MCULIB + CODE 4163H 0138H UNIT ?PR?AFECALCUVOL?CALCULATE + CODE 429BH 011FH UNIT ?PR?GASGAUGEGETOCV?GASGAUGEV4_12 + CODE 43BAH 0100H UNIT ?CO?TWIIO + CODE 44BAH 00E6H UNIT ?PR?AFECALCUTEMPE?CALCULATE + CODE 45A0H 00D7H UNIT ?PR?CORRECTCHGDFRC?GASGAUGEV4_12 + CODE 4677H 00D3H UNIT ?PR?E2PROMBKCHECK?EXTE2PROM + CODE 474AH 00C6H UNIT ?PR?_TWIWRITE?TWIIO + CODE 4810H 00C4H UNIT ?PR?PROTECTOV?PROTECT + CODE 48D4H 00C1H UNIT ?PR?MCUFLASHPROCESS?MCUFLASH + CODE 4995H 00BDH UNIT ?PR?UART0CALICURRENT?UARTAPP + CODE 4A52H 00BCH UNIT ?PR?PROTECTUV?PROTECT + CODE 4B0EH 00BCH UNIT ?PR?PROTECTOTC?PROTECT + CODE 4BCAH 00BCH UNIT ?PR?PROTECTUTC?PROTECT + CODE 4C86H 00BCH UNIT ?PR?PROTECTOTD?PROTECT + CODE 4D42H 00BCH UNIT ?PR?PROTECTUTD?PROTECT + CODE 4DFEH 00BAH UNIT ?PR?BALPROCESS?BALANCE + CODE 4EB8H 00B3H UNIT ?PR?OFFSETCALCULATE?CALCULATE + CODE 4F6BH 00ADH UNIT ?PR?LEDDISPLAY?LED + CODE 5018H 00ACH UNIT ?PR?E2PROMBKPROCESS?EXTE2PROM + CODE 50C4H 00ABH UNIT ?PR?INTERRUPTUART0APPTX?UARTAPP + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 6 + + + CODE 516FH 00A7H UNIT ?PR?UART0WRCMDPROCESS?UARTAPP + CODE 5216H 00A2H UNIT ?PR?_AFEWRITEREG?AFE + CODE 52B8H 00A2H UNIT ?PR?KEYSCAN?KEYSCAN + CODE 535AH 00A1H UNIT ?PR?SYSPARAINIT?INITIAL + CODE 53FBH 009CH UNIT ?PR?_RTCMODIFYTIME?RTC + CODE 5497H 0098H UNIT ?PR?_TWISENDDATA?TWIIO + CODE 552FH 0097H UNIT ?PR?_INTERRUPTUART0APPRX?UARTAPP + CODE 55C6H 0097H UNIT ?PR?_MCUFLASHWRITE?MCUFLASH + CODE 565DH 0094H UNIT ?C_C51STARTUP + CODE 56F1H 008EH UNIT ?PR?LOWPOWERCHECK?LOWPOWER + CODE 577FH 008DH UNIT ?PR?_RTCINITTIME?RTC + CODE 580CH 008CH UNIT ?PR?_MCUFLASHWRSECTOR?MCUFLASH + CODE 5898H 0086H UNIT ?PR?AFEINITREG?AFE + CODE 591EH 0084H UNIT ?PR?_UART0WRITEINFO?UARTAPP + CODE 59A2H 0081H UNIT ?PR?_MCUPWM0SET?MCULIB + CODE 5A23H 0081H UNIT ?PR?_MCUPWM1SET?MCULIB + CODE 5AA4H 0081H UNIT ?PR?_MCUPWM2SET?MCULIB + CODE 5B25H 007DH UNIT ?PR?E2PROMINIT?EXTE2PROM + CODE 5BA2H 0077H UNIT ?PR?_UART0READINFO?UARTAPP + CODE 5C19H 0076H UNIT ?PR?PROTECTOCRECOVER?PROTECT + CODE 5C8FH 0075H UNIT ?PR?MAIN?MAIN + CODE 5D04H 006FH UNIT ?PR?UART1RDE2PROM?EXTE2PROM + CODE 5D73H 006FH UNIT ?PR?UART2RDE2PROM?EXTE2PROM + CODE 5DE2H 006DH UNIT ?PR?CALIVOLTAGE?CALIBRATE + CODE 5E4FH 006CH UNIT ?PR?E2PROMERASE?EXTE2PROM + CODE 5EBBH 006BH UNIT ?PR?INTERRUPTINT4?INTERRUPT + CODE 5F26H 0069H UNIT ?PR?UART0RDE2PROM?EXTE2PROM + CODE 5F8FH 0066H UNIT ?PR?RAMCHECKPROCESS?MCULIB + CODE 5FF5H 0060H UNIT ?PR?_AFEREADREG?AFE + CODE 6055H 005FH UNIT ?PR?KEYSWITCHSPEED?KEYAPP + CODE 60B4H 005FH UNIT ?PR?_MCUFLASHREAD?MCUFLASH + CODE 6113H 005DH UNIT ?PR?AFERAMCHECK?AFE + CODE 6170H 005DH UNIT ?PR?_GETCYCLEGAIN?GASGAUGEV4_12 + CODE 61CDH 005BH UNIT ?PR?_TWIGETDATA?TWIIO + CODE 6228H 005AH UNIT ?PR?_MCUFLASHDATACHECK?MCUFLASH + CODE 6282H 0059H UNIT ?PR?PROTECTOCC?PROTECT + CODE 62DBH 0059H UNIT ?PR?PROTECTOCD1?PROTECT + CODE 6334H 0059H UNIT ?PR?PROTECTOCD2?PROTECT + CODE 638DH 0055H UNIT ?PR?_E2PROMWRITE?EXTE2PROM + CODE 63E2H 0055H UNIT ?PR?_E2PROMREAD?EXTE2PROM + CODE 6437H 0054H UNIT ?PR?UART0CALIRTC?UARTAPP + CODE 648BH 0053H UNIT ?PR?_RTCWRITE?RTC + CODE 64DEH 0052H UNIT ?PR?UART0CALIVOLTAGE?UARTAPP + CODE 6530H 0051H UNIT ?PR?_MCUCLOCKSET?MCULIB + CODE 6581H 0051H UNIT ?PR?_RTCREAD?RTC + CODE 65D2H 0051H UNIT ?PR?INTERRUPTUART0?UART + CODE 6623H 0050H UNIT ?PR?GASGAUGEVAROUT?GASGAUGEINTER_V4_13 + CODE 6673H 004FH UNIT ?PR?INITIAL?INITIAL + CODE 66C2H 004FH UNIT ?PR?CALIPROCESS?CALIBRATE + CODE 6711H 004FH UNIT ?PR?PORPROTECTOTC?PORSELFTEST + CODE 6760H 004FH UNIT ?PR?PORPROTECTUTC?PORSELFTEST + CODE 67AFH 004FH UNIT ?PR?PORPROTECTOTD?PORSELFTEST + CODE 67FEH 004FH UNIT ?PR?PORPROTECTUTD?PORSELFTEST + CODE 684DH 004EH UNIT ?PR?LOADCHECK?CHARGERLOAD + CODE 689BH 004CH UNIT ?PR?E2PROMBKRTC?EXTE2PROM + CODE 68E7H 004CH UNIT ?PR?UART1RDRTC?EXTE2PROM + CODE 6933H 004CH UNIT ?PR?UART2RDRTC?EXTE2PROM + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 7 + + + CODE 697FH 004AH UNIT ?PR?AFEGETVOL?CALCULATE + CODE 69C9H 004AH UNIT ?PR?MOSSTATUSCHECK?MOSCTRL + CODE 6A13H 0049H UNIT ?PR?UART0CALITS1?UARTAPP + CODE 6A5CH 0049H UNIT ?PR?UART0CALITS2?UARTAPP + CODE 6AA5H 0049H UNIT ?PR?CHGERCHECK?CHARGERLOAD + CODE 6AEEH 0048H UNIT ?CO?UARTAPP + CODE 6B36H 0048H UNIT ?PR?AFEGETTEMPE?CALCULATE + CODE 6B7EH 0048H UNIT ?PR?_DELAY1MS?MCULIB + CODE 6BC6H 0048H UNIT ?PR?PORPROTECTOV?PORSELFTEST + CODE 6C0EH 0048H UNIT ?PR?PORPROTECTUV?PORSELFTEST + CODE 6C56H 0046H UNIT ?PR?UART0RDRTC?EXTE2PROM + CODE 6C9CH 0045H UNIT ?PR?UART0WRITEMANUFACTURE?UARTAPP + CODE 6CE1H 0045H UNIT ?PR?CALITS1?CALIBRATE + CODE 6D26H 0045H UNIT ?PR?CALITS2?CALIBRATE + CODE 6D6BH 0044H UNIT ?PR?CALIRTCTIME?CALIBRATE + CODE 6DAFH 0044H UNIT ?C?LDIV + CODE 6DF3H 0043H UNIT ?PR?SYSTEMINTOSLEEP?LOWPOWER + CODE 6E36H 0042H UNIT ?PR?INITVAR?INITIAL + CODE 6E78H 0041H UNIT ?PR?E2PROMBKBOOT?EXTE2PROM + CODE 6EB9H 0040H UNIT ?PR?WAKEUPPROCESS?LOWPOWER + CODE 6EF9H 0040H UNIT ?PR?LOWPOWERPROCESS?LOWPOWER + CODE 6F39H 003FH UNIT ?PR?_LEDGETDISNUM?LED + CODE 6F78H 003FH UNIT ?PR?_AFEBALCTL?AFE + CODE 6FB7H 003DH UNIT ?PR?AFERDFLG?AFE + CODE 6FF4H 003CH UNIT ?PR?AFECLRFLG?AFE + CODE 7030H 003BH UNIT ?PR?CALICURRENTGAIN?CALIBRATE + CODE 706BH 003BH UNIT ?PR?PORSELFTEST?PORSELFTEST + CODE 70A6H 0037H UNIT ?PR?UART0READSUBCLASSID?UARTAPP + CODE 70DDH 0036H UNIT ?PR?UART0CALICUROFFSET?UARTAPP + CODE 7113H 0035H UNIT ?PR?CTOCHECKVOL?BALANCE + CODE 7148H 0035H UNIT ?PR?_MCUFLASHWRONEBYTE?MCUFLASH + CODE 717DH 0035H UNIT ?PR?GASGAUGEIDLE?GASGAUGEV4_12 + CODE 71B2H 0034H UNIT ?PR?INTERRUPTTIMER3APP?INTERRUPTAPP + CODE 71E6H 0034H UNIT ?CO?CALCULATE + CODE 721AH 0033H UNIT ?PR?CLRRAM?MCULIB + CODE 724DH 0033H UNIT ?PR?_MEMORYCOPY?MCULIB + CODE 7280H 0030H UNIT ?PR?KEYPROCESS?KEYAPP + CODE 72B0H 002DH UNIT ?PR?MOSCTRL?MOSCTRL + CODE 72DDH 002CH UNIT ?PR?SYSTEMRESETPROCESS?MCULIB + CODE 7309H 002BH UNIT ?PR?INITGPIO?INITIAL + CODE 7334H 002AH UNIT ?PR?_MEMORYSET?MCULIB + CODE 735EH 0029H UNIT ?PR?TWICHKCLKRELEASE?TWIIO + CODE 7387H 0027H UNIT ?PR?_MCUFLASHCHECKFLG?MCUFLASH + CODE 73AEH 0026H UNIT ?PR?AFEENTERPD?AFE + CODE 73D4H 0026H UNIT ?PR?CTOTURNONCHECK?BALANCE + CODE 73FAH 0026H UNIT ?PR?_MCUFLASHBLANKCHECK?MCUFLASH + CODE 7420H 0024H UNIT ?PR?TWISTART?TWIIO + CODE 7444H 0022H UNIT ?PR?TWISTOP?TWIIO + CODE 7466H 001FH UNIT ?PR?SYSTEMINTOPD?LOWPOWER + CODE 7485H 001FH UNIT ?PR?PROTECTPROCESS?PROTECT + CODE 74A4H 001FH UNIT ?PR?_CRC8CAL?TWIIO + CODE 74C3H 001EH UNIT ?PR?INITIRQ?INITIAL + CODE 74E1H 001DH UNIT ?PR?E2PROMTWICHECK?EXTE2PROM + CODE 74FEH 001DH UNIT ?PR?RTCTWICHECK?RTC + CODE 751BH 001CH UNIT ?PR?UART0INIT?UART + CODE 7537H 001BH UNIT ?PR?TWIRESTART?TWIIO + CODE 7552H 001AH UNIT ?PR?AFETWICHECK?AFE + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 8 + + + CODE 756CH 0019H UNIT ?PR?ISPPROCESS?BOOTAPP + CODE 7585H 0018H UNIT ?PR?AFERDSTATUS?AFE + CODE 759DH 0017H UNIT ?PR?_AFEALARMDIS?AFE + CODE 75B4H 0015H UNIT ?PR?_AFEMOSCTL?AFE + CODE 75C9H 0015H UNIT ?PR?MCUFLASHWRWAITCHECK?MCUFLASH + CODE 75DEH 0014H UNIT ?PR?UART0CHECK?UARTAPP + CODE 75F2H 0014H UNIT ?PR?AFEINFOPROCESS?CALCULATE + CODE 7606H 0013H UNIT ?PR?LEDAUTOOFF?LED + CODE 7619H 0013H UNIT ?PR?AFECHGERCHECKEN?AFE + CODE 762CH 0013H UNIT ?PR?AFECHGERCHECKDIS?AFE + CODE 763FH 0013H UNIT ?PR?AFELOADCHECKEN?AFE + CODE 7652H 0013H UNIT ?PR?AFELOADCHECKDIS?AFE + CODE 7665H 0013H UNIT ?PR?AFEWDTEN?AFE + CODE 7678H 0013H UNIT ?PR?AFEWDTDIS?AFE + CODE 768BH 0013H UNIT ?PR?AFEADCEN?AFE + CODE 769EH 0013H UNIT ?PR?AFEADCDIS?AFE + CODE 76B1H 0013H UNIT ?PR?AFECADCEN?AFE + CODE 76C4H 0013H UNIT ?PR?AFECADCDIS?AFE + CODE 76D7H 0013H UNIT ?PR?AFETEMPADCEN?AFE + CODE 76EAH 0013H UNIT ?PR?AFETEMPADCDIS?AFE + CODE 76FDH 0012H UNIT ?PR?UART0HANDSHAKE?UARTAPP + CODE 770FH 0012H UNIT ?PR?_AFEALARMEN?AFE + CODE 7721H 0010H UNIT ?PR?AFEINIT?AFE + CODE 7731H 0010H UNIT ?PR?CALICURZERO?CALIBRATE + CODE 7741H 000CH UNIT ?PR?MCUINTOIDLE?MCULIB + CODE 774DH 000CH UNIT ?PR?MCUINTOPD?MCULIB + CODE 7759H 000AH UNIT ?PR?BALANCEPROCESS?BALANCE + CODE 7763H 0008H UNIT ?PR?DELAY4US?TWIIO + CODE 776BH 0006H UNIT ?CO?GASGAUGEV4_12 + + + +OVERLAY MAP OF MODULE: .\output\MCUCore_Load (MAIN) + + +SEGMENT BIT_GROUP DATA_GROUP IDATA_GROUP XDATA_GROUP +>> + +--> CALLED SEGMENT START LENGTH START LENGTH START LENGTH START LENG +>> TH +------------------------------------------------------------------------------------------------------------------------ +>> -- +?PR?INTERRUPTINT4?INTERRUPT ----- ----- ----- ----- ----- ----- ----- ---- +>> - + +--> ?PR?_INTERRUPTINT4APP?INTERRUPTAPP + +?PR?_INTERRUPTINT4APP?INTERRUPTAPP ----- ----- ----- ----- ----- ----- ----- ---- +>> - + +--> ?PR?_MCUCLOCKSET?MCULIB + +*** NEW ROOT *************************************************** + +?PR?INTERRUPTTIMER3?INTERRUPT ----- ----- ----- ----- ----- ----- ----- ---- +>> - + +--> ?PR?INTERRUPTTIMER3APP?INTERRUPTAPP + +?PR?INTERRUPTTIMER3APP?INTERRUPTAPP ----- ----- ----- ----- ----- ----- ----- ---- +>> - + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 9 + + + +--> ?PR?KEYSCAN?KEYSCAN + +*** NEW ROOT *************************************************** + +?PR?INTERRUPTUART0?UART ----- ----- ----- ----- ----- ----- ----- ---- +>> - + +--> ?PR?_INTERRUPTUART0APPRX?UARTAPP + +--> ?PR?INTERRUPTUART0APPTX?UARTAPP + +?PR?_INTERRUPTUART0APPRX?UARTAPP ----- ----- ----- ----- ----- ----- ----- ---- +>> - + +--> ?PR?UART0RDCMDPROCESS?UARTAPP + +--> ?PR?UART0WRCMDPROCESS?UARTAPP + +--> ?PR?UART0IAPCHECKHANDSHAKE?UARTAPP + +?PR?UART0RDCMDPROCESS?UARTAPP ----- ----- ----- ----- ----- ----- 0322H 0002 +>> H + +--> ?PR?_UART0READINFO?UARTAPP + +--> ?CO?UARTAPP + +?PR?_UART0READINFO?UARTAPP ----- ----- ----- ----- ----- ----- ----- ---- +>> - + +--> ?PR?_CRC8CAL?TWIIO + +?PR?_CRC8CAL?TWIIO ----- ----- ----- ----- ----- ----- ----- ---- +>> - + +--> ?CO?TWIIO + +?PR?UART0WRCMDPROCESS?UARTAPP ----- ----- ----- ----- ----- ----- 0322H 0002 +>> H + +--> ?PR?UART0WRITEMANUFACTURE?UARTAPP + +--> ?PR?UART0READSUBCLASSID?UARTAPP + +--> ?PR?UART0CALICURRENT?UARTAPP + +--> ?PR?UART0CALIVOLTAGE?UARTAPP + +--> ?PR?UART0CALICUROFFSET?UARTAPP + +--> ?PR?UART0CALITS1?UARTAPP + +--> ?PR?UART0CALITS2?UARTAPP + +--> ?PR?UART0CALIRTC?UARTAPP + +--> ?CO?UARTAPP + +--> ?PR?_UART0WRITEINFO?UARTAPP + +?PR?UART0WRITEMANUFACTURE?UARTAPP ----- ----- ----- ----- ----- ----- ----- ---- +>> - + +--> ?PR?_CRC8CAL?TWIIO + +?PR?UART0READSUBCLASSID?UARTAPP ----- ----- ----- ----- ----- ----- ----- ---- +>> - + +--> ?PR?_CRC8CAL?TWIIO + +?PR?UART0CALICURRENT?UARTAPP ----- ----- ----- ----- ----- ----- ----- ---- +>> - + +--> ?PR?_CRC8CAL?TWIIO + +?PR?UART0CALIVOLTAGE?UARTAPP ----- ----- ----- ----- ----- ----- ----- ---- +>> - + +--> ?PR?_CRC8CAL?TWIIO + + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 10 + + +?PR?UART0CALICUROFFSET?UARTAPP ----- ----- ----- ----- ----- ----- ----- ---- +>> - + +--> ?PR?_CRC8CAL?TWIIO + +?PR?UART0CALITS1?UARTAPP ----- ----- ----- ----- ----- ----- ----- ---- +>> - + +--> ?PR?_CRC8CAL?TWIIO + +?PR?UART0CALITS2?UARTAPP ----- ----- ----- ----- ----- ----- ----- ---- +>> - + +--> ?PR?_CRC8CAL?TWIIO + +?PR?UART0CALIRTC?UARTAPP ----- ----- ----- ----- ----- ----- ----- ---- +>> - + +--> ?PR?_CRC8CAL?TWIIO + +?PR?_UART0WRITEINFO?UARTAPP ----- ----- ----- ----- ----- ----- 0324H 0002 +>> H + +--> ?PR?_CRC8CAL?TWIIO + +?PR?UART0IAPCHECKHANDSHAKE?UARTAPP ----- ----- ----- ----- ----- ----- 0322H 0002 +>> H + +*** NEW ROOT *************************************************** + +?C_C51STARTUP ----- ----- ----- ----- ----- ----- ----- ---- +>> - + +--> ?PR?MAIN?MAIN + +--> ?C_INITSEG + +?PR?MAIN?MAIN ----- ----- ----- ----- ----- ----- ----- ---- +>> - + +--> ?PR?INITIAL?INITIAL + +--> ?PR?KEYPROCESS?KEYAPP + +--> ?PR?AFEINFOPROCESS?CALCULATE + +--> ?PR?BALANCEPROCESS?BALANCE + +--> ?PR?PROTECTPROCESS?PROTECT + +--> ?PR?PORSELFTEST?PORSELFTEST + +--> ?PR?LOADCHECK?CHARGERLOAD + +--> ?PR?CHGERCHECK?CHARGERLOAD + +--> ?PR?MOSCTRL?MOSCTRL + +--> ?PR?PROTECTOCRECOVER?PROTECT + +--> ?PR?LEDDISPLAY?LED + +--> ?PR?UART0CHECK?UARTAPP + +--> ?PR?GASGAUGEMANAGE?GASGAUGEV4_12 + +--> ?PR?AFERAMCHECK?AFE + +--> ?PR?AFETWICHECK?AFE + +--> ?PR?E2PROMTWICHECK?EXTE2PROM + +--> ?PR?RTCTWICHECK?RTC + +--> ?PR?RAMCHECKPROCESS?MCULIB + +--> ?PR?SYSPARAINIT?INITIAL + +--> ?PR?MCUFLASHWRWAITCHECK?MCUFLASH + +--> ?PR?E2PROMBKCHECK?EXTE2PROM + +--> ?PR?LOWPOWERCHECK?LOWPOWER + +--> ?PR?SYSTEMRESETPROCESS?MCULIB + +--> ?PR?ISPPROCESS?BOOTAPP + +--> ?PR?CALIPROCESS?CALIBRATE + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 11 + + + +--> ?PR?MCUFLASHPROCESS?MCUFLASH + +--> ?PR?E2PROMBKPROCESS?EXTE2PROM + +--> ?PR?LOWPOWERPROCESS?LOWPOWER + +?PR?INITIAL?INITIAL ----- ----- ----- ----- ----- ----- ----- ---- +>> - + +--> ?PR?_MCUCLOCKSET?MCULIB + +--> ?PR?INITGPIO?INITIAL + +--> ?PR?CLRRAM?MCULIB + +--> ?PR?SYSPARAINIT?INITIAL + +--> ?PR?INITVAR?INITIAL + +--> ?PR?_MCUTIMER3SET?MCULIB + +--> ?PR?UART0INIT?UART + +--> ?PR?TWIINIT?TWIIO + +--> ?PR?_MCUPWM2SET?MCULIB + +--> ?PR?AFEINITREG?AFE + +--> ?PR?AFEINIT?AFE + +--> ?PR?AFECLRFLG?AFE + +--> ?PR?E2PROMINIT?EXTE2PROM + +--> ?PR?_RTCINITTIME?RTC + +--> ?PR?INITIRQ?INITIAL + +?PR?CLRRAM?MCULIB ----- ----- ----- ----- 001BH 0002H ----- ---- +>> - + +?PR?SYSPARAINIT?INITIAL ----- ----- ----- ----- ----- ----- ----- ---- +>> - + +--> ?PR?_MCUFLASHCHECKFLG?MCUFLASH + +--> ?PR?_MCUFLASHREAD?MCUFLASH + +--> ?PR?_MCUFLASHWRITE?MCUFLASH + +?PR?_MCUFLASHCHECKFLG?MCUFLASH 0029H.5 0000H.1 ----- ----- ----- ----- ----- ---- +>> - + +?PR?_MCUFLASHREAD?MCUFLASH 0029H.5 0000H.1 0019H 0002H ----- ----- 0326H 0004 +>> H + +?PR?_MCUFLASHWRITE?MCUFLASH 0029H.7 0000H.1 ----- ----- ----- ----- 0328H 0004 +>> H + +--> ?PR?_MCUFLASHBLANKCHECK?MCUFLASH + +--> ?PR?_MCUFLASHWRSECTOR?MCUFLASH + +--> ?PR?_MCUFLASHDATACHECK?MCUFLASH + +?PR?_MCUFLASHBLANKCHECK?MCUFLASH 002AH.0 0000H.1 ----- ----- ----- ----- ----- ---- +>> - + +?PR?_MCUFLASHWRSECTOR?MCUFLASH 002AH.0 0000H.1 ----- ----- ----- ----- 032CH 0004 +>> H + +?PR?_MCUFLASHDATACHECK?MCUFLASH 002AH.0 0000H.1 ----- ----- ----- ----- 032CH 0004 +>> H + +?PR?INITVAR?INITIAL ----- ----- ----- ----- ----- ----- ----- ---- +>> - + +--> ?PR?_MEMORYSET?MCULIB + +?PR?_MEMORYSET?MCULIB ----- ----- ----- ----- ----- ----- 0332H 0002 + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 12 + + +>> H + +?PR?_MCUTIMER3SET?MCULIB ----- ----- ----- ----- ----- ----- 0326H 0005 +>> H + +?PR?_MCUPWM2SET?MCULIB ----- ----- ----- ----- ----- ----- 032BH 0003 +>> H + +?PR?AFEINIT?AFE 0029H.5 0000H.1 ----- ----- ----- ----- ----- ---- +>> - + +--> ?PR?_AFEWRITEREG?AFE + +?PR?_AFEWRITEREG?AFE 0029H.6 0000H.1 ----- ----- ----- ----- 032AH 0006 +>> H + +--> ?PR?_TWIWRITE?TWIIO + +--> ?PR?_DELAY1MS?MCULIB + +--> ?PR?TWIINIT?TWIIO + +?PR?_TWIWRITE?TWIIO 002AH.1 0000H.1 ----- ----- ----- ----- 0362H 000A +>> H + +--> ?PR?_CRC8CAL?TWIIO + +--> ?PR?TWISTART?TWIIO + +--> ?PR?_TWISENDDATA?TWIIO + +--> ?PR?TWISTOP?TWIIO + +?PR?TWISTART?TWIIO ----- ----- ----- ----- ----- ----- ----- ---- +>> - + +--> ?PR?DELAY4US?TWIIO + +?PR?_TWISENDDATA?TWIIO 002AH.2 0000H.1 ----- ----- ----- ----- ----- ---- +>> - + +--> ?PR?DELAY4US?TWIIO + +--> ?PR?TWICHKCLKRELEASE?TWIIO + +?PR?TWICHKCLKRELEASE?TWIIO 002AH.3 0000H.1 ----- ----- ----- ----- ----- ---- +>> - + +--> ?PR?DELAY4US?TWIIO + +?PR?TWISTOP?TWIIO ----- ----- ----- ----- ----- ----- ----- ---- +>> - + +--> ?PR?DELAY4US?TWIIO + +?PR?AFECLRFLG?AFE ----- ----- ----- ----- ----- ----- ----- ---- +>> - + +--> ?PR?_AFEREADREG?AFE + +--> ?PR?_AFEWRITEREG?AFE + +?PR?_AFEREADREG?AFE 0029H.6 0000H.1 ----- ----- ----- ----- 0330H 0005 +>> H + +--> ?PR?_TWIREAD?TWIIO + +--> ?PR?_DELAY1MS?MCULIB + +--> ?PR?TWIINIT?TWIIO + +?PR?_TWIREAD?TWIIO 002AH.0 0000H.1 ----- ----- ----- ----- 0358H 0036 +>> H + +--> ?PR?TWISTART?TWIIO + +--> ?PR?_TWISENDDATA?TWIIO + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 13 + + + +--> ?PR?TWIRESTART?TWIIO + +--> ?PR?_TWIGETDATA?TWIIO + +--> ?PR?_CRC8CAL?TWIIO + +--> ?PR?TWISTOP?TWIIO + +?PR?TWIRESTART?TWIIO ----- ----- ----- ----- ----- ----- ----- ---- +>> - + +--> ?PR?DELAY4US?TWIIO + +?PR?_TWIGETDATA?TWIIO ----- ----- ----- ----- ----- ----- ----- ---- +>> - + +--> ?PR?DELAY4US?TWIIO + +?PR?E2PROMINIT?EXTE2PROM 0029H.5 0000H.1 ----- ----- ----- ----- 0326H 0008 +>> H + +--> ?PR?_E2PROMREAD?EXTE2PROM + +?PR?_E2PROMREAD?EXTE2PROM 0029H.6 0000H.1 ----- ----- ----- ----- 0332H 0006 +>> H + +--> ?PR?_TWIREAD?TWIIO + +--> ?PR?_DELAY1MS?MCULIB + +?PR?_RTCINITTIME?RTC 0029H.5 0000H.1 ----- ----- ----- ----- 0326H 000C +>> H + +--> ?PR?_MEMORYSET?MCULIB + +--> ?PR?_E2PROMREAD?EXTE2PROM + +--> ?PR?_MEMORYCOPY?MCULIB + +--> ?PR?_RTCREADTIME?RTC + +?PR?_MEMORYCOPY?MCULIB ----- ----- ----- ----- ----- ----- 0348H 0002 +>> H + +?PR?_RTCREADTIME?RTC 0029H.6 0000H.1 ----- ----- ----- ----- 0348H 000B +>> H + +--> ?PR?_RTCREAD?RTC + +--> ?PR?_RTCMODIFYTIME?RTC + +?PR?_RTCREAD?RTC 0029H.7 0000H.1 ----- ----- ----- ----- 0353H 0005 +>> H + +--> ?PR?_TWIREAD?TWIIO + +--> ?PR?_DELAY1MS?MCULIB + +?PR?_RTCMODIFYTIME?RTC 0029H.7 0000H.1 ----- ----- ----- ----- 0353H 000A +>> H + +--> ?PR?_RTCWRITE?RTC + +?PR?_RTCWRITE?RTC 002AH.0 0000H.1 ----- ----- ----- ----- 035DH 0005 +>> H + +--> ?PR?_TWIWRITE?TWIIO + +--> ?PR?_DELAY1MS?MCULIB + +?PR?KEYPROCESS?KEYAPP ----- ----- ----- ----- ----- ----- ----- ---- +>> - + +--> ?PR?KEYSWITCHSPEED?KEYAPP + +?PR?KEYSWITCHSPEED?KEYAPP ----- ----- ----- ----- ----- ----- ----- ---- +>> - + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 14 + + + +--> ?PR?_MCUPWM2SET?MCULIB + +?PR?AFEINFOPROCESS?CALCULATE ----- ----- ----- ----- ----- ----- ----- ---- +>> - + +--> ?PR?AFERDFLG?AFE + +--> ?PR?AFECALCUVOL?CALCULATE + +--> ?PR?AFECALCUTEMPE?CALCULATE + +--> ?PR?AFECALCUCURR?CALCULATE + +?PR?AFERDFLG?AFE ----- ----- ----- ----- ----- ----- ----- ---- +>> - + +--> ?PR?_AFEREADREG?AFE + +--> ?PR?AFEINIT?AFE + +?PR?AFECALCUVOL?CALCULATE ----- ----- ----- ----- ----- ----- 0326H 0009 +>> H + +--> ?PR?AFEGETVOL?CALCULATE + +?PR?AFEGETVOL?CALCULATE 0029H.5 0000H.1 ----- ----- ----- ----- 032FH 0001 +>> H + +--> ?PR?_AFEREADREG?AFE + +?PR?AFECALCUTEMPE?CALCULATE ----- ----- ----- ----- ----- ----- ----- ---- +>> - + +--> ?PR?AFEGETTEMPE?CALCULATE + +--> ?PR?_CALCUTEMP?CALCULATE + +?PR?AFEGETTEMPE?CALCULATE 0029H.5 0000H.1 ----- ----- ----- ----- ----- ---- +>> - + +--> ?PR?_AFEREADREG?AFE + +?PR?_CALCUTEMP?CALCULATE ----- ----- ----- ----- ----- ----- 0326H 0007 +>> H + +--> ?CO?THERMISTOR + +?PR?AFECALCUCURR?CALCULATE ----- ----- ----- ----- ----- ----- 0326H 0005 +>> H + +--> ?PR?_AFEREADREG?AFE + +--> ?PR?OFFSETCALCULATE?CALCULATE + +--> ?PR?_MCUPWM2SET?MCULIB + +?PR?OFFSETCALCULATE?CALCULATE ----- ----- ----- ----- ----- ----- 032BH 0003 +>> H + +--> ?CO?CALCULATE + +?PR?BALANCEPROCESS?BALANCE ----- ----- ----- ----- ----- ----- ----- ---- +>> - + +--> ?PR?BALTURNONCHECK?BALANCE + +--> ?PR?CTOTURNONCHECK?BALANCE + +--> ?PR?BALPROCESS?BALANCE + +?PR?BALPROCESS?BALANCE ----- ----- ----- ----- ----- ----- 0326H 0002 +>> H + +--> ?PR?_AFEBALCTL?AFE + +--> ?PR?CTOCHECKVOL?BALANCE + +?PR?_AFEBALCTL?AFE ----- ----- ----- ----- ----- ----- 0328H 0002 + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 15 + + +>> H + +--> ?PR?_AFEWRITEREG?AFE + +?PR?CTOCHECKVOL?BALANCE 0029H.5 0000H.1 ----- ----- ----- ----- ----- ---- +>> - + +?PR?PROTECTPROCESS?PROTECT ----- ----- ----- ----- ----- ----- ----- ---- +>> - + +--> ?PR?PROTECTOV?PROTECT + +--> ?PR?PROTECTUV?PROTECT + +--> ?PR?PROTECTOTC?PROTECT + +--> ?PR?PROTECTUTC?PROTECT + +--> ?PR?PROTECTOTD?PROTECT + +--> ?PR?PROTECTUTD?PROTECT + +--> ?PR?PROTECTOCC?PROTECT + +--> ?PR?PROTECTOCD1?PROTECT + +--> ?PR?PROTECTOCD2?PROTECT + +?PR?PROTECTOV?PROTECT ----- ----- ----- ----- ----- ----- ----- ---- +>> - + +--> ?PR?AFECLRFLG?AFE + +?PR?PORSELFTEST?PORSELFTEST ----- ----- ----- ----- ----- ----- ----- ---- +>> - + +--> ?PR?AFECALCUVOL?CALCULATE + +--> ?PR?AFECALCUTEMPE?CALCULATE + +--> ?PR?PORPROTECTOV?PORSELFTEST + +--> ?PR?PORPROTECTUV?PORSELFTEST + +--> ?PR?PORPROTECTOTC?PORSELFTEST + +--> ?PR?PORPROTECTUTC?PORSELFTEST + +--> ?PR?PORPROTECTOTD?PORSELFTEST + +--> ?PR?PORPROTECTUTD?PORSELFTEST + +--> ?PR?GASGAUGEINIT?GASGAUGEV4_12 + +?PR?GASGAUGEINIT?GASGAUGEV4_12 ----- ----- ----- ----- ----- ----- 0326H 0002 +>> H + +--> ?PR?GASGAUGEVARIN?GASGAUGEINTER_V4_13 + +--> ?PR?GASGAUGEGETOCV?GASGAUGEV4_12 + +--> ?PR?_GASGAUGEINITSOC?GASGAUGEV4_12 + +--> ?PR?GASGAUGEVAROUT?GASGAUGEINTER_V4_13 + +?PR?GASGAUGEVARIN?GASGAUGEINTER_V4_13 0029H.5 0000H.1 ----- ----- ----- ----- ----- ---- +>> - + +?PR?GASGAUGEGETOCV?GASGAUGEV4_12 ----- ----- ----- ----- ----- ----- 0328H 0001 +>> H + +?PR?_GASGAUGEINITSOC?GASGAUGEV4_12 ----- ----- ----- ----- ----- ----- 0328H 0002 +>> H + +?PR?GASGAUGEVAROUT?GASGAUGEINTER_V4_13 0029H.5 0000H.1 ----- ----- ----- ----- ----- ---- +>> - + +?PR?LOADCHECK?CHARGERLOAD ----- ----- ----- ----- ----- ----- ----- ---- +>> - + +--> ?PR?AFELOADCHECKEN?AFE + +--> ?PR?AFERDSTATUS?AFE + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 16 + + + +--> ?PR?AFELOADCHECKDIS?AFE + +--> ?PR?AFECLRFLG?AFE + +?PR?AFELOADCHECKEN?AFE ----- ----- ----- ----- ----- ----- ----- ---- +>> - + +--> ?PR?_AFEWRITEREG?AFE + +?PR?AFERDSTATUS?AFE ----- ----- ----- ----- ----- ----- 0326H 0002 +>> H + +--> ?PR?_AFEREADREG?AFE + +?PR?AFELOADCHECKDIS?AFE ----- ----- ----- ----- ----- ----- ----- ---- +>> - + +--> ?PR?_AFEWRITEREG?AFE + +?PR?CHGERCHECK?CHARGERLOAD ----- ----- ----- ----- ----- ----- ----- ---- +>> - + +--> ?PR?AFECHGERCHECKEN?AFE + +--> ?PR?AFERDSTATUS?AFE + +--> ?PR?AFECHGERCHECKDIS?AFE + +--> ?PR?AFECLRFLG?AFE + +?PR?AFECHGERCHECKEN?AFE ----- ----- ----- ----- ----- ----- ----- ---- +>> - + +--> ?PR?_AFEWRITEREG?AFE + +?PR?AFECHGERCHECKDIS?AFE ----- ----- ----- ----- ----- ----- ----- ---- +>> - + +--> ?PR?_AFEWRITEREG?AFE + +?PR?MOSCTRL?MOSCTRL ----- ----- ----- ----- ----- ----- ----- ---- +>> - + +--> ?PR?MOSSTATUSCHECK?MOSCTRL + +--> ?PR?_AFEMOSCTL?AFE + +?PR?_AFEMOSCTL?AFE ----- ----- ----- ----- ----- ----- ----- ---- +>> - + +--> ?PR?_AFEWRITEREG?AFE + +?PR?PROTECTOCRECOVER?PROTECT ----- ----- ----- ----- ----- ----- ----- ---- +>> - + +--> ?PR?AFECLRFLG?AFE + +?PR?LEDDISPLAY?LED ----- ----- ----- ----- ----- ----- ----- ---- +>> - + +--> ?PR?_LEDGETDISNUM?LED + +--> ?PR?LEDAUTOOFF?LED + +?PR?GASGAUGEMANAGE?GASGAUGEV4_12 ----- ----- ----- ----- ----- ----- ----- ---- +>> - + +--> ?PR?GASGAUGEVARIN?GASGAUGEINTER_V4_13 + +--> ?PR?CORRECTCHGDFRC?GASGAUGEV4_12 + +--> ?PR?FCCUPDATE?GASGAUGEV4_12 + +--> ?PR?DATAFILTER?GASGAUGEV4_12 + +--> ?PR?GASGAUGEVAROUT?GASGAUGEINTER_V4_13 + +?PR?CORRECTCHGDFRC?GASGAUGEV4_12 ----- ----- ----- ----- ----- ----- 0326H 0002 + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 17 + + +>> H + +--> ?PR?GASGAUGEGETOCV?GASGAUGEV4_12 + +?PR?FCCUPDATE?GASGAUGEV4_12 ----- ----- ----- ----- ----- ----- 0326H 0004 +>> H + +--> ?PR?_GETCYCLEGAIN?GASGAUGEV4_12 + +?PR?DATAFILTER?GASGAUGEV4_12 0029H.5 0000H.1 ----- ----- ----- ----- 0326H 0009 +>> H + +--> ?CO?GASGAUGEV4_12 + +?PR?AFERAMCHECK?AFE ----- ----- ----- ----- ----- ----- 0326H 0003 +>> H + +--> ?PR?_AFEREADREG?AFE + +--> ?PR?AFEINIT?AFE + +?PR?E2PROMBKCHECK?EXTE2PROM ----- ----- ----- ----- ----- ----- ----- ---- +>> - + +--> ?PR?_RTCREADTIME?RTC + +--> ?PR?_MEMORYCOPY?MCULIB + +?PR?ISPPROCESS?BOOTAPP ----- ----- ----- ----- ----- ----- ----- ---- +>> - + +--> ?PR?AFEWDTDIS?AFE + +?PR?AFEWDTDIS?AFE ----- ----- ----- ----- ----- ----- ----- ---- +>> - + +--> ?PR?_AFEWRITEREG?AFE + +?PR?CALIPROCESS?CALIBRATE ----- ----- ----- ----- ----- ----- ----- ---- +>> - + +--> ?PR?CALIVOLTAGE?CALIBRATE + +--> ?PR?CALICURRENTGAIN?CALIBRATE + +--> ?PR?CALICURZERO?CALIBRATE + +--> ?PR?CALITS1?CALIBRATE + +--> ?PR?CALITS2?CALIBRATE + +--> ?PR?CALIRTCTIME?CALIBRATE + +?PR?CALIVOLTAGE?CALIBRATE ----- ----- ----- ----- ----- ----- 0326H 0002 +>> H + +?PR?CALITS1?CALIBRATE ----- ----- ----- ----- ----- ----- ----- ---- +>> - + +--> ?PR?_CALCUTEMP?CALCULATE + +?PR?CALITS2?CALIBRATE ----- ----- ----- ----- ----- ----- ----- ---- +>> - + +--> ?PR?_CALCUTEMP?CALCULATE + +?PR?CALIRTCTIME?CALIBRATE ----- ----- ----- ----- ----- ----- ----- ---- +>> - + +--> ?PR?_RTCMODIFYTIME?RTC + +?PR?MCUFLASHPROCESS?MCUFLASH 0029H.5 0000H.2 ----- ----- ----- ----- 0326H 0002 +>> H + +--> ?PR?_MCUFLASHWRITE?MCUFLASH + +--> ?PR?_MCUFLASHWRONEBYTE?MCUFLASH + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 18 + + + +?PR?E2PROMBKPROCESS?EXTE2PROM ----- ----- ----- ----- ----- ----- 0326H 0001 +>> H + +--> ?PR?E2PROMERASE?EXTE2PROM + +--> ?PR?UART0RDE2PROM?EXTE2PROM + +--> ?PR?UART2RDE2PROM?EXTE2PROM + +--> ?PR?UART0RDRTC?EXTE2PROM + +--> ?PR?UART1RDRTC?EXTE2PROM + +--> ?PR?UART2RDRTC?EXTE2PROM + +--> ?PR?E2PROMBKRTC?EXTE2PROM + +--> ?PR?_E2PROMBKDATA?EXTE2PROM + +?PR?E2PROMERASE?EXTE2PROM ----- ----- ----- ----- ----- ----- 0327H 000A +>> H + +--> ?PR?_MEMORYSET?MCULIB + +--> ?PR?_E2PROMWRITE?EXTE2PROM + +?PR?_E2PROMWRITE?EXTE2PROM 0029H.5 0000H.1 ----- ----- ----- ----- 0350H 0006 +>> H + +--> ?PR?_TWIWRITE?TWIIO + +--> ?PR?_DELAY1MS?MCULIB + +?PR?UART0RDE2PROM?EXTE2PROM ----- ----- ----- ----- ----- ----- ----- ---- +>> - + +--> ?PR?_E2PROMREAD?EXTE2PROM + +--> ?PR?_CRC8CAL?TWIIO + +?PR?UART2RDE2PROM?EXTE2PROM ----- ----- ----- ----- ----- ----- ----- ---- +>> - + +--> ?PR?_E2PROMREAD?EXTE2PROM + +--> ?PR?_CRC8CAL?TWIIO + +?PR?UART0RDRTC?EXTE2PROM ----- ----- ----- ----- ----- ----- ----- ---- +>> - + +--> ?PR?_RTCREADTIME?RTC + +--> ?PR?_MEMORYCOPY?MCULIB + +--> ?PR?_CRC8CAL?TWIIO + +?PR?UART1RDRTC?EXTE2PROM ----- ----- ----- ----- ----- ----- ----- ---- +>> - + +--> ?PR?_RTCREADTIME?RTC + +--> ?PR?_MEMORYCOPY?MCULIB + +--> ?PR?_CRC8CAL?TWIIO + +?PR?UART2RDRTC?EXTE2PROM ----- ----- ----- ----- ----- ----- ----- ---- +>> - + +--> ?PR?_RTCREADTIME?RTC + +--> ?PR?_MEMORYCOPY?MCULIB + +--> ?PR?_CRC8CAL?TWIIO + +?PR?E2PROMBKRTC?EXTE2PROM ----- ----- ----- ----- ----- ----- 0327H 000A +>> H + +--> ?PR?_RTCREADTIME?RTC + +--> ?PR?_MEMORYCOPY?MCULIB + +--> ?PR?_E2PROMWRITE?EXTE2PROM + +?PR?_E2PROMBKDATA?EXTE2PROM ----- ----- ----- ----- ----- ----- 0327H 0021 + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 19 + + +>> H + +--> ?PR?_MEMORYCOPY?MCULIB + +--> ?PR?_RTCREADTIME?RTC + +--> ?PR?_E2PROMWRITE?EXTE2PROM + +--> ?PR?E2PROMBKBOOT?EXTE2PROM + +?PR?E2PROMBKBOOT?EXTE2PROM ----- ----- ----- ----- ----- ----- 0348H 0008 +>> H + +--> ?PR?_E2PROMWRITE?EXTE2PROM + +?PR?LOWPOWERPROCESS?LOWPOWER ----- ----- ----- ----- ----- ----- ----- ---- +>> - + +--> ?PR?MCUINTOIDLE?MCULIB + +--> ?PR?MCUFLASHPROCESS?MCUFLASH + +--> ?PR?SYSTEMINTOPD?LOWPOWER + +--> ?PR?SYSTEMINTOSLEEP?LOWPOWER + +--> ?PR?WAKEUPPROCESS?LOWPOWER + +?PR?SYSTEMINTOPD?LOWPOWER ----- ----- ----- ----- ----- ----- ----- ---- +>> - + +--> ?PR?_AFEMOSCTL?AFE + +--> ?PR?AFEENTERPD?AFE + +?PR?AFEENTERPD?AFE ----- ----- ----- ----- ----- ----- ----- ---- +>> - + +--> ?PR?_AFEWRITEREG?AFE + +?PR?SYSTEMINTOSLEEP?LOWPOWER ----- ----- ----- ----- ----- ----- ----- ---- +>> - + +--> ?PR?AFEWDTDIS?AFE + +--> ?PR?AFETEMPADCDIS?AFE + +--> ?PR?_AFEALARMEN?AFE + +--> ?PR?_DELAY1MS?MCULIB + +--> ?PR?_MCUCLOCKSET?MCULIB + +--> ?PR?MCUINTOPD?MCULIB + +?PR?AFETEMPADCDIS?AFE ----- ----- ----- ----- ----- ----- ----- ---- +>> - + +--> ?PR?_AFEWRITEREG?AFE + +?PR?_AFEALARMEN?AFE ----- ----- ----- ----- ----- ----- ----- ---- +>> - + +--> ?PR?_AFEWRITEREG?AFE + +?PR?WAKEUPPROCESS?LOWPOWER ----- ----- ----- ----- ----- ----- ----- ---- +>> - + +--> ?PR?_MCUCLOCKSET?MCULIB + +--> ?PR?_DELAY1MS?MCULIB + +--> ?PR?_AFEALARMDIS?AFE + +--> ?PR?AFETEMPADCEN?AFE + +--> ?PR?AFEWDTEN?AFE + +?PR?_AFEALARMDIS?AFE ----- ----- ----- ----- ----- ----- ----- ---- +>> - + +--> ?PR?_AFEWRITEREG?AFE + +?PR?AFETEMPADCEN?AFE ----- ----- ----- ----- ----- ----- ----- ---- + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 20 + + +>> - + +--> ?PR?_AFEWRITEREG?AFE + +?PR?AFEWDTEN?AFE ----- ----- ----- ----- ----- ----- ----- ---- +>> - + +--> ?PR?_AFEWRITEREG?AFE + + + +SYMBOL TABLE OF MODULE: .\output\MCUCore_Load (MAIN) + + VALUE TYPE NAME + ---------------------------------- + + ------- MODULE MAIN + C:0000H SYMBOL _ICE_DUMMY_ + D:0080H PUBLIC P0 + D:0090H PUBLIC P1 + D:00A0H PUBLIC P2 + D:00B0H PUBLIC P3 + D:00C0H PUBLIC P4 + D:0080H PUBLIC P5 + C:5C8FH PUBLIC main + ------- PROC MAIN + C:5C8FH LINE# 21 + C:5C8FH LINE# 22 + C:5C8FH LINE# 23 + C:5C92H LINE# 25 + C:5C92H LINE# 26 + C:5C92H LINE# 29 + C:5C95H LINE# 31 + C:5C98H LINE# 32 + C:5C98H LINE# 33 + C:5C9AH LINE# 34 + C:5C9DH LINE# 36 + C:5CA0H LINE# 38 + C:5CA3H LINE# 40 + C:5CA6H LINE# 42 + C:5CA9H LINE# 44 + C:5CACH LINE# 46 + C:5CAFH LINE# 48 + C:5CB2H LINE# 50 + C:5CB5H LINE# 53 + C:5CB8H LINE# 63 + C:5CB8H LINE# 65 + C:5CBBH LINE# 66 + C:5CBBH LINE# 67 + C:5CBDH LINE# 68 + C:5CC0H LINE# 70 + C:5CC3H LINE# 72 + C:5CC6H LINE# 73 + C:5CC9H LINE# 74 + C:5CCCH LINE# 76 + C:5CD1H LINE# 77 + C:5CD1H LINE# 78 + C:5CD4H LINE# 79 + C:5CD4H LINE# 81 + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 21 + + + C:5CD7H LINE# 83 + C:5CDAH LINE# 85 + C:5CDDH LINE# 88 + C:5CDDH LINE# 90 + C:5CE0H LINE# 92 + C:5CE3H LINE# 94 + C:5CE6H LINE# 96 + C:5CE9H LINE# 98 + C:5CECH LINE# 100 + C:5CEFH LINE# 102 + C:5CF9H LINE# 103 + C:5D01H LINE# 106 + ------- ENDPROC MAIN + ------- ENDMOD MAIN + + ------- MODULE INITIAL + C:0000H SYMBOL _ICE_DUMMY_ + D:0080H PUBLIC P0 + D:0090H PUBLIC P1 + D:00A0H PUBLIC P2 + D:00B0H PUBLIC P3 + C:74C3H PUBLIC InitIRQ + D:00C0H PUBLIC P4 + D:0080H PUBLIC P5 + B:00A8H.7 PUBLIC EA + D:00A9H PUBLIC IEN1 + D:00E8H PUBLIC EXF0 + D:00D8H PUBLIC EXF1 + D:00E1H PUBLIC P0CR + D:00E2H PUBLIC P1CR + D:00E3H PUBLIC P2CR + D:00E4H PUBLIC P3CR + D:00BAH PUBLIC IENC + C:6E36H PUBLIC InitVar + C:7309H PUBLIC InitGPIO + B:00A8H.4 PUBLIC ES0 + B:00A8H.5 PUBLIC ET3 + D:0086H PUBLIC INSCON + B:0088H.7 PUBLIC TF3 + C:6673H PUBLIC Initial + C:535AH PUBLIC SysParaInit + D:00E9H PUBLIC P0PCR + D:00EAH PUBLIC P1PCR + D:00EBH PUBLIC P2PCR + D:00ECH PUBLIC P3PCR + ------- PROC INITVAR + C:6E36H LINE# 18 + C:6E36H LINE# 19 + C:6E36H LINE# 20 + C:6E3CH LINE# 21 + C:6E47H LINE# 22 + C:6E51H LINE# 23 + C:6E5BH LINE# 24 + C:6E63H LINE# 26 + C:6E65H LINE# 27 + C:6E67H LINE# 28 + C:6E6DH LINE# 29 + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 22 + + + C:6E6FH LINE# 30 + C:6E71H LINE# 32 + C:6E77H LINE# 33 + ------- ENDPROC INITVAR + ------- PROC SYSPARAINIT + C:535AH LINE# 41 + C:535AH LINE# 42 + C:535AH LINE# 43 + C:5363H LINE# 44 + C:5363H LINE# 45 + C:536FH LINE# 46 + C:5378H LINE# 47 + C:5378H LINE# 48 + C:5380H LINE# 49 + C:5380H LINE# 50 + C:5382H LINE# 51 + C:538BH LINE# 52 + C:538BH LINE# 53 + C:5398H LINE# 54 + C:539FH LINE# 55 + C:53A1H LINE# 57 + C:53A1H LINE# 58 + C:53A4H LINE# 60 + C:53A4H LINE# 62 + C:53AEH LINE# 63 + C:53B8H LINE# 64 + C:53C4H LINE# 65 + C:53D3H LINE# 67 + C:53DBH LINE# 69 + C:53E4H LINE# 70 + C:53E4H LINE# 71 + C:53E7H LINE# 72 + C:53E8H LINE# 73 + C:53F3H LINE# 74 + C:53F3H LINE# 75 + C:53F6H LINE# 76 + C:53F7H LINE# 78 + C:53F7H LINE# 79 + C:53FAH LINE# 80 + C:53FAH LINE# 81 + ------- ENDPROC SYSPARAINIT + ------- PROC INITIRQ + C:74C3H LINE# 89 + C:74C3H LINE# 90 + C:74C3H LINE# 91 + C:74C5H LINE# 93 + C:74C7H LINE# 102 + C:74D0H LINE# 103 + C:74D2H LINE# 105 + C:74D5H LINE# 106 + C:74D8H LINE# 107 + C:74DBH LINE# 108 + C:74DEH LINE# 110 + C:74E0H LINE# 111 + ------- ENDPROC INITIRQ + ------- PROC INITGPIO + C:7309H LINE# 164 + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 23 + + + C:7309H LINE# 165 + C:7309H LINE# 167 + C:730CH LINE# 168 + C:730FH LINE# 169 + C:7312H LINE# 171 + C:7315H LINE# 172 + C:7318H LINE# 173 + C:731BH LINE# 175 + C:731EH LINE# 176 + C:7321H LINE# 177 + C:7324H LINE# 179 + C:7327H LINE# 180 + C:732AH LINE# 181 + C:732DH LINE# 185 + C:7330H LINE# 186 + C:7333H LINE# 530 + ------- ENDPROC INITGPIO + ------- PROC INITIAL + C:6673H LINE# 538 + C:6673H LINE# 539 + C:6673H LINE# 540 + C:6678H LINE# 542 + C:667BH LINE# 544 + C:667EH LINE# 546 + C:6681H LINE# 548 + C:6684H LINE# 550 + C:668DH LINE# 553 + C:6690H LINE# 564 + C:6693H LINE# 566 + C:669CH LINE# 568 + C:669FH LINE# 569 + C:66A4H LINE# 570 + C:66A4H LINE# 571 + C:66A6H LINE# 572 + C:66A6H LINE# 573 + C:66A9H LINE# 575 + C:66ACH LINE# 576 + C:66ACH LINE# 577 + C:66B1H LINE# 578 + C:66B1H LINE# 579 + C:66B3H LINE# 580 + C:66B3H LINE# 582 + C:66BCH LINE# 583 + C:66BCH LINE# 584 + C:66BEH LINE# 585 + C:66BEH LINE# 586 + C:66BEH LINE# 588 + C:66C1H LINE# 589 + ------- ENDPROC INITIAL + ------- ENDMOD INITIAL + + ------- MODULE INTERRUPTAPP + C:0000H SYMBOL _ICE_DUMMY_ + D:0080H PUBLIC P0 + X:053DH PUBLIC ucwatcntTime + D:0090H PUBLIC P1 + D:00A0H PUBLIC P2 + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 24 + + + X:053EH PUBLIC ucTimer1s + D:00B0H PUBLIC P3 + D:00C0H PUBLIC P4 + D:0080H PUBLIC P5 + C:102EH PUBLIC _InterruptINT4App + B:002DH.4 PUBLIC bTimer5msFlg + X:053FH PUBLIC ucTimer50ms + B:002DH.5 PUBLIC bTimer1sFlg + C:71B2H PUBLIC InterruptTimer3App + D:00B1H PUBLIC RSTSTAT + B:002DH.6 PUBLIC bTimer50msFlg + ------- PROC _INTERRUPTINT4APP + D:0007H SYMBOL IntSource + C:102EH LINE# 25 + C:102EH LINE# 26 + C:102EH LINE# 27 + C:1032H LINE# 28 + C:1032H LINE# 29 + C:1038H LINE# 30 + C:1038H LINE# 31 + C:103DH LINE# 32 + C:103FH LINE# 33 + C:103FH LINE# 34 + C:1040H LINE# 35 + C:1044H LINE# 36 + C:1044H LINE# 37 + C:104AH LINE# 38 + C:104AH LINE# 39 + C:104FH LINE# 40 + C:1051H LINE# 41 + C:1051H LINE# 42 + C:1051H LINE# 43 + ------- ENDPROC _INTERRUPTINT4APP + ------- PROC INTERRUPTTIMER3APP + ------- DO + X:053CH SYMBOL ucwatcntTime + ------- ENDDO + C:71B2H LINE# 52 + C:71B2H LINE# 53 + C:71B2H LINE# 55 + C:71B4H LINE# 56 + C:71BFH LINE# 57 + C:71BFH LINE# 58 + C:71C1H LINE# 59 + C:71C4H LINE# 60 + C:71C4H LINE# 61 + C:71CFH LINE# 62 + C:71CFH LINE# 63 + C:71D1H LINE# 64 + C:71D3H LINE# 65 + C:71D3H LINE# 67 + C:71DEH LINE# 68 + C:71DEH LINE# 69 + C:71E0H LINE# 70 + C:71E2H LINE# 71 + C:71E2H LINE# 73 + C:71E5H LINE# 74 + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 25 + + + ------- ENDPROC INTERRUPTTIMER3APP + ------- ENDMOD INTERRUPTAPP + + ------- MODULE LED + C:0000H SYMBOL _ICE_DUMMY_ + D:0080H PUBLIC P0 + D:0090H PUBLIC P1 + D:00A0H PUBLIC P2 + D:00B0H PUBLIC P3 + D:00C0H PUBLIC P4 + D:0080H PUBLIC P5 + C:6F39H PUBLIC _LedGetDisNum + B:00A0H.0 PUBLIC P2_0 + B:00A0H.1 PUBLIC P2_1 + B:00A0H.2 PUBLIC P2_2 + B:00A0H.3 PUBLIC P2_3 + B:00A0H.4 PUBLIC P2_4 + X:05E8H PUBLIC ucLedChgFlickCnt + B:00B0H.5 PUBLIC P3_5 + X:05E9H PUBLIC ucLedBleFlickCnt + X:05EAH PUBLIC ucLedTimeCnt + B:002EH.2 PUBLIC bLedDisFlg + B:002EH.3 PUBLIC bLedDisBleFlg + C:7606H PUBLIC LedAutoOff + C:4F6BH PUBLIC LedDisplay + ------- PROC _LEDGETDISNUM + D:0006H SYMBOL Rsoc + C:6F39H LINE# 24 + C:6F39H LINE# 25 + C:6F39H LINE# 26 + C:6F42H LINE# 27 + C:6F42H LINE# 28 + C:6F45H LINE# 29 + C:6F45H LINE# 30 + C:6F4EH LINE# 31 + C:6F4EH LINE# 32 + C:6F51H LINE# 33 + C:6F51H LINE# 34 + C:6F5AH LINE# 35 + C:6F5AH LINE# 36 + C:6F5DH LINE# 37 + C:6F5DH LINE# 38 + C:6F66H LINE# 39 + C:6F66H LINE# 40 + C:6F69H LINE# 41 + C:6F69H LINE# 42 + C:6F72H LINE# 43 + C:6F72H LINE# 44 + C:6F75H LINE# 45 + C:6F75H LINE# 47 + C:6F75H LINE# 48 + C:6F77H LINE# 49 + C:6F77H LINE# 50 + ------- ENDPROC _LEDGETDISNUM + ------- PROC LEDAUTOOFF + C:7606H LINE# 59 + C:7606H LINE# 60 + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 26 + + + C:7606H LINE# 61 + C:7609H LINE# 62 + C:7609H LINE# 63 + C:7614H LINE# 64 + C:7614H LINE# 65 + C:7616H LINE# 66 + C:7618H LINE# 67 + C:7618H LINE# 68 + C:7618H LINE# 69 + ------- ENDPROC LEDAUTOOFF + ------- PROC LEDDISPLAY + ------- DO + D:0007H SYMBOL LedDisNum + ------- ENDDO + C:4F6BH LINE# 80 + C:4F6BH LINE# 81 + C:4F6BH LINE# 84 + C:4F6EH LINE# 85 + C:4F6EH LINE# 86 + C:4F79H LINE# 87 + C:4F79H LINE# 88 + C:4F7BH LINE# 89 + C:4F80H LINE# 90 + C:4F80H LINE# 91 + C:4F82H LINE# 93 + C:4F82H LINE# 94 + C:4F84H LINE# 95 + C:4F84H LINE# 97 + C:4F87H LINE# 98 + C:4F87H LINE# 99 + C:4F92H LINE# 100 + C:4F92H LINE# 101 + C:4F94H LINE# 102 + C:4F99H LINE# 103 + C:4F99H LINE# 104 + C:4F9BH LINE# 106 + C:4F9BH LINE# 107 + C:4F9DH LINE# 108 + C:4F9DH LINE# 110 + C:4FA0H LINE# 111 + C:4FA0H LINE# 112 + C:4FABH LINE# 113 + C:4FAEH LINE# 114 + C:4FAEH LINE# 115 + C:4FBBH LINE# 116 + C:4FBBH LINE# 117 + C:4FBFH LINE# 118 + C:4FBFH LINE# 119 + C:4FC4H LINE# 120 + C:4FC6H LINE# 121 + C:4FCAH LINE# 122 + C:4FCAH LINE# 123 + C:4FCFH LINE# 124 + C:4FD1H LINE# 125 + C:4FD3H LINE# 126 + C:4FD7H LINE# 127 + C:4FD7H LINE# 128 + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 27 + + + C:4FDCH LINE# 129 + C:4FDEH LINE# 130 + C:4FE0H LINE# 131 + C:4FE2H LINE# 132 + C:4FE6H LINE# 133 + C:4FE6H LINE# 134 + C:4FEBH LINE# 135 + C:4FEDH LINE# 136 + C:4FEFH LINE# 137 + C:4FF1H LINE# 138 + C:4FF3H LINE# 139 + C:4FF8H LINE# 140 + C:4FF8H LINE# 141 + C:5005H LINE# 142 + C:5005H LINE# 143 + C:5007H LINE# 145 + C:5007H LINE# 146 + C:5014H LINE# 147 + C:5014H LINE# 149 + C:5017H LINE# 150 + ------- ENDPROC LEDDISPLAY + ------- ENDMOD LED + + ------- MODULE KEYAPP + C:0000H SYMBOL _ICE_DUMMY_ + D:0080H PUBLIC P0 + D:0090H PUBLIC P1 + D:00A0H PUBLIC P2 + D:00B0H PUBLIC P3 + D:00C0H PUBLIC P4 + D:0080H PUBLIC P5 + D:00B7H PUBLIC PWM2CON + C:7280H PUBLIC KeyProcess + B:0080H.3 PUBLIC P0_3 + C:6055H PUBLIC KeySwitchSpeed + X:05FAH PUBLIC ucDsgingSpeed + ------- PROC KEYSWITCHSPEED + C:6055H LINE# 20 + C:6055H LINE# 21 + C:6055H LINE# 22 + C:6057H LINE# 23 + C:6059H LINE# 24 + C:605BH LINE# 25 + C:605EH LINE# 26 + C:605EH LINE# 27 + C:6064H LINE# 28 + C:6064H LINE# 29 + C:6066H LINE# 30 + C:6068H LINE# 31 + C:6078H LINE# 32 + C:607BH LINE# 33 + C:607CH LINE# 34 + C:6083H LINE# 35 + C:6083H LINE# 36 + C:6086H LINE# 37 + C:6088H LINE# 38 + C:6095H LINE# 39 + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 28 + + + C:6098H LINE# 40 + C:6099H LINE# 42 + C:6099H LINE# 43 + C:609EH LINE# 44 + C:60A0H LINE# 45 + C:60B0H LINE# 46 + C:60B3H LINE# 47 + C:60B3H LINE# 48 + C:60B3H LINE# 49 + ------- ENDPROC KEYSWITCHSPEED + ------- PROC KEYPROCESS + C:7280H LINE# 58 + C:7280H LINE# 59 + C:7280H LINE# 60 + C:7283H LINE# 61 + C:7283H LINE# 62 + C:7285H LINE# 63 + C:7296H LINE# 64 + C:7296H LINE# 65 + C:7296H LINE# 66 + C:7299H LINE# 67 + C:729AH LINE# 69 + C:729AH LINE# 70 + C:729CH LINE# 71 + C:72A1H LINE# 72 + C:72A2H LINE# 74 + C:72A2H LINE# 75 + C:72A4H LINE# 76 + C:72A5H LINE# 78 + C:72A5H LINE# 79 + C:72A7H LINE# 80 + C:72AAH LINE# 81 + C:72AAH LINE# 82 + C:72ACH LINE# 83 + C:72ADH LINE# 85 + C:72ADH LINE# 86 + C:72AFH LINE# 87 + C:72AFH LINE# 88 + C:72AFH LINE# 90 + C:72AFH LINE# 91 + C:72AFH LINE# 92 + C:72AFH LINE# 93 + C:72AFH LINE# 94 + ------- ENDPROC KEYPROCESS + ------- ENDMOD KEYAPP + + ------- MODULE LOWPOWER + C:0000H SYMBOL _ICE_DUMMY_ + D:0080H PUBLIC P0 + D:0090H PUBLIC P1 + X:05EBH PUBLIC ucSleepTimerCnt + D:00A0H PUBLIC P2 + D:00B0H PUBLIC P3 + D:00C0H PUBLIC P4 + D:0080H PUBLIC P5 + B:00A8H.7 PUBLIC EA + B:00C8H.6 PUBLIC ENTWI + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 29 + + + D:00B7H PUBLIC PWM2CON + B:002CH.4 PUBLIC bPDFlg + B:00A0H.0 PUBLIC P2_0 + B:0080H.3 PUBLIC P0_3 + B:00A0H.1 PUBLIC P2_1 + B:00A0H.2 PUBLIC P2_2 + B:00A0H.3 PUBLIC P2_3 + D:00D8H PUBLIC EXF1 + B:00A0H.4 PUBLIC P2_4 + B:00A0H.5 PUBLIC P2_5 + X:05ECH PUBLIC ucPDTimerCnt + C:6DF3H PUBLIC SystemIntoSleep + C:56F1H PUBLIC LowPowerCheck + B:002CH.5 PUBLIC bPCEnterPDFlg + C:6EF9H PUBLIC LowPowerProcess + C:6EB9H PUBLIC WakeUpProcess + D:00B1H PUBLIC RSTSTAT + C:7466H PUBLIC SystemIntoPD + B:00A8H.4 PUBLIC ES0 + B:00A8H.5 PUBLIC ET3 + X:05EDH PUBLIC ucResetFlag + B:002CH.6 PUBLIC bWakeupFlg + B:002CH.7 PUBLIC bSleepFlg + ------- PROC WAKEUPPROCESS + C:6EB9H LINE# 26 + C:6EB9H LINE# 27 + C:6EB9H LINE# 28 + C:6EBCH LINE# 29 + C:6EBCH LINE# 30 + C:6EBEH LINE# 31 + C:6EC1H LINE# 32 + C:6EC1H LINE# 33 + C:6EC6H LINE# 34 + C:6EC8H LINE# 36 + C:6ECAH LINE# 37 + C:6ECFH LINE# 38 + C:6ED4H LINE# 41 + C:6ED6H LINE# 43 + C:6ED8H LINE# 44 + C:6EDAH LINE# 46 + C:6EDFH LINE# 47 + C:6EE2H LINE# 48 + C:6EE5H LINE# 49 + C:6EE5H LINE# 50 + C:6EEAH LINE# 51 + C:6EECH LINE# 52 + C:6EF0H LINE# 53 + C:6EF4H LINE# 54 + C:6EF8H LINE# 55 + C:6EF8H LINE# 56 + ------- ENDPROC WAKEUPPROCESS + ------- PROC SYSTEMINTOPD + C:7466H LINE# 65 + C:7466H LINE# 66 + C:7466H LINE# 67 + C:7466H LINE# 68 + C:7466H LINE# 69 + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 30 + + + C:7469H LINE# 71 + C:746BH LINE# 72 + C:7478H LINE# 73 + C:747AH LINE# 74 + C:747FH LINE# 76 + C:7482H LINE# 77 + ------- ENDPROC SYSTEMINTOPD + ------- PROC SYSTEMINTOSLEEP + C:6DF3H LINE# 87 + C:6DF3H LINE# 88 + C:6DF3H LINE# 89 + C:6E00H LINE# 90 + C:6E02H LINE# 91 + C:6E04H LINE# 93 + C:6E07H LINE# 94 + C:6E0AH LINE# 95 + C:6E0FH LINE# 96 + C:6E11H LINE# 97 + C:6E14H LINE# 98 + C:6E17H LINE# 99 + C:6E17H LINE# 100 + C:6E19H LINE# 101 + C:6E1BH LINE# 103 + C:6E1BH LINE# 104 + C:6E1DH LINE# 105 + C:6E1DH LINE# 106 + C:6E22H LINE# 108 + C:6E24H LINE# 110 + C:6E26H LINE# 118 + C:6E28H LINE# 119 + C:6E2BH LINE# 120 + C:6E30H LINE# 121 + C:6E32H LINE# 123 + C:6E35H LINE# 124 + ------- ENDPROC SYSTEMINTOSLEEP + ------- PROC LOWPOWERCHECK + C:56F1H LINE# 135 + C:56F1H LINE# 136 + C:56F1H LINE# 137 + C:56FDH LINE# 138 + C:56FDH LINE# 139 + C:56FFH LINE# 140 + C:5701H LINE# 141 + C:5702H LINE# 142 + C:5705H LINE# 143 + C:5705H LINE# 144 + C:5714H LINE# 145 + C:5714H LINE# 146 + C:5716H LINE# 147 + C:5718H LINE# 148 + C:5718H LINE# 149 + C:5719H LINE# 150 + C:571CH LINE# 151 + C:571CH LINE# 152 + C:5722H LINE# 153 + C:5722H LINE# 154 + C:5725H LINE# 155 + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 31 + + + C:5725H LINE# 156 + C:5734H LINE# 157 + C:5734H LINE# 158 + C:5736H LINE# 159 + C:5738H LINE# 160 + C:5738H LINE# 161 + C:5739H LINE# 163 + C:5739H LINE# 164 + C:573EH LINE# 165 + C:5756H LINE# 166 + C:5756H LINE# 167 + C:5764H LINE# 168 + C:5764H LINE# 169 + C:5766H LINE# 170 + C:5768H LINE# 171 + C:5768H LINE# 172 + C:5769H LINE# 174 + C:5769H LINE# 175 + C:576EH LINE# 176 + C:576EH LINE# 177 + C:576EH LINE# 178 + C:576FH LINE# 180 + C:576FH LINE# 181 + C:5774H LINE# 182 + C:5776H LINE# 183 + C:5776H LINE# 184 + C:5777H LINE# 186 + C:5777H LINE# 187 + C:577CH LINE# 188 + C:577EH LINE# 189 + C:577EH LINE# 190 + ------- ENDPROC LOWPOWERCHECK + ------- PROC LOWPOWERPROCESS + C:6EF9H LINE# 199 + C:6EF9H LINE# 200 + C:6EF9H LINE# 201 + C:6EFFH LINE# 202 + C:6EFFH LINE# 203 + C:6F01H LINE# 204 + C:6F19H LINE# 205 + C:6F19H LINE# 206 + C:6F1BH LINE# 207 + C:6F1EH LINE# 208 + C:6F1EH LINE# 209 + C:6F20H LINE# 210 + C:6F22H LINE# 211 + C:6F25H LINE# 212 + C:6F25H LINE# 213 + C:6F27H LINE# 214 + C:6F2AH LINE# 215 + C:6F2DH LINE# 216 + C:6F2FH LINE# 217 + C:6F32H LINE# 218 + C:6F32H LINE# 219 + C:6F35H LINE# 220 + C:6F35H LINE# 222 + C:6F38H LINE# 223 + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 32 + + + ------- ENDPROC LOWPOWERPROCESS + ------- ENDMOD LOWPOWER + + ------- MODULE UARTAPP + C:0000H SYMBOL _ICE_DUMMY_ + D:0080H PUBLIC P0 + C:3C54H PUBLIC Uart0RdCmdProcess + D:0090H PUBLIC P1 + C:70A6H PUBLIC Uart0ReadSubClassID + D:00A0H PUBLIC P2 + D:00B0H PUBLIC P3 + D:00C0H PUBLIC P4 + B:0028H.3 PUBLIC bUart0SndAckFlg + D:0080H PUBLIC P5 + B:0028H.4 PUBLIC bUart1SndAckFlg + B:0028H.5 PUBLIC bUart2SndAckFlg + X:03F3H PUBLIC ucSubClassID + C:552FH PUBLIC _InterruptUart0AppRx + C:516FH PUBLIC Uart0WrCmdProcess + C:50C4H PUBLIC InterruptUart0AppTx + X:03F4H PUBLIC ucUartErrCode + C:64DEH PUBLIC Uart0CaliVoltage + C:6A13H PUBLIC Uart0CaliTS1 + C:6A5CH PUBLIC Uart0CaliTS2 + C:6AEEH PUBLIC Page1WrRdFuncTable + C:6B12H PUBLIC Page2WrRdFuncTable + C:75DEH PUBLIC Uart0Check + D:0099H PUBLIC SBUF + C:4995H PUBLIC Uart0CaliCurrent + C:6437H PUBLIC Uart0CaliRTC + X:03F5H PUBLIC ucUart0SndLength + X:03F6H PUBLIC ucUart1SndLength + X:03F7H PUBLIC ucUart2SndLength + D:00B1H PUBLIC RSTSTAT + X:03F8H PUBLIC ucUart0TimeoutCnt + X:03F9H PUBLIC ucUart1TimeoutCnt + X:03FAH PUBLIC ucUart2TimeoutCnt + X:0400H PUBLIC ucUart0Buf + X:04A0H PUBLIC ucUart1Buf + X:0540H PUBLIC ucUart2Buf + B:0028H.6 PUBLIC bUart0ReadFlg + B:0028H.7 PUBLIC bUart1ReadFlg + B:0029H.0 PUBLIC bUart2ReadFlg + C:398AH PUBLIC Uart0IapCheckHandshake + B:0029H.1 PUBLIC bUart0WriteFlg + C:5BA2H PUBLIC _Uart0ReadInfo + C:76FDH PUBLIC Uart0Handshake + B:0029H.2 PUBLIC bUart1WriteFlg + B:0029H.3 PUBLIC bUart2WriteFlg + C:6C9CH PUBLIC Uart0WriteManufacture + C:70DDH PUBLIC Uart0CaliCurOffset + B:0098H.4 PUBLIC REN + B:0029H.4 PUBLIC bISPFlg + C:591EH PUBLIC _Uart0WriteInfo + X:03FBH PUBLIC ucUart0BufPT + X:03FCH PUBLIC ucUart1BufPT + X:03FDH PUBLIC ucUart2BufPT + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 33 + + + D:009AH PUBLIC SADDR + X:03FEH PUBLIC uiReceCheckSum + ------- PROC UART0HANDSHAKE + C:76FDH LINE# 110 + C:76FDH LINE# 111 + C:76FDH LINE# 112 + C:7703H LINE# 113 + C:7703H LINE# 114 + C:7708H LINE# 115 + C:7709H LINE# 117 + C:7709H LINE# 118 + C:770EH LINE# 119 + C:770EH LINE# 120 + ------- ENDPROC UART0HANDSHAKE + ------- PROC _UART0WRITEINFO + X:0324H SYMBOL ptr + ------- DO + D:0007H SYMBOL i + ------- ENDDO + C:591EH LINE# 170 + C:5926H LINE# 171 + C:5926H LINE# 174 + C:5947H LINE# 175 + C:5947H LINE# 176 + C:5952H LINE# 177 + C:5952H LINE# 178 + C:5955H LINE# 179 + C:596EH LINE# 180 + C:5978H LINE# 181 + C:597BH LINE# 183 + C:5980H LINE# 184 + C:5982H LINE# 185 + C:5984H LINE# 186 + C:5986H LINE# 187 + C:5988H LINE# 188 + C:598AH LINE# 189 + C:598CH LINE# 190 + C:5990H LINE# 192 + C:5992H LINE# 193 + C:5996H LINE# 195 + C:599BH LINE# 196 + C:599CH LINE# 198 + C:599CH LINE# 199 + C:59A1H LINE# 200 + C:59A1H LINE# 201 + ------- ENDPROC _UART0WRITEINFO + ------- PROC _UART0READINFO + D:0006H SYMBOL ptr + ------- DO + D:0005H SYMBOL i + ------- ENDDO + C:5BA2H LINE# 293 + C:5BA2H LINE# 294 + C:5BA2H LINE# 297 + C:5BABH LINE# 298 + C:5BABH LINE# 299 + C:5BADH LINE# 300 + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 34 + + + C:5BADH LINE# 302 + C:5BB2H LINE# 303 + C:5BB4H LINE# 304 + C:5BB6H LINE# 305 + C:5BB8H LINE# 306 + C:5BBAH LINE# 307 + C:5BBCH LINE# 308 + C:5BBEH LINE# 309 + C:5BC2H LINE# 311 + C:5BCDH LINE# 312 + C:5BCDH LINE# 313 + C:5BD0H LINE# 314 + C:5BE2H LINE# 315 + C:5BE7H LINE# 316 + C:5BEAH LINE# 317 + C:5C06H LINE# 319 + C:5C18H LINE# 320 + ------- ENDPROC _UART0READINFO + ------- PROC UART0WRITEMANUFACTURE + C:6C9CH LINE# 406 + C:6C9CH LINE# 407 + C:6C9CH LINE# 408 + C:6CBDH LINE# 409 + C:6CBDH LINE# 410 + C:6CC5H LINE# 411 + C:6CC5H LINE# 412 + C:6CCBH LINE# 413 + C:6CCDH LINE# 414 + C:6CD1H LINE# 415 + C:6CD1H LINE# 416 + C:6CD3H LINE# 417 + C:6CD3H LINE# 418 + C:6CD5H LINE# 419 + C:6CDAH LINE# 420 + C:6CDBH LINE# 422 + C:6CDBH LINE# 423 + C:6CE0H LINE# 424 + C:6CE0H LINE# 425 + ------- ENDPROC UART0WRITEMANUFACTURE + ------- PROC UART0READSUBCLASSID + C:70A6H LINE# 497 + C:70A6H LINE# 498 + C:70A6H LINE# 499 + C:70C7H LINE# 500 + C:70C7H LINE# 501 + C:70CFH LINE# 503 + C:70D1H LINE# 504 + C:70D6H LINE# 505 + C:70D7H LINE# 507 + C:70D7H LINE# 508 + C:70DCH LINE# 509 + C:70DCH LINE# 510 + ------- ENDPROC UART0READSUBCLASSID + ------- PROC UART0RDCMDPROCESS + ------- DO + X:0322H SYMBOL rdaddr + ------- ENDDO + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 35 + + + C:3C54H LINE# 566 + C:3C54H LINE# 567 + C:3C54H LINE# 570 + C:3CA8H LINE# 571 + C:3CA8H LINE# 572 + C:3CA8H LINE# 573 + C:3CA8H LINE# 574 + C:3CA8H LINE# 575 + C:3CA8H LINE# 576 + C:3CA8H LINE# 577 + C:3CA8H LINE# 578 + C:3CA8H LINE# 579 + C:3CA8H LINE# 580 + C:3CA8H LINE# 581 + C:3CA8H LINE# 582 + C:3CB8H LINE# 583 + C:3CB9H LINE# 585 + C:3CB9H LINE# 586 + C:3CC0H LINE# 587 + C:3CC1H LINE# 589 + C:3CC1H LINE# 590 + C:3CC8H LINE# 591 + C:3CC9H LINE# 593 + C:3CC9H LINE# 594 + C:3CD0H LINE# 595 + C:3CD1H LINE# 597 + C:3CD1H LINE# 598 + C:3CD8H LINE# 599 + C:3CD9H LINE# 601 + C:3CD9H LINE# 602 + C:3CE0H LINE# 603 + C:3CE1H LINE# 605 + C:3CE1H LINE# 606 + C:3CE8H LINE# 607 + C:3CE9H LINE# 609 + C:3CE9H LINE# 610 + C:3CF0H LINE# 611 + C:3CF1H LINE# 613 + C:3CF1H LINE# 614 + C:3CF8H LINE# 615 + C:3CF9H LINE# 617 + C:3CF9H LINE# 618 + C:3D00H LINE# 619 + C:3D01H LINE# 621 + C:3D01H LINE# 622 + C:3D08H LINE# 623 + C:3D09H LINE# 625 + C:3D09H LINE# 626 + C:3D10H LINE# 627 + C:3D11H LINE# 629 + C:3D11H LINE# 630 + C:3D18H LINE# 631 + C:3D19H LINE# 633 + C:3D19H LINE# 634 + C:3D20H LINE# 635 + C:3D21H LINE# 637 + C:3D21H LINE# 638 + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 36 + + + C:3D28H LINE# 639 + C:3D29H LINE# 641 + C:3D29H LINE# 642 + C:3D32H LINE# 643 + C:3D32H LINE# 644 + C:3D34H LINE# 645 + C:3D3AH LINE# 646 + C:3D3BH LINE# 647 + C:3D49H LINE# 648 + C:3D49H LINE# 649 + C:3D4BH LINE# 650 + C:3D51H LINE# 651 + C:3D52H LINE# 652 + C:3D59H LINE# 653 + C:3D59H LINE# 654 + C:3D77H LINE# 655 + C:3D7AH LINE# 656 + C:3D7BH LINE# 657 + C:3D82H LINE# 658 + C:3D82H LINE# 659 + C:3DA0H LINE# 660 + C:3DA3H LINE# 661 + C:3DA3H LINE# 662 + C:3DA3H LINE# 663 + C:3DA3H LINE# 664 + ------- ENDPROC UART0RDCMDPROCESS + ------- PROC UART0CALIVOLTAGE + C:64DEH LINE# 890 + C:64DEH LINE# 891 + C:64DEH LINE# 892 + C:64FFH LINE# 893 + C:64FFH LINE# 894 + C:6512H LINE# 896 + C:6515H LINE# 897 + C:6515H LINE# 898 + C:651AH LINE# 899 + C:651BH LINE# 901 + C:651BH LINE# 902 + C:651DH LINE# 903 + C:6524H LINE# 904 + C:6529H LINE# 905 + C:6529H LINE# 906 + C:652AH LINE# 908 + C:652AH LINE# 909 + C:652FH LINE# 910 + C:652FH LINE# 911 + ------- ENDPROC UART0CALIVOLTAGE + ------- PROC UART0CALICURRENT + C:4995H LINE# 983 + C:4995H LINE# 984 + C:4995H LINE# 985 + C:49B9H LINE# 986 + C:49B9H LINE# 990 + C:4A21H LINE# 992 + C:4A37H LINE# 993 + C:4A37H LINE# 994 + C:4A3CH LINE# 995 + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 37 + + + C:4A3DH LINE# 997 + C:4A3DH LINE# 998 + C:4A3FH LINE# 999 + C:4A46H LINE# 1000 + C:4A4BH LINE# 1001 + C:4A4BH LINE# 1002 + C:4A4CH LINE# 1004 + C:4A4CH LINE# 1005 + C:4A51H LINE# 1006 + C:4A51H LINE# 1007 + ------- ENDPROC UART0CALICURRENT + ------- PROC UART0CALICUROFFSET + C:70DDH LINE# 1010 + C:70DDH LINE# 1011 + C:70DDH LINE# 1012 + C:70FEH LINE# 1013 + C:70FEH LINE# 1014 + C:7100H LINE# 1015 + C:7107H LINE# 1017 + C:710CH LINE# 1018 + C:710DH LINE# 1020 + C:710DH LINE# 1021 + C:7112H LINE# 1022 + C:7112H LINE# 1023 + ------- ENDPROC UART0CALICUROFFSET + ------- PROC UART0CALITS1 + C:6A13H LINE# 1133 + C:6A13H LINE# 1134 + C:6A13H LINE# 1135 + C:6A34H LINE# 1136 + C:6A34H LINE# 1137 + C:6A36H LINE# 1138 + C:6A49H LINE# 1139 + C:6A50H LINE# 1141 + C:6A55H LINE# 1142 + C:6A56H LINE# 1144 + C:6A56H LINE# 1145 + C:6A5BH LINE# 1146 + C:6A5BH LINE# 1147 + ------- ENDPROC UART0CALITS1 + ------- PROC UART0CALITS2 + C:6A5CH LINE# 1150 + C:6A5CH LINE# 1151 + C:6A5CH LINE# 1152 + C:6A7DH LINE# 1153 + C:6A7DH LINE# 1154 + C:6A7FH LINE# 1155 + C:6A92H LINE# 1156 + C:6A99H LINE# 1158 + C:6A9EH LINE# 1159 + C:6A9FH LINE# 1161 + C:6A9FH LINE# 1162 + C:6AA4H LINE# 1163 + C:6AA4H LINE# 1164 + ------- ENDPROC UART0CALITS2 + ------- PROC UART0CALIRTC + ------- DO + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 38 + + + D:0007H SYMBOL i + ------- ENDDO + C:6437H LINE# 1256 + C:6437H LINE# 1257 + C:6437H LINE# 1260 + C:6458H LINE# 1261 + C:6458H LINE# 1262 + C:6459H LINE# 1263 + C:6459H LINE# 1264 + C:6471H LINE# 1265 + C:6476H LINE# 1266 + C:6478H LINE# 1267 + C:647FH LINE# 1268 + C:6484H LINE# 1269 + C:6485H LINE# 1271 + C:6485H LINE# 1272 + C:648AH LINE# 1273 + C:648AH LINE# 1274 + ------- ENDPROC UART0CALIRTC + ------- PROC UART0WRCMDPROCESS + ------- DO + X:0322H SYMBOL rdaddr + ------- ENDDO + C:516FH LINE# 1340 + C:516FH LINE# 1341 + C:516FH LINE# 1343 + C:519BH LINE# 1344 + C:519BH LINE# 1345 + C:519BH LINE# 1346 + C:519EH LINE# 1347 + C:519FH LINE# 1348 + C:519FH LINE# 1349 + C:51A2H LINE# 1350 + C:51A3H LINE# 1351 + C:51A3H LINE# 1352 + C:51A6H LINE# 1353 + C:51A7H LINE# 1354 + C:51A7H LINE# 1355 + C:51AAH LINE# 1356 + C:51ABH LINE# 1357 + C:51ABH LINE# 1358 + C:51AEH LINE# 1359 + C:51AFH LINE# 1360 + C:51AFH LINE# 1361 + C:51B2H LINE# 1362 + C:51B3H LINE# 1363 + C:51B3H LINE# 1364 + C:51B6H LINE# 1365 + C:51B7H LINE# 1367 + C:51B7H LINE# 1368 + C:51BAH LINE# 1369 + C:51BBH LINE# 1370 + C:51BBH LINE# 1371 + C:51D9H LINE# 1372 + C:51DCH LINE# 1373 + C:51DDH LINE# 1374 + C:51DDH LINE# 1375 + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 39 + + + C:51FBH LINE# 1376 + C:51FEH LINE# 1377 + C:51FFH LINE# 1379 + C:51FFH LINE# 1380 + C:5206H LINE# 1381 + C:5206H LINE# 1382 + C:5208H LINE# 1383 + C:520AH LINE# 1384 + C:520FH LINE# 1385 + C:5210H LINE# 1387 + C:5210H LINE# 1388 + C:5215H LINE# 1389 + C:5215H LINE# 1390 + C:5215H LINE# 1391 + C:5215H LINE# 1392 + ------- ENDPROC UART0WRCMDPROCESS + ------- PROC UART0IAPCHECKHANDSHAKE + ------- DO + D:0007H SYMBOL i + D:0007H SYMBOL databak + X:0322H SYMBOL checksum + ------- ENDDO + C:398AH LINE# 1526 + C:398AH LINE# 1527 + C:398AH LINE# 1529 + C:3991H LINE# 1531 + C:3999H LINE# 1532 + C:3999H LINE# 1533 + C:39A1H LINE# 1534 + C:39A1H LINE# 1535 + C:39A6H LINE# 1536 + C:39A7H LINE# 1538 + C:39A7H LINE# 1539 + C:39AEH LINE# 1540 + C:39B2H LINE# 1541 + C:39B2H LINE# 1542 + C:39B3H LINE# 1544 + C:39B3H LINE# 1545 + C:39CEH LINE# 1546 + C:39CEH LINE# 1547 + C:39E1H LINE# 1548 + C:39E1H LINE# 1549 + C:39F9H LINE# 1550 + C:39F9H LINE# 1551 + C:3A01H LINE# 1552 + C:3A01H LINE# 1553 + C:3A0CH LINE# 1554 + C:3A0CH LINE# 1555 + C:3A11H LINE# 1556 + C:3A11H LINE# 1557 + C:3A12H LINE# 1558 + C:3A1AH LINE# 1559 + C:3A1AH LINE# 1560 + C:3A25H LINE# 1561 + C:3A25H LINE# 1562 + C:3A2CH LINE# 1563 + C:3A2CH LINE# 1564 + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 40 + + + C:3A2CH LINE# 1565 + C:3A2DH LINE# 1567 + C:3A2DH LINE# 1568 + C:3A32H LINE# 1569 + C:3A61H LINE# 1570 + C:3A61H LINE# 1571 + C:3A68H LINE# 1572 + C:3A68H LINE# 1574 + C:3A6FH LINE# 1575 + C:3A6FH LINE# 1576 + C:3A73H LINE# 1577 + C:3A75H LINE# 1579 + C:3A75H LINE# 1580 + C:3A77H LINE# 1581 + C:3A7CH LINE# 1582 + C:3A7CH LINE# 1584 + C:3A81H LINE# 1585 + C:3A87H LINE# 1587 + C:3A8CH LINE# 1588 + C:3A92H LINE# 1589 + C:3A95H LINE# 1591 + C:3AAEH LINE# 1592 + C:3AAEH LINE# 1593 + C:3AC3H LINE# 1594 + C:3AC6H LINE# 1596 + C:3ADAH LINE# 1597 + C:3AEBH LINE# 1599 + C:3AF0H LINE# 1600 + C:3AF0H LINE# 1601 + C:3AF0H LINE# 1602 + ------- ENDPROC UART0IAPCHECKHANDSHAKE + ------- PROC _INTERRUPTUART0APPRX + D:0007H SYMBOL RxData + C:552FH LINE# 1789 + C:552FH LINE# 1790 + C:552FH LINE# 1791 + C:553EH LINE# 1792 + C:5544H LINE# 1793 + C:554AH LINE# 1794 + C:554AH LINE# 1795 + C:554CH LINE# 1796 + C:554CH LINE# 1797 + C:5554H LINE# 1798 + C:5554H LINE# 1799 + C:555EH LINE# 1800 + C:555EH LINE# 1801 + C:5562H LINE# 1802 + C:5562H LINE# 1803 + C:5564H LINE# 1804 + C:5566H LINE# 1805 + C:5568H LINE# 1807 + C:5568H LINE# 1808 + C:556AH LINE# 1809 + C:556CH LINE# 1810 + C:556CH LINE# 1811 + C:556EH LINE# 1812 + C:5576H LINE# 1813 + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 41 + + + C:5576H LINE# 1814 + C:557BH LINE# 1815 + C:557BH LINE# 1816 + C:557BH LINE# 1818 + C:557EH LINE# 1819 + C:557EH LINE# 1820 + C:5586H LINE# 1821 + C:5586H LINE# 1822 + C:5589H LINE# 1823 + C:5589H LINE# 1824 + C:558BH LINE# 1825 + C:558EH LINE# 1826 + C:558EH LINE# 1827 + C:55A7H LINE# 1828 + C:55A7H LINE# 1829 + C:55AAH LINE# 1830 + C:55ACH LINE# 1831 + C:55B1H LINE# 1832 + C:55B1H LINE# 1833 + C:55B3H LINE# 1835 + C:55B3H LINE# 1836 + C:55B6H LINE# 1837 + C:55B6H LINE# 1838 + C:55B8H LINE# 1840 + C:55BDH LINE# 1841 + C:55C1H LINE# 1842 + C:55C5H LINE# 1843 + ------- ENDPROC _INTERRUPTUART0APPRX + ------- PROC INTERRUPTUART0APPTX + C:50C4H LINE# 1852 + C:50C4H LINE# 1853 + C:50C4H LINE# 1854 + C:50D4H LINE# 1855 + C:50D4H LINE# 1856 + C:50EDH LINE# 1857 + C:50EDH LINE# 1858 + C:50EFH LINE# 1859 + C:50F1H LINE# 1860 + C:50F3H LINE# 1861 + C:50F7H LINE# 1862 + C:50F9H LINE# 1863 + C:50FBH LINE# 1864 + C:50FDH LINE# 1865 + C:50FFH LINE# 1866 + C:5101H LINE# 1868 + C:5101H LINE# 1869 + C:5107H LINE# 1870 + C:5116H LINE# 1871 + C:5116H LINE# 1872 + C:5118H LINE# 1873 + C:5135H LINE# 1874 + C:5135H LINE# 1875 + C:5137H LINE# 1876 + C:513CH LINE# 1877 + C:513EH LINE# 1878 + C:5142H LINE# 1879 + C:5144H LINE# 1880 + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 42 + + + C:5146H LINE# 1881 + C:5148H LINE# 1882 + C:514AH LINE# 1883 + C:514CH LINE# 1885 + C:514CH LINE# 1886 + C:5152H LINE# 1887 + C:5161H LINE# 1888 + C:5161H LINE# 1890 + C:5166H LINE# 1891 + C:516AH LINE# 1892 + C:516EH LINE# 1893 + ------- ENDPROC INTERRUPTUART0APPTX + ------- PROC UART0CHECK + C:75DEH LINE# 1902 + C:75DEH LINE# 1903 + C:75DEH LINE# 1904 + C:75E9H LINE# 1905 + C:75E9H LINE# 1906 + C:75EBH LINE# 1907 + C:75EFH LINE# 1908 + C:75F1H LINE# 1909 + C:75F1H LINE# 1910 + ------- ENDPROC UART0CHECK + ------- ENDMOD UARTAPP + + ------- MODULE MEMORY + C:0000H SYMBOL _ICE_DUMMY_ + B:0020H.2 PUBLIC bOCRC_EN + X:00ABH PUBLIC E2uiLearnLowTempe + D:0080H PUBLIC P0 + D:0022H PUBLIC uiBatStatus + D:0090H PUBLIC P1 + X:00BAH PUBLIC E2ulCycleThreshold + D:00A0H PUBLIC P2 + D:00B0H PUBLIC P3 + B:0025H.6 PUBLIC bFastDischarge + D:00C0H PUBLIC P4 + D:0080H PUBLIC P5 + B:0023H.0 PUBLIC bOV + X:002AH PUBLIC E2ucLowPowerDeley + B:0023H.1 PUBLIC bUV + X:00BEH PUBLIC E2ulCycleThresholdCount + B:0025H.5 PUBLIC bMidDischarge + B:0020H.6 PUBLIC bOCPM + B:0025H.2 PUBLIC bCHGING + X:00C5H PUBLIC E2ucReserved + X:006DH PUBLIC E2slOCCCurrent + X:00D7H PUBLIC E2siTS0Offset + X:0088H PUBLIC E2ucLoadRDelay + X:00D9H PUBLIC E2siTS1Offset + X:0071H PUBLIC E2ucOCCDelay + X:0024H PUBLIC E2uiLearnLowTemp + X:00B2H PUBLIC E2ulDfRC + B:0025H.4 PUBLIC bSlowDischarge + B:0021H.3 PUBLIC bLEDNum0 + B:0021H.4 PUBLIC bLEDNum1 + X:00CEH PUBLIC E2uiAFEOVvol + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 43 + + + X:001EH PUBLIC E2ulCycleThreshold_Rsv + X:002FH PUBLIC E2ucRamCheckFlg0 + X:006AH PUBLIC E2siChgEndCurr + X:0061H PUBLIC E2ucRamCheckFlg1 + B:0025H.3 PUBLIC bDSGING + X:0074H PUBLIC E2ucRamCheckFlg2 + X:008DH PUBLIC E2ucDSG1PWMRatioH + X:0089H PUBLIC E2ucRamCheckFlg3 + X:0064H PUBLIC E2uiOVRvol + X:002CH PUBLIC E2siChgBKCur + X:00C4H PUBLIC E2ucDsgEndFlg + X:008EH PUBLIC E2ucRamCheckFlg5 + X:0053H PUBLIC E2ucDeviceChem + X:0099H PUBLIC E2ucRamCheckFlg6 + B:0022H.5 PUBLIC bAFE_SC + B:0025H.0 PUBLIC bCHGMOS + B:0020H.3 PUBLIC bBAL_EN + X:00AEH PUBLIC E2ulFCC + X:00A2H PUBLIC E2ucRamCheckFlg7 + X:008CH PUBLIC E2ucDSG1PWMRatioL + X:00AAH PUBLIC E2ucRamCheckFlg8 + X:00CCH PUBLIC E2ucRamCheckFlg9 + X:0077H PUBLIC E2uiUVRvol + X:0047H PUBLIC E2ucDeviceName + X:0091H PUBLIC E2uiTempOTCR + X:009CH PUBLIC E2uiTempOTDR + X:0026H PUBLIC E2uiNearFCC + B:0021H.5 PUBLIC bTempNum + X:00D5H PUBLIC E2siCadcOffset + X:0098H PUBLIC E2ucTempRDelay + D:0026H PUBLIC ucAFEStatus + X:0095H PUBLIC E2uiTempUTCR + B:0020H.7 PUBLIC bEnEEPRomBK + X:00D1H PUBLIC E2uiVPackGain + X:00D0H PUBLIC E2ucRamCheckFlgA + X:00A5H PUBLIC E2uiBalanceVolDiff + X:00A0H PUBLIC E2uiTempUTDR + X:00DCH PUBLIC E2ucRamCheckFlgB + B:0025H.1 PUBLIC bDSGMOS + X:01FEH PUBLIC E2uiCheckFlag + X:00A3H PUBLIC E2uiBalanceVol + B:0022H.4 PUBLIC bAFE_OV + X:0068H PUBLIC E2uiChgEndVol + X:00ADH PUBLIC E2ucSOC + X:0035H PUBLIC E2ucMNFName + B:0023H.2 PUBLIC bOCC + X:00B6H PUBLIC E2ulChgFCC + D:0020H PUBLIC uiPackConfig + X:0067H PUBLIC E2ucOVRDelay + X:002EH PUBLIC E2ucRTCBKDelay + X:0041H PUBLIC E2ulMNFDate + B:0020H.5 PUBLIC bCTO_EN + X:0002H PUBLIC E2uiVOC + X:007AH PUBLIC E2ucUVRDelay + X:007CH PUBLIC E2uiDsgEndVol + X:00DBH PUBLIC E2ucCalibrated + B:0026H.4 PUBLIC bAfeCHG + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 44 + + + X:00D3H PUBLIC E2siCadcGain + X:001AH PUBLIC E2ulFCC_Rsv + B:0026H.2 PUBLIC bAfeChging + X:00DDH PUBLIC Reserved + B:0021H.0 PUBLIC bCellNum1 + X:007EH PUBLIC E2slOCD1Current + X:0073H PUBLIC E2ucReserved2 + B:0022H.6 PUBLIC bCTO + B:0022H.0 PUBLIC bOTC + B:0021H.1 PUBLIC bCellNum2 + X:0083H PUBLIC E2slOCD2Current + B:0022H.1 PUBLIC bOTD + B:0021H.2 PUBLIC bCellNum3 + X:0082H PUBLIC E2ucOCD1Delay + X:0087H PUBLIC E2ucOCD2Delay + B:0024H.2 PUBLIC bVDQ + X:00A7H PUBLIC E2siBalCurrent + B:0026H.5 PUBLIC bAfeDSG + B:0022H.2 PUBLIC bUTC + X:0062H PUBLIC E2uiOVvol + X:0028H PUBLIC E2siDfilterCur + B:0026H.3 PUBLIC bAfeDsging + B:0022H.3 PUBLIC bUTD + X:0000H PUBLIC E2uiPackConfigMap + X:0075H PUBLIC E2uiUVvol + X:00C2H PUBLIC E2uiCycleCount + X:008FH PUBLIC E2uiTempOTC + X:009AH PUBLIC E2uiTempOTD + B:0021H.6 PUBLIC bChgerLock + X:0097H PUBLIC E2ucTempDelay + B:0026H.0 PUBLIC bAfeChger + X:0093H PUBLIC E2uiTempUTC + X:009EH PUBLIC E2uiTempUTD + X:0034H PUBLIC E2ucID + X:00CDH PUBLIC E2ucAFEProtectConfig + X:0032H PUBLIC E2uiHWVersion + X:005FH PUBLIC E2uiChemID + X:002BH PUBLIC E2ucChgBKDelay + X:0066H PUBLIC E2ucOVDelay + D:0024H PUBLIC uiPackStatus + B:0023H.3 PUBLIC bOCD1 + B:0023H.4 PUBLIC bOCD2 + B:0024H.0 PUBLIC bFC + B:0020H.4 PUBLIC bPF_EN + X:0072H PUBLIC E2ucOCCRDelay + X:0016H PUBLIC E2ulDesignCapacity + B:0024H.1 PUBLIC bFD + B:0020H.0 PUBLIC bSC_EN + X:0045H PUBLIC E2uiSerialNum + X:0030H PUBLIC E2uiSWVersion + X:00A9H PUBLIC E2ucBalanceDelay + X:008AH PUBLIC E2uiDSG1PWMFreq + X:0079H PUBLIC E2ucUVDelay + X:006CH PUBLIC E2ucChgEndDelay + B:0021H.7 PUBLIC bLoadLock + B:0026H.1 PUBLIC bAfeLoad + X:0022H PUBLIC E2uiCycleCount_Rsv + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 45 + + + I:00A0H PUBLIC STACK + B:0020H.1 PUBLIC bOV_EN + X:007BH PUBLIC E2ucDsgEndDelay + ------- ENDMOD MEMORY + + ------- MODULE AFE + C:0000H SYMBOL _ICE_DUMMY_ + X:0200H PUBLIC uiVadcVmax + D:000FH PUBLIC uiCellVmin + D:0080H PUBLIC P0 + D:0011H PUBLIC uiCellVmax + D:0090H PUBLIC P1 + D:00A0H PUBLIC P2 + D:00B0H PUBLIC P3 + C:5898H PUBLIC AFEInitReg + X:0202H PUBLIC uiTempeMin + D:00C0H PUBLIC P4 + D:0080H PUBLIC P5 + X:0204H PUBLIC uiTempeMax + B:002BH.2 PUBLIC bCADCFlg + C:768BH PUBLIC AfeADCEn + C:6FF4H PUBLIC AFEClrFlg + C:7585H PUBLIC AFERdStatus + D:0013H PUBLIC ucCellNum + X:0206H PUBLIC Info + C:76EAH PUBLIC AfeTempADCDis + X:023CH PUBLIC slCadcCurBuf + B:002BH.3 PUBLIC bAfeErr + B:002BH.4 PUBLIC bVADCFlg + C:6FB7H PUBLIC AFERdFlg + C:759DH PUBLIC _AfeAlarmDis + C:7678H PUBLIC AfeWDTDis + B:002BH.5 PUBLIC bAfeI2CRWErrFlg + C:75B4H PUBLIC _AFEMosCtl + C:76D7H PUBLIC AfeTempADCEn + X:027CH PUBLIC ucTempeMiddle + C:770FH PUBLIC _AfeAlarmEn + C:7665H PUBLIC AfeWDTEn + X:027DH PUBLIC slCadcCurrent + X:0281H PUBLIC slCadcCurAverage + C:76C4H PUBLIC AfeCADCDis + C:762CH PUBLIC AFEChgerCheckDis + C:6F78H PUBLIC _AfeBalCtl + X:0285H PUBLIC AFE + C:76B1H PUBLIC AfeCADCEn + C:7619H PUBLIC AFEChgerCheckEn + C:6113H PUBLIC AFERamCheck + C:7652H PUBLIC AFELoadCheckDis + D:00C8H PUBLIC TWICON + X:02A3H PUBLIC REG + C:73AEH PUBLIC AFEEnterPD + C:7721H PUBLIC AFEInit + C:7552H PUBLIC AFETwiCheck + C:763FH PUBLIC AFELoadCheckEn + C:5FF5H PUBLIC _AFEReadReg + X:02B1H PUBLIC ucAfeI2CErrDelayCnt + X:02B2H PUBLIC ucCadcCnt + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 46 + + + C:769EH PUBLIC AfeADCDis + D:0014H PUBLIC ucCellNumOffset + C:5216H PUBLIC _AFEWriteReg + B:002BH.6 PUBLIC bAfeAlarmFlg + X:02B3H PUBLIC uiVadcVmin + ------- PROC AFETWICHECK + C:7552H LINE# 43 + C:7552H LINE# 44 + C:7552H LINE# 45 + C:7555H LINE# 46 + C:7555H LINE# 47 + C:7560H LINE# 48 + C:7560H LINE# 49 + C:7562H LINE# 50 + C:7565H LINE# 51 + C:7565H LINE# 52 + C:7566H LINE# 54 + C:7566H LINE# 55 + C:756BH LINE# 56 + C:756BH LINE# 57 + ------- ENDPROC AFETWICHECK + ------- PROC _AFEWRITEREG + X:032AH SYMBOL Reg + X:032BH SYMBOL Length + X:032CH SYMBOL WrBuf + ------- DO + B:0029H.6 SYMBOL Result + X:032EH SYMBOL Times + X:032FH SYMBOL i + ------- ENDDO + C:5216H LINE# 67 + C:5224H LINE# 68 + C:5224H LINE# 69 + C:5226H LINE# 70 + C:5229H LINE# 73 + C:522FH LINE# 74 + C:522FH LINE# 75 + C:523EH LINE# 76 + C:523EH LINE# 77 + C:524BH LINE# 78 + C:524BH LINE# 84 + C:524BH LINE# 85 + C:526AH LINE# 86 + C:526AH LINE# 88 + C:526DH LINE# 89 + C:526DH LINE# 90 + C:526FH LINE# 91 + C:5271H LINE# 93 + C:5271H LINE# 94 + C:5274H LINE# 95 + C:5279H LINE# 96 + C:527CH LINE# 97 + C:527FH LINE# 98 + C:527FH LINE# 99 + C:5281H LINE# 100 + C:528AH LINE# 101 + C:528AH LINE# 102 + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 47 + + + C:528CH LINE# 103 + C:528EH LINE# 105 + C:528EH LINE# 106 + C:5293H LINE# 107 + C:5299H LINE# 108 + C:52A3H LINE# 109 + C:52A3H LINE# 110 + C:52A8H LINE# 111 + C:52B0H LINE# 112 + C:52B0H LINE# 113 + C:52B5H LINE# 115 + C:52B7H LINE# 116 + ------- ENDPROC _AFEWRITEREG + ------- PROC _AFEREADREG + X:0330H SYMBOL Reg + X:0331H SYMBOL Length + X:0332H SYMBOL RdBuf + ------- DO + B:0029H.6 SYMBOL Result + X:0334H SYMBOL Times + ------- ENDDO + C:5FF5H LINE# 126 + C:6003H LINE# 127 + C:6003H LINE# 128 + C:6005H LINE# 129 + C:6008H LINE# 131 + C:600BH LINE# 132 + C:600BH LINE# 133 + C:6018H LINE# 134 + C:6018H LINE# 138 + C:6036H LINE# 140 + C:6039H LINE# 141 + C:6039H LINE# 142 + C:603BH LINE# 143 + C:603DH LINE# 145 + C:603DH LINE# 146 + C:6040H LINE# 147 + C:6045H LINE# 148 + C:6048H LINE# 149 + C:604BH LINE# 150 + C:604BH LINE# 151 + C:604DH LINE# 152 + C:604DH LINE# 153 + C:6052H LINE# 155 + C:6054H LINE# 156 + ------- ENDPROC _AFEREADREG + ------- PROC AFECLRFLG + C:6FF4H LINE# 165 + C:6FF4H LINE# 166 + C:6FF4H LINE# 167 + C:7001H LINE# 168 + C:7001H LINE# 169 + C:700BH LINE# 170 + C:700BH LINE# 171 + C:7012H LINE# 172 + C:701DH LINE# 173 + C:7024H LINE# 174 + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 48 + + + C:702FH LINE# 175 + C:702FH LINE# 176 + C:702FH LINE# 177 + ------- ENDPROC AFECLRFLG + ------- PROC AFEINITREG + ------- DO + D:0004H SYMBOL TempVar + ------- ENDDO + C:5898H LINE# 186 + C:5898H LINE# 187 + C:5898H LINE# 190 + C:589DH LINE# 191 + C:58A1H LINE# 192 + C:58A4H LINE# 193 + C:58A8H LINE# 194 + C:58ABH LINE# 195 + C:58ADH LINE# 196 + C:58B1H LINE# 197 + C:58B5H LINE# 198 + C:58B9H LINE# 199 + C:58BDH LINE# 200 + C:58C0H LINE# 202 + C:58C3H LINE# 203 + C:58C3H LINE# 204 + C:58CAH LINE# 205 + C:58DCH LINE# 206 + C:58DCH LINE# 207 + C:58DFH LINE# 208 + C:58DFH LINE# 209 + C:58E6H LINE# 210 + C:58F8H LINE# 211 + C:5915H LINE# 212 + C:591AH LINE# 213 + C:591DH LINE# 214 + C:591DH LINE# 215 + ------- ENDPROC AFEINITREG + ------- PROC AFEINIT + ------- DO + B:0029H.5 SYMBOL Result + ------- ENDDO + C:7721H LINE# 225 + C:7721H LINE# 226 + C:7721H LINE# 241 + C:772EH LINE# 242 + C:7730H LINE# 243 + ------- ENDPROC AFEINIT + ------- PROC AFERDFLG + C:6FB7H LINE# 254 + C:6FB7H LINE# 255 + C:6FB7H LINE# 256 + C:6FC4H LINE# 257 + C:6FC4H LINE# 258 + C:6FCCH LINE# 259 + C:6FCCH LINE# 260 + C:6FCEH LINE# 261 + C:6FCEH LINE# 263 + C:6FD2H LINE# 264 + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 49 + + + C:6FD2H LINE# 265 + C:6FD4H LINE# 266 + C:6FD4H LINE# 268 + C:6FDFH LINE# 269 + C:6FDFH LINE# 270 + C:6FE1H LINE# 271 + C:6FE3H LINE# 272 + C:6FE3H LINE# 273 + C:6FE7H LINE# 274 + C:6FE7H LINE# 275 + C:6FE9H LINE# 276 + C:6FE9H LINE# 278 + C:6FF0H LINE# 279 + C:6FF0H LINE# 280 + C:6FF3H LINE# 281 + C:6FF3H LINE# 282 + C:6FF3H LINE# 283 + ------- ENDPROC AFERDFLG + ------- PROC AFERDSTATUS + ------- DO + X:0326H SYMBOL RegTemp + ------- ENDDO + C:7585H LINE# 292 + C:7585H LINE# 293 + C:7585H LINE# 295 + C:7592H LINE# 296 + C:7592H LINE# 297 + C:759CH LINE# 298 + C:759CH LINE# 299 + ------- ENDPROC AFERDSTATUS + ------- PROC AFERAMCHECK + ------- DO + X:0326H SYMBOL RdBuf + X:0328H SYMBOL i + ------- ENDDO + C:6113H LINE# 308 + C:6113H LINE# 309 + C:6113H LINE# 313 + C:6123H LINE# 314 + C:6123H LINE# 315 + C:612CH LINE# 317 + C:615AH LINE# 318 + C:615AH LINE# 319 + C:6162H LINE# 320 + C:6162H LINE# 321 + C:6165H LINE# 322 + C:6166H LINE# 323 + C:6166H LINE# 324 + C:6166H LINE# 325 + C:616FH LINE# 326 + ------- ENDPROC AFERAMCHECK + ------- PROC AFEENTERPD + C:73AEH LINE# 335 + C:73AEH LINE# 336 + C:73AEH LINE# 337 + C:73B4H LINE# 338 + C:73C1H LINE# 339 + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 50 + + + C:73C1H LINE# 340 + C:73C8H LINE# 341 + C:73D3H LINE# 342 + C:73D3H LINE# 343 + ------- ENDPROC AFEENTERPD + ------- PROC _AFEMOSCTL + D:0007H SYMBOL MosStatus + C:75B4H LINE# 352 + C:75B4H LINE# 353 + C:75B4H LINE# 354 + C:75BBH LINE# 355 + C:75BDH LINE# 356 + C:75C8H LINE# 357 + ------- ENDPROC _AFEMOSCTL + ------- PROC AFECHGERCHECKEN + C:7619H LINE# 367 + C:7619H LINE# 368 + C:7619H LINE# 369 + C:7620H LINE# 370 + C:762BH LINE# 371 + ------- ENDPROC AFECHGERCHECKEN + ------- PROC AFECHGERCHECKDIS + C:762CH LINE# 374 + C:762CH LINE# 375 + C:762CH LINE# 376 + C:7633H LINE# 377 + C:763EH LINE# 378 + ------- ENDPROC AFECHGERCHECKDIS + ------- PROC AFELOADCHECKEN + C:763FH LINE# 381 + C:763FH LINE# 382 + C:763FH LINE# 383 + C:7646H LINE# 384 + C:7651H LINE# 385 + ------- ENDPROC AFELOADCHECKEN + ------- PROC AFELOADCHECKDIS + C:7652H LINE# 388 + C:7652H LINE# 389 + C:7652H LINE# 390 + C:7659H LINE# 391 + C:7664H LINE# 392 + ------- ENDPROC AFELOADCHECKDIS + ------- PROC _AFEBALCTL + X:0328H SYMBOL BalChTemp + C:6F78H LINE# 401 + C:6F80H LINE# 402 + C:6F80H LINE# 403 + C:6F94H LINE# 404 + C:6FA1H LINE# 405 + C:6FA1H LINE# 406 + C:6FABH LINE# 407 + C:6FB6H LINE# 408 + C:6FB6H LINE# 409 + ------- ENDPROC _AFEBALCTL + ------- PROC AFEWDTEN + C:7665H LINE# 418 + C:7665H LINE# 419 + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 51 + + + C:7665H LINE# 420 + C:766CH LINE# 421 + C:7677H LINE# 422 + ------- ENDPROC AFEWDTEN + ------- PROC AFEWDTDIS + C:7678H LINE# 425 + C:7678H LINE# 426 + C:7678H LINE# 427 + C:767FH LINE# 428 + C:768AH LINE# 429 + ------- ENDPROC AFEWDTDIS + ------- PROC AFEADCEN + C:768BH LINE# 438 + C:768BH LINE# 439 + C:768BH LINE# 440 + C:7692H LINE# 441 + C:769DH LINE# 442 + ------- ENDPROC AFEADCEN + ------- PROC AFEADCDIS + C:769EH LINE# 445 + C:769EH LINE# 446 + C:769EH LINE# 447 + C:76A5H LINE# 448 + C:76B0H LINE# 449 + ------- ENDPROC AFEADCDIS + ------- PROC AFECADCEN + C:76B1H LINE# 451 + C:76B1H LINE# 452 + C:76B1H LINE# 453 + C:76B8H LINE# 454 + C:76C3H LINE# 455 + ------- ENDPROC AFECADCEN + ------- PROC AFECADCDIS + C:76C4H LINE# 458 + C:76C4H LINE# 459 + C:76C4H LINE# 460 + C:76CBH LINE# 461 + C:76D6H LINE# 462 + ------- ENDPROC AFECADCDIS + ------- PROC AFETEMPADCEN + C:76D7H LINE# 464 + C:76D7H LINE# 465 + C:76D7H LINE# 466 + C:76DEH LINE# 467 + C:76E9H LINE# 468 + ------- ENDPROC AFETEMPADCEN + ------- PROC AFETEMPADCDIS + C:76EAH LINE# 471 + C:76EAH LINE# 472 + C:76EAH LINE# 473 + C:76F1H LINE# 474 + C:76FCH LINE# 475 + ------- ENDPROC AFETEMPADCDIS + ------- PROC _AFEALARMEN + D:0007H SYMBOL AlarmFlg + C:770FH LINE# 484 + C:770FH LINE# 485 + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 52 + + + C:770FH LINE# 486 + C:7715H LINE# 487 + C:7720H LINE# 488 + ------- ENDPROC _AFEALARMEN + ------- PROC _AFEALARMDIS + D:0007H SYMBOL AlarmFlg + C:759DH LINE# 490 + C:759DH LINE# 491 + C:759DH LINE# 492 + C:75A8H LINE# 493 + C:75B3H LINE# 494 + ------- ENDPROC _AFEALARMDIS + ------- ENDMOD AFE + + ------- MODULE BALANCE + C:0000H SYMBOL _ICE_DUMMY_ + D:0080H PUBLIC P0 + D:0090H PUBLIC P1 + D:00A0H PUBLIC P2 + B:002BH.7 PUBLIC bBalancingFlg + D:00B0H PUBLIC P3 + D:00C0H PUBLIC P4 + B:002CH.0 PUBLIC bCellOpenDecFlag + D:0080H PUBLIC P5 + C:7759H PUBLIC BalanceProcess + X:0536H PUBLIC ucBalanceStep + X:0537H PUBLIC ucCellOpenDecCnt + X:0538H PUBLIC ucCtoCnt + B:002CH.1 PUBLIC bBalanceFlg + C:73D4H PUBLIC CTOTurnOnCheck + X:0539H PUBLIC ucBalanceTimeCnt + B:002CH.2 PUBLIC bBalanceOddFlg + X:053AH PUBLIC uiBalanceChannel + B:002CH.3 PUBLIC bCTOValidFlg + C:3DA4H PUBLIC BalTurnOnCheck + C:4DFEH PUBLIC BalProcess + C:7113H PUBLIC CTOCheckVol + ------- PROC BALTURNONCHECK + ------- DO + D:0005H SYMBOL i + ------- ENDDO + C:3DA4H LINE# 32 + C:3DA4H LINE# 33 + C:3DA4H LINE# 36 + C:3DB0H LINE# 37 + C:3DB0H LINE# 38 + C:3DB6H LINE# 39 + C:3DB6H LINE# 40 + C:3DBDH LINE# 41 + C:3DEDH LINE# 44 + C:3DEDH LINE# 45 + C:3DEFH LINE# 46 + C:3DF4H LINE# 47 + C:3DF5H LINE# 49 + C:3DF5H LINE# 50 + C:3E3FH LINE# 51 + C:3E3FH LINE# 52 + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 53 + + + C:3E42H LINE# 53 + C:3E42H LINE# 54 + C:3E48H LINE# 55 + C:3E48H LINE# 56 + C:3E64H LINE# 57 + C:3E64H LINE# 58 + C:3E7AH LINE# 59 + C:3E7AH LINE# 60 + C:3EBFH LINE# 61 + C:3EBFH LINE# 62 + C:3EDAH LINE# 63 + C:3EDAH LINE# 64 + C:3EDDH LINE# 65 + C:3EDFH LINE# 66 + C:3EDFH LINE# 67 + C:3EE0H LINE# 69 + C:3EE0H LINE# 70 + C:3EE2H LINE# 71 + C:3EE7H LINE# 72 + C:3EE7H LINE# 73 + C:3EE7H LINE# 74 + C:3EE7H LINE# 75 + C:3EE7H LINE# 76 + ------- ENDPROC BALTURNONCHECK + ------- PROC CTOCHECKVOL + ------- DO + B:0029H.5 SYMBOL bResult + ------- ENDDO + C:7113H LINE# 87 + C:7113H LINE# 88 + C:7113H LINE# 89 + C:7115H LINE# 91 + C:7118H LINE# 92 + C:7118H LINE# 93 + C:711BH LINE# 94 + C:711BH LINE# 95 + C:711EH LINE# 96 + C:711EH LINE# 97 + C:712DH LINE# 98 + C:712DH LINE# 99 + C:712FH LINE# 100 + C:713AH LINE# 101 + C:713AH LINE# 102 + C:713CH LINE# 103 + C:713CH LINE# 104 + C:713EH LINE# 106 + C:713EH LINE# 107 + C:7140H LINE# 108 + C:7145H LINE# 109 + C:7145H LINE# 110 + C:7145H LINE# 111 + C:7145H LINE# 128 + C:7145H LINE# 130 + C:7147H LINE# 131 + ------- ENDPROC CTOCHECKVOL + ------- PROC BALPROCESS + ------- DO + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 54 + + + X:0326H SYMBOL BalChTemp + ------- ENDDO + C:4DFEH LINE# 144 + C:4DFEH LINE# 145 + C:4DFEH LINE# 150 + C:4E1CH LINE# 151 + C:4E1CH LINE# 152 + C:4E1EH LINE# 153 + C:4E1EH LINE# 155 + C:4E36H LINE# 156 + C:4E36H LINE# 157 + C:4E36H LINE# 158 + C:4E3CH LINE# 159 + C:4E3CH LINE# 160 + C:4E3FH LINE# 161 + C:4E3FH LINE# 162 + C:4E52H LINE# 163 + C:4E54H LINE# 165 + C:4E54H LINE# 166 + C:4E67H LINE# 167 + C:4E67H LINE# 168 + C:4E72H LINE# 169 + C:4E78H LINE# 170 + C:4E7AH LINE# 171 + C:4E7AH LINE# 172 + C:4E7BH LINE# 174 + C:4E7BH LINE# 175 + C:4E81H LINE# 176 + C:4E82H LINE# 178 + C:4E82H LINE# 179 + C:4E87H LINE# 180 + C:4E87H LINE# 181 + C:4E8DH LINE# 182 + C:4E93H LINE# 183 + C:4E95H LINE# 184 + C:4E95H LINE# 185 + C:4E96H LINE# 187 + C:4E96H LINE# 188 + C:4E9BH LINE# 189 + C:4E9BH LINE# 190 + C:4EA1H LINE# 191 + C:4EA2H LINE# 193 + C:4EA2H LINE# 194 + C:4EA8H LINE# 195 + C:4EAAH LINE# 196 + C:4EAAH LINE# 197 + C:4EABH LINE# 199 + C:4EABH LINE# 200 + C:4EB1H LINE# 201 + C:4EB3H LINE# 202 + C:4EB5H LINE# 203 + C:4EB7H LINE# 204 + C:4EB7H LINE# 205 + C:4EB7H LINE# 206 + ------- ENDPROC BALPROCESS + ------- PROC CTOTURNONCHECK + C:73D4H LINE# 215 + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 55 + + + C:73D4H LINE# 216 + C:73D4H LINE# 220 + C:73DAH LINE# 222 + C:73DAH LINE# 223 + C:73E5H LINE# 224 + C:73E5H LINE# 225 + C:73E8H LINE# 226 + C:73EBH LINE# 227 + C:73EBH LINE# 228 + C:73EDH LINE# 229 + C:73EFH LINE# 230 + C:73F9H LINE# 231 + C:73F9H LINE# 232 + C:73F9H LINE# 233 + C:73F9H LINE# 234 + ------- ENDPROC CTOTURNONCHECK + ------- PROC BALANCEPROCESS + C:7759H LINE# 242 + C:7759H LINE# 243 + C:7759H LINE# 244 + C:775CH LINE# 246 + C:775FH LINE# 248 + C:7762H LINE# 249 + ------- ENDPROC BALANCEPROCESS + ------- ENDMOD BALANCE + + ------- MODULE CALCULATE + C:0000H SYMBOL _ICE_DUMMY_ + C:4EB8H PUBLIC OffsetCalculate + D:0080H PUBLIC P0 + D:0090H PUBLIC P1 + D:00A0H PUBLIC P2 + D:00B0H PUBLIC P3 + C:2DEAH PUBLIC _CalcuTemp + D:00C0H PUBLIC P4 + D:0080H PUBLIC P5 + C:71E6H PUBLIC siCurTempOffset + C:3532H PUBLIC AfeCalcuCurr + C:4163H PUBLIC AfeCalcuVol + C:6B36H PUBLIC AfeGetTempe + X:049EH PUBLIC ucChgingCheckCnt + C:75F2H PUBLIC AFEInfoProcess + X:049FH PUBLIC ucDsgingCheckCnt + B:00A8H.4 PUBLIC ES0 + C:697FH PUBLIC AfeGetVol + C:44BAH PUBLIC AfeCalcuTempe + ------- PROC _CALCUTEMP + D:0082H SYMBOL getdata + ------- DO + X:0326H SYMBOL i + X:0327H SYMBOL Temperature + X:0329H SYMBOL Tempcalcu + ------- ENDDO + C:2DEAH LINE# 22 + C:2DEEH LINE# 23 + C:2DEEH LINE# 31 + C:2E1CH LINE# 32 + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 56 + + + C:2E2EH LINE# 33 + C:2E2EH LINE# 34 + C:2E4BH LINE# 35 + C:2E4BH LINE# 38 + C:2E64H LINE# 39 + C:2E64H LINE# 40 + C:2E6EH LINE# 41 + C:2E71H LINE# 42 + C:2E8AH LINE# 43 + C:2E8AH LINE# 44 + C:2E94H LINE# 45 + C:2E97H LINE# 47 + C:2E97H LINE# 48 + C:2E9FH LINE# 49 + C:2EBEH LINE# 50 + C:2EBEH LINE# 51 + C:2ED1H LINE# 52 + C:2ED1H LINE# 53 + C:2EF1H LINE# 54 + C:2EF1H LINE# 55 + C:2EF1H LINE# 56 + C:2EF1H LINE# 57 + C:2EF9H LINE# 58 + C:2EF9H LINE# 60 + C:2EF9H LINE# 61 + C:2F0CH LINE# 62 + C:2F0CH LINE# 63 + C:2F2CH LINE# 64 + C:2F2CH LINE# 65 + C:2F2CH LINE# 66 + C:2F2CH LINE# 67 + C:2F34H LINE# 68 + C:2F3AH LINE# 69 + C:2F3AH LINE# 70 + C:2F42H LINE# 72 + C:2FD1H LINE# 73 + C:2FD1H LINE# 74 + C:2FD9H LINE# 75 + ------- ENDPROC _CALCUTEMP + ------- PROC AFEGETVOL + ------- DO + X:032FH SYMBOL i + B:0029H.5 SYMBOL Result + ------- ENDDO + C:697FH LINE# 84 + C:697FH LINE# 85 + C:697FH LINE# 87 + C:6981H LINE# 89 + C:699EH LINE# 90 + C:699EH LINE# 91 + C:69B9H LINE# 92 + C:69B9H LINE# 93 + C:69BBH LINE# 94 + C:69BEH LINE# 95 + C:69BEH LINE# 96 + C:69C6H LINE# 98 + C:69C8H LINE# 99 + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 57 + + + ------- ENDPROC AFEGETVOL + ------- PROC AFEGETTEMPE + ------- DO + B:0029H.5 SYMBOL Result + ------- ENDDO + C:6B36H LINE# 101 + C:6B36H LINE# 102 + C:6B36H LINE# 103 + C:6B38H LINE# 105 + C:6B45H LINE# 106 + C:6B45H LINE# 107 + C:6B47H LINE# 108 + C:6B47H LINE# 109 + C:6B54H LINE# 110 + C:6B54H LINE# 111 + C:6B56H LINE# 112 + C:6B56H LINE# 114 + C:6B63H LINE# 115 + C:6B63H LINE# 116 + C:6B65H LINE# 117 + C:6B65H LINE# 118 + C:6B6CH LINE# 119 + C:6B6CH LINE# 120 + C:6B79H LINE# 121 + C:6B79H LINE# 122 + C:6B7BH LINE# 123 + C:6B7BH LINE# 124 + C:6B7BH LINE# 126 + C:6B7DH LINE# 127 + ------- ENDPROC AFEGETTEMPE + ------- PROC AFECALCUTEMPE + ------- DO + D:0006H SYMBOL TempeData + ------- ENDDO + C:44BAH LINE# 136 + C:44BAH LINE# 137 + C:44BAH LINE# 141 + C:44C2H LINE# 142 + C:44C2H LINE# 143 + C:44D9H LINE# 145 + C:44DBH LINE# 153 + C:44E2H LINE# 155 + C:44E4H LINE# 163 + C:450AH LINE# 165 + C:450CH LINE# 173 + C:4514H LINE# 176 + C:4516H LINE# 185 + C:451DH LINE# 186 + C:451DH LINE# 187 + C:453CH LINE# 189 + C:453EH LINE# 197 + C:4545H LINE# 199 + C:4547H LINE# 207 + C:4547H LINE# 209 + C:4557H LINE# 210 + C:455FH LINE# 211 + C:4562H LINE# 212 + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 58 + + + C:4562H LINE# 213 + C:4579H LINE# 215 + C:457BH LINE# 223 + C:4582H LINE# 225 + C:4584H LINE# 234 + C:4591H LINE# 235 + C:4591H LINE# 236 + C:4596H LINE# 237 + C:4597H LINE# 239 + C:4597H LINE# 240 + C:459FH LINE# 241 + C:459FH LINE# 242 + C:459FH LINE# 243 + C:459FH LINE# 244 + ------- ENDPROC AFECALCUTEMPE + ------- PROC AFECALCUVOL + ------- DO + X:0326H SYMBOL i + X:0327H SYMBOL TempPackVol + X:032BH SYMBOL TempCellVol + ------- ENDDO + C:4163H LINE# 254 + C:4163H LINE# 255 + C:4163H LINE# 257 + C:4177H LINE# 258 + C:417EH LINE# 259 + C:4188H LINE# 261 + C:4190H LINE# 262 + C:4190H LINE# 263 + C:41B1H LINE# 264 + C:41B1H LINE# 265 + C:41E8H LINE# 267 + C:41FFH LINE# 268 + C:41FFH LINE# 269 + C:420DH LINE# 270 + C:420DH LINE# 271 + C:4224H LINE# 272 + C:4224H LINE# 273 + C:4232H LINE# 274 + C:4232H LINE# 276 + C:4235H LINE# 277 + C:4235H LINE# 279 + C:4237H LINE# 287 + C:4251H LINE# 289 + C:4253H LINE# 297 + C:4268H LINE# 298 + C:4268H LINE# 299 + C:4271H LINE# 301 + C:4274H LINE# 302 + C:4274H LINE# 303 + C:427EH LINE# 304 + C:4288H LINE# 307 + C:428AH LINE# 315 + C:4298H LINE# 317 + C:429AH LINE# 325 + C:429AH LINE# 326 + C:429AH LINE# 327 + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 59 + + + ------- ENDPROC AFECALCUVOL + ------- PROC OFFSETCALCULATE + ------- DO + X:032BH SYMBOL siCadcTempOffset + X:032DH SYMBOL i + ------- ENDDO + C:4EB8H LINE# 348 + C:4EB8H LINE# 349 + C:4EB8H LINE# 350 + C:4EBFH LINE# 353 + C:4ECEH LINE# 354 + C:4ECEH LINE# 355 + C:4F3AH LINE# 356 + C:4F3AH LINE# 357 + C:4F57H LINE# 358 + C:4F59H LINE# 359 + C:4F59H LINE# 360 + C:4F62H LINE# 361 + C:4F6AH LINE# 362 + ------- ENDPROC OFFSETCALCULATE + ------- PROC AFECALCUCURR + ------- DO + X:0326H SYMBOL i + X:0327H SYMBOL Tempdata + ------- ENDDO + C:3532H LINE# 370 + C:3532H LINE# 371 + C:3532H LINE# 373 + C:353CH LINE# 375 + C:3547H LINE# 377 + C:3553H LINE# 378 + C:3553H LINE# 379 + C:355CH LINE# 380 + C:355CH LINE# 381 + C:35ABH LINE# 383 + C:35C5H LINE# 384 + C:35D0H LINE# 385 + C:35D0H LINE# 386 + C:35D2H LINE# 387 + C:35D2H LINE# 388 + C:35E1H LINE# 389 + C:35E1H LINE# 390 + C:35FFH LINE# 391 + C:3607H LINE# 392 + C:361CH LINE# 394 + C:361EH LINE# 395 + C:3620H LINE# 396 + C:3640H LINE# 397 + C:3640H LINE# 398 + C:364BH LINE# 399 + C:364BH LINE# 400 + C:364EH LINE# 401 + C:3650H LINE# 403 + C:3652H LINE# 411 + C:365EH LINE# 413 + C:3660H LINE# 421 + C:3660H LINE# 422 + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 60 + + + C:3661H LINE# 423 + C:367BH LINE# 424 + C:367BH LINE# 425 + C:3685H LINE# 426 + C:3685H LINE# 427 + C:3688H LINE# 428 + C:368AH LINE# 429 + C:3693H LINE# 431 + C:3695H LINE# 439 + C:36A1H LINE# 441 + C:36A3H LINE# 449 + C:36A3H LINE# 450 + C:36A4H LINE# 452 + C:36A4H LINE# 454 + C:36A6H LINE# 462 + C:36B0H LINE# 464 + C:36B2H LINE# 472 + C:36B2H LINE# 473 + ------- ENDPROC AFECALCUCURR + ------- PROC AFEINFOPROCESS + C:75F2H LINE# 482 + C:75F2H LINE# 483 + C:75F2H LINE# 484 + C:75F5H LINE# 486 + C:75F7H LINE# 487 + C:75FAH LINE# 488 + C:75FDH LINE# 490 + C:7600H LINE# 491 + C:7600H LINE# 492 + C:7602H LINE# 493 + C:7605H LINE# 494 + C:7605H LINE# 495 + ------- ENDPROC AFEINFOPROCESS + ------- ENDMOD CALCULATE + + ------- MODULE CALIBRATE + C:0000H SYMBOL _ICE_DUMMY_ + D:0080H PUBLIC P0 + D:0090H PUBLIC P1 + D:00A0H PUBLIC P2 + D:00B0H PUBLIC P3 + D:00C0H PUBLIC P4 + D:0080H PUBLIC P5 + X:05D6H PUBLIC slExtCur + C:7731H PUBLIC CaliCurZero + X:05DAH PUBLIC ucExtcaliSwitch1 + C:5DE2H PUBLIC CaliVoltage + C:6CE1H PUBLIC CaliTS1 + C:6D26H PUBLIC CaliTS2 + X:05DBH PUBLIC uiExtTemp1 + X:05DDH PUBLIC uiExtTemp2 + C:66C2H PUBLIC CaliProcess + C:7030H PUBLIC CaliCurrentGain + X:05DFH PUBLIC ulExtVPack + X:05E1H PUBLIC ucExtRTC + C:6D6BH PUBLIC CaliRTCTime + B:002FH.2 PUBLIC bCaliFlg + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 61 + + + ------- PROC CALIVOLTAGE + ------- DO + D:0007H SYMBOL i + X:0326H SYMBOL VPackTemp + ------- ENDDO + C:5DE2H LINE# 26 + C:5DE2H LINE# 27 + C:5DE2H LINE# 29 + C:5DE9H LINE# 31 + C:5E01H LINE# 32 + C:5E01H LINE# 33 + C:5E1BH LINE# 34 + C:5E1EH LINE# 36 + C:5E4EH LINE# 37 + ------- ENDPROC CALIVOLTAGE + ------- PROC CALICURRENTGAIN + ------- DO + D:0006H SYMBOL TempGain + ------- ENDDO + C:7030H LINE# 46 + C:7030H LINE# 47 + C:7030H LINE# 50 + C:705EH LINE# 51 + C:7062H LINE# 52 + C:7062H LINE# 53 + C:706AH LINE# 54 + C:706AH LINE# 55 + ------- ENDPROC CALICURRENTGAIN + ------- PROC CALICURZERO + C:7731H LINE# 64 + C:7731H LINE# 65 + C:7731H LINE# 66 + C:7740H LINE# 67 + ------- ENDPROC CALICURZERO + ------- PROC CALITS1 + ------- DO + D:0006H SYMBOL Tempe + ------- ENDDO + C:6CE1H LINE# 76 + C:6CE1H LINE# 77 + C:6CE1H LINE# 80 + C:6CF9H LINE# 81 + C:6D1DH LINE# 82 + C:6D1DH LINE# 83 + C:6D25H LINE# 84 + C:6D25H LINE# 85 + ------- ENDPROC CALITS1 + ------- PROC CALITS2 + ------- DO + D:0006H SYMBOL Tempe + ------- ENDDO + C:6D26H LINE# 87 + C:6D26H LINE# 88 + C:6D26H LINE# 91 + C:6D3EH LINE# 92 + C:6D62H LINE# 93 + C:6D62H LINE# 94 + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 62 + + + C:6D6AH LINE# 95 + C:6D6AH LINE# 96 + ------- ENDPROC CALITS2 + ------- PROC CALIRTCTIME + C:6D6BH LINE# 106 + C:6D6BH LINE# 107 + C:6D6BH LINE# 108 + C:6D73H LINE# 109 + C:6D7BH LINE# 110 + C:6D83H LINE# 111 + C:6D8BH LINE# 112 + C:6D93H LINE# 113 + C:6D9BH LINE# 114 + C:6DA3H LINE# 116 + C:6DAAH LINE# 118 + C:6DACH LINE# 119 + C:6DAEH LINE# 120 + ------- ENDPROC CALIRTCTIME + ------- PROC CALIPROCESS + C:66C2H LINE# 131 + C:66C2H LINE# 132 + C:66C2H LINE# 133 + C:66C5H LINE# 134 + C:66C5H LINE# 135 + C:66C7H LINE# 137 + C:66CEH LINE# 138 + C:66CEH LINE# 139 + C:66D1H LINE# 140 + C:66D1H LINE# 142 + C:66D8H LINE# 143 + C:66D8H LINE# 144 + C:66DBH LINE# 145 + C:66DBH LINE# 147 + C:66E2H LINE# 148 + C:66E2H LINE# 149 + C:66E5H LINE# 150 + C:66E5H LINE# 152 + C:66ECH LINE# 153 + C:66ECH LINE# 154 + C:66EFH LINE# 155 + C:66EFH LINE# 157 + C:66F6H LINE# 158 + C:66F6H LINE# 159 + C:66F9H LINE# 160 + C:66F9H LINE# 162 + C:6700H LINE# 163 + C:6700H LINE# 164 + C:6703H LINE# 165 + C:6703H LINE# 167 + C:6708H LINE# 168 + C:670AH LINE# 169 + C:6710H LINE# 170 + C:6710H LINE# 171 + ------- ENDPROC CALIPROCESS + ------- ENDMOD CALIBRATE + + ------- MODULE CHARGERLOAD + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 63 + + + C:0000H SYMBOL _ICE_DUMMY_ + D:0080H PUBLIC P0 + D:0090H PUBLIC P1 + D:00A0H PUBLIC P2 + D:00B0H PUBLIC P3 + D:00C0H PUBLIC P4 + D:0080H PUBLIC P5 + X:05F4H PUBLIC ucChgerRCnt + B:002DH.0 PUBLIC bChgerChkingFlg + C:6AA5H PUBLIC ChgerCheck + X:05F5H PUBLIC ucLoadRCnt + B:002DH.1 PUBLIC bLoadChkingFlg + B:002DH.2 PUBLIC bChgerStartCheckFlg + C:684DH PUBLIC LoadCheck + B:002DH.3 PUBLIC bLoadStartCheckFlg + ------- PROC LOADCHECK + C:684DH LINE# 26 + C:684DH LINE# 27 + C:684DH LINE# 28 + C:6850H LINE# 29 + C:6850H LINE# 30 + C:6852H LINE# 31 + C:6854H LINE# 32 + C:6859H LINE# 33 + C:685CH LINE# 34 + C:685DH LINE# 35 + C:6860H LINE# 36 + C:6860H LINE# 37 + C:6863H LINE# 38 + C:6866H LINE# 39 + C:6866H LINE# 40 + C:6882H LINE# 41 + C:6882H LINE# 42 + C:6884H LINE# 43 + C:6886H LINE# 44 + C:6889H LINE# 45 + C:688CH LINE# 46 + C:688CH LINE# 47 + C:688EH LINE# 48 + C:688EH LINE# 49 + C:6890H LINE# 50 + C:6892H LINE# 51 + C:6895H LINE# 52 + C:6895H LINE# 53 + C:6897H LINE# 54 + C:689AH LINE# 55 + C:689AH LINE# 56 + C:689AH LINE# 57 + C:689AH LINE# 58 + C:689AH LINE# 59 + ------- ENDPROC LOADCHECK + ------- PROC CHGERCHECK + C:6AA5H LINE# 68 + C:6AA5H LINE# 69 + C:6AA5H LINE# 70 + C:6AA8H LINE# 71 + C:6AA8H LINE# 72 + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 64 + + + C:6AAAH LINE# 73 + C:6AACH LINE# 74 + C:6AB1H LINE# 75 + C:6AB4H LINE# 76 + C:6AB5H LINE# 77 + C:6AB8H LINE# 78 + C:6AB8H LINE# 79 + C:6ABBH LINE# 80 + C:6ABEH LINE# 81 + C:6ABEH LINE# 82 + C:6ADAH LINE# 83 + C:6ADAH LINE# 84 + C:6ADCH LINE# 85 + C:6ADEH LINE# 86 + C:6AE1H LINE# 87 + C:6AE4H LINE# 88 + C:6AE4H LINE# 89 + C:6AE6H LINE# 90 + C:6AE8H LINE# 91 + C:6AEBH LINE# 92 + C:6AEBH LINE# 93 + C:6AEDH LINE# 94 + C:6AEDH LINE# 95 + C:6AEDH LINE# 96 + C:6AEDH LINE# 97 + ------- ENDPROC CHGERCHECK + ------- ENDMOD CHARGERLOAD + + ------- MODULE EXTE2PROM + C:0000H SYMBOL _ICE_DUMMY_ + C:5F26H PUBLIC Uart0RdE2PRom + C:5D04H PUBLIC Uart1RdE2PRom + D:0080H PUBLIC P0 + C:5D73H PUBLIC Uart2RdE2PRom + D:0090H PUBLIC P1 + D:00A0H PUBLIC P2 + C:337FH PUBLIC _E2PRomBKData + D:00B0H PUBLIC P3 + D:00C0H PUBLIC P4 + D:0080H PUBLIC P5 + C:638DH PUBLIC _E2PRomWrite + C:5B25H PUBLIC E2PRomInit + C:74E1H PUBLIC E2PRomTwiCheck + X:03DEH PUBLIC ucRTCBKTime1 + B:00A0H.4 PUBLIC REN1 + B:0090H.4 PUBLIC REN2 + X:03DFH PUBLIC uiRTCBKTime2 + C:6E78H PUBLIC E2PRomBKBoot + B:0027H.0 PUBLIC bE2PErase + X:03E1H PUBLIC uiE2PDataAddr + B:0027H.1 PUBLIC bE2PRErr + B:0027H.2 PUBLIC bE2PProcessFlg + X:03E3H PUBLIC bUart0E2PRdData + X:03E4H PUBLIC bUart1E2PRdData + X:03E5H PUBLIC bUart2E2PRdData + I:001DH PUBLIC ucUpDataLimitTime + D:0099H PUBLIC SBUF + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 65 + + + X:03E6H PUBLIC uiCHGValidTime + D:00B1H PUBLIC RSTSTAT + X:03E8H PUBLIC ucE2PTwiRWErrDelayCnt + D:0086H PUBLIC INSCON + B:0027H.3 PUBLIC bE2PTwiRWErrFlg + B:0027H.4 PUBLIC bE2PBKChgStart + X:03E9H PUBLIC ucRTCBuf + D:00A1H PUBLIC SBUF1 + B:0027H.5 PUBLIC bE2PBKRtc + D:0091H PUBLIC SBUF2 + X:03F0H PUBLIC bUart0RTCRdTime + B:0027H.6 PUBLIC bE2PBKDsgEndValid + B:0098H.4 PUBLIC REN + X:03F1H PUBLIC bUart1RTCRdTime + C:4677H PUBLIC E2PRomBKCheck + X:03F2H PUBLIC bUart2RTCRdTime + C:5018H PUBLIC E2PRomBKProcess + C:5E4FH PUBLIC E2PRomErase + C:6C56H PUBLIC Uart0RdRTC + C:689BH PUBLIC E2PRomBKRTC + C:68E7H PUBLIC Uart1RdRTC + B:0027H.7 PUBLIC bE2PBKDsgEnd + C:6933H PUBLIC Uart2RdRTC + B:0028H.0 PUBLIC bChgToDsgFlg + B:0028H.1 PUBLIC bDsgToChgFlg + B:0028H.2 PUBLIC bE2PBKChgStop + C:63E2H PUBLIC _E2PRomRead + ------- PROC E2PROMTWICHECK + C:74E1H LINE# 43 + C:74E1H LINE# 44 + C:74E1H LINE# 45 + C:74E4H LINE# 46 + C:74E4H LINE# 47 + C:74E7H LINE# 48 + C:74E7H LINE# 49 + C:74F2H LINE# 50 + C:74F2H LINE# 51 + C:74F4H LINE# 52 + C:74F7H LINE# 53 + C:74F7H LINE# 54 + C:74F8H LINE# 56 + C:74F8H LINE# 57 + C:74FDH LINE# 58 + C:74FDH LINE# 59 + C:74FDH LINE# 60 + ------- ENDPROC E2PROMTWICHECK + ------- PROC _E2PROMWRITE + X:0350H SYMBOL WrAddr + X:0352H SYMBOL Length + X:0353H SYMBOL WrBuf + ------- DO + B:0029H.5 SYMBOL Result + X:0355H SYMBOL i + ------- ENDDO + C:638DH LINE# 69 + C:639EH LINE# 70 + C:639EH LINE# 71 + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 66 + + + C:63A0H LINE# 74 + C:63A3H LINE# 75 + C:63A3H LINE# 76 + C:63A6H LINE# 77 + C:63A6H LINE# 85 + C:63C5H LINE# 86 + C:63C5H LINE# 87 + C:63C7H LINE# 88 + C:63C9H LINE# 89 + C:63C9H LINE# 96 + C:63CEH LINE# 97 + C:63DAH LINE# 98 + C:63DAH LINE# 99 + C:63DFH LINE# 101 + C:63E1H LINE# 102 + ------- ENDPROC _E2PROMWRITE + ------- PROC _E2PROMREAD + X:0332H SYMBOL RdAddr + X:0334H SYMBOL Length + X:0335H SYMBOL RdBuf + ------- DO + B:0029H.6 SYMBOL Result + X:0337H SYMBOL i + ------- ENDDO + C:63E2H LINE# 111 + C:63F3H LINE# 112 + C:63F3H LINE# 113 + C:63F5H LINE# 116 + C:63F8H LINE# 117 + C:63F8H LINE# 118 + C:63FBH LINE# 119 + C:63FBH LINE# 127 + C:641AH LINE# 128 + C:641AH LINE# 129 + C:641CH LINE# 130 + C:641EH LINE# 131 + C:641EH LINE# 138 + C:6423H LINE# 139 + C:642FH LINE# 140 + C:642FH LINE# 141 + C:6434H LINE# 143 + C:6436H LINE# 144 + ------- ENDPROC _E2PROMREAD + ------- PROC E2PROMERASE + ------- DO + X:0327H SYMBOL i + X:0329H SYMBOL WrBuf + ------- ENDDO + C:5E4FH LINE# 154 + C:5E4FH LINE# 155 + C:5E4FH LINE# 159 + C:5E5AH LINE# 161 + C:5E78H LINE# 162 + C:5E78H LINE# 163 + C:5E7BH LINE# 164 + C:5E9AH LINE# 165 + C:5EA6H LINE# 167 + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 67 + + + C:5EB3H LINE# 168 + C:5EBAH LINE# 169 + ------- ENDPROC E2PROMERASE + ------- PROC E2PROMINIT + ------- DO + B:0029H.5 SYMBOL Result + X:0326H SYMBOL RdBuf + ------- ENDDO + C:5B25H LINE# 178 + C:5B25H LINE# 179 + C:5B25H LINE# 180 + C:5B27H LINE# 184 + C:5B36H LINE# 186 + C:5B44H LINE# 187 + C:5B52H LINE# 189 + C:5B5EH LINE# 190 + C:5B5EH LINE# 191 + C:5B73H LINE# 192 + C:5B75H LINE# 193 + C:5B81H LINE# 194 + C:5B81H LINE# 195 + C:5B96H LINE# 196 + C:5B98H LINE# 198 + C:5B98H LINE# 199 + C:5B9FH LINE# 200 + C:5B9FH LINE# 202 + C:5BA1H LINE# 203 + ------- ENDPROC E2PROMINIT + ------- PROC E2PROMBKRTC + ------- DO + X:0327H SYMBOL WrBuf + D:0007H SYMBOL i + X:0330H SYMBOL checksum + ------- ENDDO + C:689BH LINE# 212 + C:689BH LINE# 213 + C:689BH LINE# 215 + C:68A0H LINE# 217 + C:68A7H LINE# 218 + C:68B4H LINE# 219 + C:68B6H LINE# 220 + C:68B6H LINE# 221 + C:68C8H LINE# 222 + C:68CDH LINE# 223 + C:68D5H LINE# 224 + C:68D9H LINE# 226 + C:68E6H LINE# 227 + ------- ENDPROC E2PROMBKRTC + ------- PROC E2PROMBKBOOT + ------- DO + X:0348H SYMBOL WrBuf + ------- ENDDO + C:6E78H LINE# 236 + C:6E78H LINE# 237 + C:6E78H LINE# 240 + C:6E85H LINE# 241 + C:6E8AH LINE# 242 + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 68 + + + C:6E93H LINE# 244 + C:6E9BH LINE# 245 + C:6EA3H LINE# 246 + C:6EABH LINE# 248 + C:6EB8H LINE# 249 + ------- ENDPROC E2PROMBKBOOT + ------- PROC _E2PROMBKDATA + X:0327H SYMBOL BKType + ------- DO + X:0328H SYMBOL WrBuf + ------- ENDDO + C:337FH LINE# 258 + C:3384H LINE# 259 + C:3384H LINE# 262 + C:3388H LINE# 263 + C:3388H LINE# 264 + C:3395H LINE# 265 + C:33A0H LINE# 266 + C:33A2H LINE# 268 + C:33A2H LINE# 269 + C:33A9H LINE# 270 + C:33B6H LINE# 271 + C:33C1H LINE# 272 + C:33C1H LINE# 274 + C:33CEH LINE# 275 + C:33D1H LINE# 276 + C:33DEH LINE# 277 + C:33E1H LINE# 278 + C:33F1H LINE# 279 + C:3401H LINE# 280 + C:3411H LINE# 281 + C:341CH LINE# 282 + C:342CH LINE# 283 + C:343CH LINE# 284 + C:344CH LINE# 285 + C:3457H LINE# 286 + C:346EH LINE# 287 + C:347EH LINE# 288 + C:348BH LINE# 289 + C:348EH LINE# 290 + C:349EH LINE# 291 + C:34AEH LINE# 292 + C:34BEH LINE# 293 + C:34C9H LINE# 294 + C:34D6H LINE# 295 + C:34D9H LINE# 296 + C:34E6H LINE# 297 + C:34E9H LINE# 298 + C:34F1H LINE# 299 + C:34F5H LINE# 301 + C:3506H LINE# 303 + C:3510H LINE# 304 + C:3527H LINE# 305 + C:3527H LINE# 306 + C:352EH LINE# 307 + C:352EH LINE# 309 + C:3531H LINE# 310 + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 69 + + + ------- ENDPROC _E2PROMBKDATA + ------- PROC UART0RDE2PROM + ------- DO + D:0006H SYMBOL RdAddr + ------- ENDDO + C:5F26H LINE# 319 + C:5F26H LINE# 320 + C:5F26H LINE# 323 + C:5F51H LINE# 324 + C:5F5DH LINE# 326 + C:5F7CH LINE# 327 + C:5F8EH LINE# 328 + ------- ENDPROC UART0RDE2PROM + ------- PROC UART1RDE2PROM + ------- DO + D:0006H SYMBOL RdAddr + ------- ENDDO + C:5D04H LINE# 336 + C:5D04H LINE# 337 + C:5D04H LINE# 340 + C:5D2FH LINE# 341 + C:5D3BH LINE# 343 + C:5D5AH LINE# 344 + C:5D72H LINE# 345 + ------- ENDPROC UART1RDE2PROM + ------- PROC UART2RDE2PROM + ------- DO + D:0006H SYMBOL RdAddr + ------- ENDDO + C:5D73H LINE# 353 + C:5D73H LINE# 354 + C:5D73H LINE# 357 + C:5D9EH LINE# 358 + C:5DAAH LINE# 360 + C:5DC9H LINE# 361 + C:5DE1H LINE# 362 + ------- ENDPROC UART2RDE2PROM + ------- PROC UART0RDRTC + C:6C56H LINE# 371 + C:6C56H LINE# 372 + C:6C56H LINE# 373 + C:6C5DH LINE# 374 + C:6C6AH LINE# 376 + C:6C89H LINE# 377 + C:6C9BH LINE# 378 + ------- ENDPROC UART0RDRTC + ------- PROC UART1RDRTC + C:68E7H LINE# 387 + C:68E7H LINE# 388 + C:68E7H LINE# 389 + C:68EEH LINE# 390 + C:68FBH LINE# 392 + C:691AH LINE# 393 + C:6932H LINE# 394 + ------- ENDPROC UART1RDRTC + ------- PROC UART2RDRTC + C:6933H LINE# 402 + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 70 + + + C:6933H LINE# 403 + C:6933H LINE# 404 + C:693AH LINE# 405 + C:6947H LINE# 407 + C:6966H LINE# 408 + C:697EH LINE# 409 + ------- ENDPROC UART2RDRTC + ------- PROC E2PROMBKPROCESS + ------- DO + X:0326H SYMBOL BKType + ------- ENDDO + C:5018H LINE# 417 + C:5018H LINE# 418 + C:5018H LINE# 421 + C:5024H LINE# 422 + C:5024H LINE# 423 + C:5026H LINE# 427 + C:5029H LINE# 428 + C:5029H LINE# 429 + C:502BH LINE# 430 + C:502EH LINE# 431 + C:502EH LINE# 433 + C:503DH LINE# 434 + C:503DH LINE# 435 + C:5040H LINE# 436 + C:5040H LINE# 437 + C:5045H LINE# 438 + C:5048H LINE# 439 + C:5048H LINE# 440 + C:504EH LINE# 441 + C:504EH LINE# 442 + C:5050H LINE# 443 + C:5053H LINE# 444 + C:5053H LINE# 445 + C:5059H LINE# 446 + C:5059H LINE# 447 + C:505BH LINE# 448 + C:505EH LINE# 449 + C:505EH LINE# 451 + C:505EH LINE# 453 + C:506DH LINE# 454 + C:506DH LINE# 455 + C:5070H LINE# 456 + C:5070H LINE# 457 + C:5075H LINE# 458 + C:5078H LINE# 459 + C:5078H LINE# 460 + C:507EH LINE# 461 + C:507EH LINE# 462 + C:5080H LINE# 463 + C:5083H LINE# 464 + C:5083H LINE# 465 + C:5089H LINE# 466 + C:5089H LINE# 467 + C:508BH LINE# 468 + C:508EH LINE# 469 + C:508EH LINE# 470 + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 71 + + + C:508EH LINE# 472 + C:5091H LINE# 473 + C:5091H LINE# 474 + C:5093H LINE# 475 + C:5096H LINE# 476 + C:5096H LINE# 478 + C:5099H LINE# 479 + C:5099H LINE# 480 + C:509BH LINE# 481 + C:50A1H LINE# 482 + C:50A5H LINE# 483 + C:50A5H LINE# 485 + C:50A8H LINE# 486 + C:50A8H LINE# 487 + C:50AAH LINE# 488 + C:50B0H LINE# 489 + C:50B4H LINE# 490 + C:50B4H LINE# 492 + C:50B7H LINE# 493 + C:50B7H LINE# 494 + C:50B9H LINE# 495 + C:50BFH LINE# 496 + C:50C3H LINE# 497 + C:50C3H LINE# 498 + C:50C3H LINE# 499 + ------- ENDPROC E2PROMBKPROCESS + ------- PROC E2PROMBKCHECK + C:4677H LINE# 508 + C:4677H LINE# 509 + C:4677H LINE# 510 + C:467DH LINE# 511 + C:467DH LINE# 515 + C:468CH LINE# 516 + C:468CH LINE# 517 + C:468EH LINE# 518 + C:4695H LINE# 519 + C:4695H LINE# 521 + C:46AAH LINE# 522 + C:46AAH LINE# 523 + C:46B1H LINE# 524 + C:46B3H LINE# 525 + C:46B5H LINE# 526 + C:46B5H LINE# 528 + C:46B8H LINE# 529 + C:46B8H LINE# 530 + C:46BAH LINE# 531 + C:46BDH LINE# 532 + C:46BDH LINE# 533 + C:46BFH LINE# 534 + C:46C1H LINE# 535 + C:46C3H LINE# 536 + C:46C3H LINE# 537 + C:46C9H LINE# 538 + C:46C9H LINE# 539 + C:46CBH LINE# 540 + C:46CDH LINE# 541 + C:46CFH LINE# 542 + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 72 + + + C:46D1H LINE# 543 + C:46D4H LINE# 544 + C:46D4H LINE# 545 + C:46D6H LINE# 546 + C:46D6H LINE# 547 + C:46D6H LINE# 549 + C:46F3H LINE# 550 + C:46F3H LINE# 551 + C:46FDH LINE# 552 + C:46FDH LINE# 553 + C:4704H LINE# 554 + C:4711H LINE# 555 + C:4711H LINE# 557 + C:4732H LINE# 558 + C:4732H LINE# 559 + C:4739H LINE# 560 + C:473BH LINE# 561 + C:473DH LINE# 562 + C:473FH LINE# 563 + C:4741H LINE# 564 + C:4741H LINE# 565 + C:4742H LINE# 567 + C:4742H LINE# 568 + C:4749H LINE# 569 + C:4749H LINE# 570 + C:4749H LINE# 571 + ------- ENDPROC E2PROMBKCHECK + ------- ENDMOD EXTE2PROM + + ------- MODULE INTERRUPT + C:0000H SYMBOL _ICE_DUMMY_ + D:0080H PUBLIC P0 + D:0090H PUBLIC P1 + D:00A0H PUBLIC P2 + D:00B0H PUBLIC P3 + D:00C0H PUBLIC P4 + D:0080H PUBLIC P5 + C:1003H PUBLIC InterruptTimer3 + D:0086H PUBLIC INSCON + B:0088H.7 PUBLIC TF3 + B:00D8H.0 PUBLIC IF40 + C:5EBBH PUBLIC InterruptINT4 + B:00D8H.1 PUBLIC IF41 + B:00D8H.2 PUBLIC IF42 + B:00D8H.3 PUBLIC IF43 + B:00D8H.4 PUBLIC IF44 + B:00D8H.5 PUBLIC IF45 + B:00D8H.6 PUBLIC IF46 + B:00D8H.7 PUBLIC IF47 + ------- PROC INTERRUPTINT4 + C:5EBBH LINE# 18 + C:5EC6H LINE# 20 + C:5EC8H LINE# 21 + C:5ECBH LINE# 23 + C:5ECEH LINE# 24 + C:5ECEH LINE# 25 + C:5ED0H LINE# 26 + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 73 + + + C:5ED5H LINE# 27 + C:5ED5H LINE# 28 + C:5ED8H LINE# 29 + C:5ED8H LINE# 30 + C:5EDAH LINE# 31 + C:5EDFH LINE# 32 + C:5EDFH LINE# 33 + C:5EE2H LINE# 34 + C:5EE2H LINE# 35 + C:5EE4H LINE# 36 + C:5EE9H LINE# 37 + C:5EE9H LINE# 38 + C:5EECH LINE# 39 + C:5EECH LINE# 40 + C:5EEEH LINE# 41 + C:5EF3H LINE# 42 + C:5EF3H LINE# 43 + C:5EF6H LINE# 44 + C:5EF6H LINE# 45 + C:5EF8H LINE# 46 + C:5EFDH LINE# 47 + C:5EFDH LINE# 48 + C:5F00H LINE# 49 + C:5F00H LINE# 50 + C:5F02H LINE# 51 + C:5F07H LINE# 52 + C:5F07H LINE# 53 + C:5F0AH LINE# 54 + C:5F0AH LINE# 55 + C:5F0CH LINE# 56 + C:5F11H LINE# 57 + C:5F11H LINE# 58 + C:5F14H LINE# 59 + C:5F14H LINE# 60 + C:5F16H LINE# 61 + C:5F1BH LINE# 62 + C:5F1BH LINE# 64 + C:5F1DH LINE# 65 + ------- ENDPROC INTERRUPTINT4 + ------- PROC INTERRUPTTIMER3 + C:1003H LINE# 74 + C:100BH LINE# 76 + C:100DH LINE# 78 + C:1010H LINE# 79 + C:1012H LINE# 80 + C:1015H LINE# 82 + C:1018H LINE# 84 + C:101AH LINE# 85 + ------- ENDPROC INTERRUPTTIMER3 + ------- ENDMOD INTERRUPT + + ------- MODULE KEYSCAN + C:0000H SYMBOL _ICE_DUMMY_ + D:0080H PUBLIC P0 + D:0090H PUBLIC P1 + D:00A0H PUBLIC P2 + D:00B0H PUBLIC P3 + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 74 + + + D:00C0H PUBLIC P4 + D:0008H PUBLIC ucKeyValue + D:0080H PUBLIC P5 + D:0009H PUBLIC ucKeyValueBK + B:00B0H.0 PUBLIC P3_0 + B:00A0H.7 PUBLIC P2_7 + D:000AH PUBLIC uiKeyValidCnt + D:000CH PUBLIC ucKeyOldValue + B:002FH.3 PUBLIC bKeyFlg + C:52B8H PUBLIC KeyScan + D:000DH PUBLIC uiKeyInvalidCnt + ------- PROC KEYSCAN + ------- DO + C:534DH SYMBOL scanend + ------- ENDDO + C:52B8H LINE# 33 + C:52B8H LINE# 34 + C:52B8H LINE# 35 + C:52BEH LINE# 36 + C:52BEH LINE# 37 + C:52C1H LINE# 46 + C:52C4H LINE# 47 + C:52C4H LINE# 48 + C:52C7H LINE# 49 + C:52C9H LINE# 50 + C:52CCH LINE# 51 + C:52CCH LINE# 52 + C:52CFH LINE# 53 + C:52CFH LINE# 69 + C:52D5H LINE# 70 + C:52D5H LINE# 71 + C:52DDH LINE# 72 + C:52E8H LINE# 73 + C:52E8H LINE# 74 + C:52F2H LINE# 75 + C:52F2H LINE# 76 + C:52FCH LINE# 77 + C:52FCH LINE# 78 + C:5302H LINE# 79 + C:5304H LINE# 81 + C:5304H LINE# 82 + C:5307H LINE# 83 + C:5307H LINE# 84 + C:5309H LINE# 85 + C:530BH LINE# 86 + C:530BH LINE# 91 + C:530BH LINE# 93 + C:530BH LINE# 94 + C:530DH LINE# 95 + C:530DH LINE# 96 + C:530DH LINE# 98 + C:530DH LINE# 99 + C:5313H LINE# 100 + C:5313H LINE# 101 + C:5318H LINE# 102 + C:5320H LINE# 103 + C:5328H LINE# 104 + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 75 + + + C:5328H LINE# 105 + C:532EH LINE# 106 + C:5330H LINE# 107 + C:5331H LINE# 108 + C:533BH LINE# 109 + C:533BH LINE# 110 + C:5341H LINE# 111 + C:5347H LINE# 112 + C:5349H LINE# 113 + C:5349H LINE# 114 + C:534AH LINE# 116 + C:534AH LINE# 117 + C:534DH LINE# 118 + C:534DH LINE# 119 + C:5352H LINE# 120 + C:5356H LINE# 121 + C:5359H LINE# 122 + C:5359H LINE# 123 + C:5359H LINE# 124 + C:5359H LINE# 125 + ------- ENDPROC KEYSCAN + ------- ENDMOD KEYSCAN + + ------- MODULE MCUFLASH + C:0000H SYMBOL _ICE_DUMMY_ + D:00F3H PUBLIC IB_CON2 + D:0080H PUBLIC P0 + D:00F4H PUBLIC IB_CON3 + D:0090H PUBLIC P1 + D:00F5H PUBLIC IB_CON4 + D:00A0H PUBLIC P2 + D:00F6H PUBLIC IB_CON5 + D:00B0H PUBLIC P3 + D:00C0H PUBLIC P4 + X:05F6H PUBLIC bMcuFlashWrWaitCnt + D:0080H PUBLIC P5 + B:00A8H.7 PUBLIC EA + D:00FCH PUBLIC IB_DATA + C:7387H PUBLIC _McuFlashCheckFlg + C:60B4H PUBLIC _McuFlashRead + C:7148H PUBLIC _McuFlashWrOneByte + B:002DH.7 PUBLIC bMcuFlashErr + C:55C6H PUBLIC _McuFlashWrite + X:05F7H PUBLIC ucMcuFlashWrValid + D:00FBH PUBLIC IB_OFFSET + D:00B1H PUBLIC RSTSTAT + D:00A7H PUBLIC FLASHCON + C:580CH PUBLIC _McuFlashWrSector + C:75C9H PUBLIC McuFlashWrWaitCheck + B:002EH.0 PUBLIC bMcuFlashWrFlg + C:73FAH PUBLIC _McuFlashBlankCheck + C:6228H PUBLIC _McuFlashDataCheck + D:00F7H PUBLIC XPAGE + B:002EH.1 PUBLIC bMcuFlashWrWaitFlg + C:48D4H PUBLIC McuFlashProcess + D:00F2H PUBLIC IB_CON1 + ------- PROC _MCUFLASHWRONEBYTE + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 76 + + + D:0002H SYMBOL McuFlashAddr + D:0005H SYMBOL WrData + C:7148H LINE# 24 + C:714CH LINE# 25 + C:714CH LINE# 26 + C:714EH LINE# 27 + C:7151H LINE# 29 + C:7154H LINE# 30 + C:7158H LINE# 31 + C:715CH LINE# 33 + C:715FH LINE# 34 + C:7162H LINE# 35 + C:7165H LINE# 36 + C:7168H LINE# 37 + C:716FH LINE# 38 + C:716FH LINE# 39 + C:7172H LINE# 40 + C:7173H LINE# 41 + C:7174H LINE# 42 + C:7175H LINE# 43 + C:7176H LINE# 44 + C:7177H LINE# 45 + C:7177H LINE# 47 + C:717AH LINE# 48 + C:717CH LINE# 49 + ------- ENDPROC _MCUFLASHWRONEBYTE + ------- PROC _MCUFLASHBLANKCHECK + D:0006H SYMBOL McuFlashAddr + ------- DO + B:002AH.0 SYMBOL Result + D:0004H SYMBOL i + ------- ENDDO + C:73FAH LINE# 58 + C:73FAH LINE# 59 + C:73FAH LINE# 60 + C:73FCH LINE# 63 + C:73FFH LINE# 64 + C:73FFH LINE# 65 + C:740CH LINE# 66 + C:740CH LINE# 67 + C:740EH LINE# 68 + C:7410H LINE# 69 + C:7410H LINE# 70 + C:741DH LINE# 72 + C:741FH LINE# 73 + ------- ENDPROC _MCUFLASHBLANKCHECK + ------- PROC _MCUFLASHDATACHECK + X:032CH SYMBOL McuFlashAddr + D:0004H SYMBOL XramAddr + ------- DO + B:002AH.0 SYMBOL Result + D:0006H SYMBOL ptr + X:032EH SYMBOL i + ------- ENDDO + C:6228H LINE# 82 + C:6230H LINE# 83 + C:6230H LINE# 84 + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 77 + + + C:6232H LINE# 85 + C:6236H LINE# 88 + C:6249H LINE# 89 + C:6249H LINE# 90 + C:626FH LINE# 91 + C:626FH LINE# 92 + C:6271H LINE# 93 + C:6273H LINE# 94 + C:6273H LINE# 95 + C:627FH LINE# 97 + C:6281H LINE# 98 + ------- ENDPROC _MCUFLASHDATACHECK + ------- PROC _MCUFLASHWRSECTOR + X:032CH SYMBOL McuFlashAddr + D:0004H SYMBOL XramAddr + ------- DO + B:002AH.0 SYMBOL Result + D:0004H SYMBOL i + X:032EH SYMBOL ptr + ------- ENDDO + C:580CH LINE# 107 + C:5814H LINE# 108 + C:5814H LINE# 109 + C:5816H LINE# 111 + C:581EH LINE# 113 + C:5821H LINE# 114 + C:5821H LINE# 115 + C:582CH LINE# 116 + C:5832H LINE# 117 + C:5841H LINE# 118 + C:5844H LINE# 119 + C:5847H LINE# 120 + C:5847H LINE# 121 + C:584AH LINE# 122 + C:584EH LINE# 123 + C:584EH LINE# 124 + C:5851H LINE# 125 + C:5859H LINE# 126 + C:5859H LINE# 127 + C:585CH LINE# 128 + C:586CH LINE# 129 + C:586CH LINE# 130 + C:586FH LINE# 131 + C:5870H LINE# 132 + C:5871H LINE# 133 + C:5872H LINE# 134 + C:5873H LINE# 135 + C:5874H LINE# 136 + C:5876H LINE# 137 + C:5878H LINE# 139 + C:5878H LINE# 140 + C:587AH LINE# 141 + C:587CH LINE# 142 + C:587CH LINE# 143 + C:587CH LINE# 145 + C:587CH LINE# 146 + C:587EH LINE# 147 + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 78 + + + C:5880H LINE# 148 + C:5880H LINE# 149 + C:5880H LINE# 151 + C:5880H LINE# 152 + C:5882H LINE# 153 + C:5884H LINE# 154 + C:5884H LINE# 155 + C:5884H LINE# 157 + C:5884H LINE# 158 + C:5886H LINE# 159 + C:5888H LINE# 160 + C:5888H LINE# 161 + C:5895H LINE# 163 + C:5897H LINE# 164 + ------- ENDPROC _MCUFLASHWRSECTOR + ------- PROC _MCUFLASHWRITE + X:0328H SYMBOL McuFlashAddr + X:032AH SYMBOL XramAddr + ------- DO + B:0029H.7 SYMBOL Result + ------- ENDDO + C:55C6H LINE# 177 + C:55D4H LINE# 178 + C:55D4H LINE# 179 + C:55D6H LINE# 181 + C:55D9H LINE# 182 + C:55DBH LINE# 183 + C:55DEH LINE# 185 + C:55E7H LINE# 186 + C:55EAH LINE# 187 + C:55EDH LINE# 188 + C:55EDH LINE# 189 + C:55F0H LINE# 190 + C:55F4H LINE# 191 + C:55F4H LINE# 192 + C:55F7H LINE# 193 + C:55FFH LINE# 194 + C:55FFH LINE# 195 + C:5602H LINE# 196 + C:560BH LINE# 197 + C:560BH LINE# 198 + C:560EH LINE# 199 + C:560FH LINE# 200 + C:5610H LINE# 201 + C:5611H LINE# 202 + C:5612H LINE# 203 + C:5613H LINE# 205 + C:5620H LINE# 206 + C:5620H LINE# 207 + C:5633H LINE# 208 + C:5633H LINE# 209 + C:5646H LINE# 210 + C:5646H LINE# 211 + C:5648H LINE# 212 + C:5648H LINE# 213 + C:5648H LINE# 214 + C:5648H LINE# 215 + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 79 + + + C:5648H LINE# 216 + C:5648H LINE# 217 + C:5648H LINE# 218 + C:5648H LINE# 220 + C:564BH LINE# 221 + C:564DH LINE# 222 + C:564FH LINE# 223 + C:5651H LINE# 224 + C:5653H LINE# 226 + C:5656H LINE# 227 + C:5658H LINE# 228 + C:565AH LINE# 230 + C:565CH LINE# 231 + ------- ENDPROC _MCUFLASHWRITE + ------- PROC MCUFLASHPROCESS + ------- DO + B:0029H.5 SYMBOL McuFlashBk1WrFailFlg + B:0029H.6 SYMBOL McuFlashBk2WrFailFlg + X:0326H SYMBOL VoltageMin + ------- ENDDO + C:48D4H LINE# 244 + C:48D4H LINE# 245 + C:48D4H LINE# 246 + C:48D8H LINE# 249 + C:48DEH LINE# 250 + C:48DEH LINE# 251 + C:48E0H LINE# 253 + C:48E6H LINE# 254 + C:48EDH LINE# 255 + C:48EDH LINE# 256 + C:48F7H LINE# 257 + C:48F9H LINE# 259 + C:48F9H LINE# 260 + C:4903H LINE# 261 + C:4903H LINE# 263 + C:4926H LINE# 264 + C:4926H LINE# 265 + C:492FH LINE# 266 + C:492FH LINE# 267 + C:4939H LINE# 268 + C:4939H LINE# 269 + C:493BH LINE# 270 + C:4943H LINE# 271 + C:494BH LINE# 272 + C:4952H LINE# 273 + C:4952H LINE# 274 + C:4952H LINE# 276 + C:495DH LINE# 277 + C:495DH LINE# 278 + C:4968H LINE# 279 + C:4968H LINE# 280 + C:496AH LINE# 281 + C:4972H LINE# 282 + C:497AH LINE# 283 + C:4981H LINE# 284 + C:4981H LINE# 285 + C:4981H LINE# 286 + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 80 + + + C:4983H LINE# 288 + C:4983H LINE# 289 + C:4985H LINE# 290 + C:4987H LINE# 291 + C:4987H LINE# 292 + C:498CH LINE# 294 + C:4992H LINE# 295 + C:4992H LINE# 296 + C:4994H LINE# 297 + C:4994H LINE# 298 + C:4994H LINE# 299 + ------- ENDPROC MCUFLASHPROCESS + ------- PROC _MCUFLASHREAD + X:0326H SYMBOL SourceAddr + D:0004H SYMBOL TargetAddr + X:0328H SYMBOL Length + ------- DO + D:0006H SYMBOL i + B:0029H.5 SYMBOL Result + D:0019H SYMBOL TargetAddr1 + ------- ENDDO + C:60B4H LINE# 308 + C:60C2H LINE# 309 + C:60C2H LINE# 311 + C:60C4H LINE# 312 + C:60CCH LINE# 314 + C:60CEH LINE# 315 + C:60D1H LINE# 316 + C:60D4H LINE# 317 + C:60E4H LINE# 318 + C:60E4H LINE# 319 + C:60FCH LINE# 320 + C:6104H LINE# 321 + C:610BH LINE# 322 + C:610EH LINE# 323 + C:6110H LINE# 325 + C:6112H LINE# 326 + ------- ENDPROC _MCUFLASHREAD + ------- PROC MCUFLASHWRWAITCHECK + C:75C9H LINE# 335 + C:75C9H LINE# 336 + C:75C9H LINE# 337 + C:75CCH LINE# 338 + C:75CCH LINE# 339 + C:75D7H LINE# 340 + C:75D7H LINE# 341 + C:75D9H LINE# 342 + C:75DBH LINE# 343 + C:75DDH LINE# 344 + C:75DDH LINE# 345 + C:75DDH LINE# 346 + ------- ENDPROC MCUFLASHWRWAITCHECK + ------- PROC _MCUFLASHCHECKFLG + D:0006H SYMBOL McuFlashAddr + ------- DO + B:0029H.5 SYMBOL Result + ------- ENDDO + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 81 + + + C:7387H LINE# 355 + C:7387H LINE# 356 + C:7387H LINE# 357 + C:7389H LINE# 359 + C:738CH LINE# 360 + C:73A6H LINE# 361 + C:73A6H LINE# 362 + C:73A8H LINE# 363 + C:73A8H LINE# 364 + C:73ABH LINE# 366 + C:73ADH LINE# 367 + ------- ENDPROC _MCUFLASHCHECKFLG + ------- ENDMOD MCUFLASH + + ------- MODULE MCULIB + C:0000H SYMBOL _ICE_DUMMY_ + D:0080H PUBLIC P0 + D:0090H PUBLIC P1 + D:00A0H PUBLIC P2 + D:00B0H PUBLIC P3 + D:00C0H PUBLIC P4 + C:6B7EH PUBLIC _Delay1ms + D:009DH PUBLIC SBRTH + D:0080H PUBLIC P5 + B:00A8H.7 PUBLIC EA + D:00C7H PUBLIC PWM0CON + D:00B6H PUBLIC PWM1CON + D:00B7H PUBLIC PWM2CON + D:009CH PUBLIC SBRTL + C:402AH PUBLIC _McuTimer3Set + D:00A8H PUBLIC IEN0 + D:00A9H PUBLIC IEN1 + D:00E8H PUBLIC EXF0 + D:008EH PUBLIC SUSLO + C:724DH PUBLIC _MemoryCopy + C:7334H PUBLIC _MemorySet + D:0087H PUBLIC PCON + D:00CFH PUBLIC PWM0DH + D:00A5H PUBLIC PWM1DH + D:00BFH PUBLIC PWM2DH + D:0098H PUBLIC SCON + D:0088H PUBLIC TCON + D:00CEH PUBLIC PWM0DL + D:00A4H PUBLIC PWM1DL + D:00BEH PUBLIC PWM2DL + D:00B2H PUBLIC CLKCON + D:00CDH PUBLIC PWM0PH + D:00AFH PUBLIC PWM1PH + D:00BDH PUBLIC PWM2PH + D:00CCH PUBLIC PWM0PL + D:00AEH PUBLIC PWM1PL + C:7741H PUBLIC McuIntoIdle + C:6530H PUBLIC _McuClockSet + C:721AH PUBLIC ClrRam + D:00BCH PUBLIC PWM2PL + D:0086H PUBLIC INSCON + D:008DH PUBLIC TH3 + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 82 + + + D:008CH PUBLIC TL3 + C:774DH PUBLIC McuIntoPD + B:0088H.2 PUBLIC TR3 + C:5F8FH PUBLIC RamCheckProcess + D:0088H PUBLIC T3CON + C:72DDH PUBLIC SystemResetProcess + C:59A2H PUBLIC _McuPWM0Set + C:5A23H PUBLIC _McuPWM1Set + C:5AA4H PUBLIC _McuPWM2Set + ------- PROC _MCUTIMER3SET + X:0326H SYMBOL ClkSource + X:0327H SYMBOL XmS + ------- DO + X:0329H SYMBOL TempVal + ------- ENDDO + C:402AH LINE# 20 + C:4037H LINE# 21 + C:4037H LINE# 24 + C:403AH LINE# 26 + C:403FH LINE# 27 + C:403FH LINE# 28 + C:404DH LINE# 29 + C:404DH LINE# 30 + C:4050H LINE# 31 + C:4062H LINE# 32 + C:4065H LINE# 34 + C:4065H LINE# 35 + C:4068H LINE# 36 + C:408DH LINE# 37 + C:408DH LINE# 38 + C:4090H LINE# 39 + C:4098H LINE# 40 + C:4098H LINE# 41 + C:40A6H LINE# 42 + C:40A6H LINE# 43 + C:40A9H LINE# 44 + C:40C6H LINE# 45 + C:40C9H LINE# 47 + C:40C9H LINE# 48 + C:40CCH LINE# 49 + C:40F1H LINE# 50 + C:40F1H LINE# 51 + C:40F3H LINE# 52 + C:40F9H LINE# 53 + C:40F9H LINE# 54 + C:4107H LINE# 55 + C:4107H LINE# 56 + C:410AH LINE# 57 + C:4127H LINE# 58 + C:4129H LINE# 60 + C:4129H LINE# 61 + C:412CH LINE# 62 + C:4151H LINE# 63 + C:4151H LINE# 64 + C:4151H LINE# 66 + C:415AH LINE# 67 + C:415DH LINE# 68 + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 83 + + + C:415FH LINE# 70 + C:4162H LINE# 71 + ------- ENDPROC _MCUTIMER3SET + ------- PROC _MCUCLOCKSET + D:0007H SYMBOL SysClock + ------- DO + D:0006H SYMBOL ea + ------- ENDDO + C:6530H LINE# 80 + C:6530H LINE# 81 + C:6530H LINE# 84 + C:6535H LINE# 85 + C:6537H LINE# 87 + C:6547H LINE# 89 + C:6547H LINE# 90 + C:654CH LINE# 91 + C:654EH LINE# 92 + C:6557H LINE# 93 + C:6557H LINE# 94 + C:655AH LINE# 95 + C:655BH LINE# 96 + C:655EH LINE# 97 + C:655EH LINE# 98 + C:655FH LINE# 99 + C:6560H LINE# 100 + C:6561H LINE# 101 + C:6562H LINE# 102 + C:6563H LINE# 103 + C:6564H LINE# 104 + C:6565H LINE# 105 + C:6566H LINE# 106 + C:6576H LINE# 108 + C:6576H LINE# 109 + C:6579H LINE# 110 + C:6579H LINE# 112 + C:6580H LINE# 113 + ------- ENDPROC _MCUCLOCKSET + ------- PROC _MCUPWM0SET + X:05EEH SYMBOL PwmFreq + X:05F0H SYMBOL DutyRatio + C:59A2H LINE# 122 + C:59ADH LINE# 123 + C:59ADH LINE# 124 + C:59B0H LINE# 125 + C:59CAH LINE# 126 + C:59E9H LINE# 127 + C:5A07H LINE# 128 + C:5A22H LINE# 129 + ------- ENDPROC _MCUPWM0SET + ------- PROC _MCUPWM1SET + X:05F1H SYMBOL PwmFreq + X:05F3H SYMBOL DutyRatio + C:5A23H LINE# 131 + C:5A2EH LINE# 132 + C:5A2EH LINE# 133 + C:5A31H LINE# 134 + C:5A4BH LINE# 135 + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 84 + + + C:5A6AH LINE# 136 + C:5A88H LINE# 137 + C:5AA3H LINE# 138 + ------- ENDPROC _MCUPWM1SET + ------- PROC _MCUPWM2SET + X:032BH SYMBOL PwmFreq + X:032DH SYMBOL DutyRatio + C:5AA4H LINE# 140 + C:5AAFH LINE# 141 + C:5AAFH LINE# 142 + C:5AB2H LINE# 143 + C:5ACCH LINE# 144 + C:5AEBH LINE# 145 + C:5B09H LINE# 146 + C:5B24H LINE# 147 + ------- ENDPROC _MCUPWM2SET + ------- PROC _DELAY1MS + D:0007H SYMBOL Xms + ------- DO + D:0006H SYMBOL i + D:0002H SYMBOL j + D:0004H SYMBOL Tcnt + ------- ENDDO + C:6B7EH LINE# 160 + C:6B7EH LINE# 161 + C:6B7EH LINE# 165 + C:6B84H LINE# 166 + C:6B84H LINE# 167 + C:6B88H LINE# 168 + C:6B8AH LINE# 169 + C:6B92H LINE# 170 + C:6B92H LINE# 171 + C:6B96H LINE# 172 + C:6B98H LINE# 173 + C:6BA0H LINE# 174 + C:6BA0H LINE# 175 + C:6BA4H LINE# 176 + C:6BA6H LINE# 178 + C:6BA6H LINE# 179 + C:6BAAH LINE# 180 + C:6BAAH LINE# 183 + C:6BB1H LINE# 184 + C:6BB1H LINE# 185 + C:6BBBH LINE# 186 + C:6BBBH LINE# 187 + C:6BC2H LINE# 188 + C:6BC5H LINE# 189 + ------- ENDPROC _DELAY1MS + ------- PROC CLRRAM + ------- DO + D:0000H SYMBOL ptr1 + D:0006H SYMBOL ptr2 + D:0007H SYMBOL i + I:001BH SYMBOL j + ------- ENDDO + C:721AH LINE# 199 + C:721AH LINE# 200 + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 85 + + + C:721AH LINE# 206 + C:721CH LINE# 207 + C:721CH LINE# 208 + C:7220H LINE# 209 + C:7222H LINE# 210 + C:7229H LINE# 212 + C:723EH LINE# 213 + C:723EH LINE# 214 + C:723EH LINE# 215 + C:7244H LINE# 216 + C:724CH LINE# 217 + ------- ENDPROC CLRRAM + ------- PROC RAMCHECKPROCESS + C:5F8FH LINE# 226 + C:5F8FH LINE# 227 + C:5F8FH LINE# 228 + C:5FF1H LINE# 240 + C:5FF1H LINE# 241 + C:5FF3H LINE# 242 + C:5FF3H LINE# 244 + C:5FF3H LINE# 245 + C:5FF4H LINE# 246 + C:5FF4H LINE# 247 + ------- ENDPROC RAMCHECKPROCESS + ------- PROC _MEMORYSET + X:0332H SYMBOL pt + D:0005H SYMBOL setval + D:0003H SYMBOL length + ------- DO + D:0007H SYMBOL i + ------- ENDDO + C:7334H LINE# 258 + C:733CH LINE# 259 + C:733CH LINE# 261 + C:7343H LINE# 262 + C:7343H LINE# 263 + C:7350H LINE# 264 + C:735AH LINE# 265 + C:735DH LINE# 266 + ------- ENDPROC _MEMORYSET + ------- PROC _MEMORYCOPY + X:0348H SYMBOL source + D:0004H SYMBOL target + D:0003H SYMBOL length + ------- DO + D:0007H SYMBOL i + ------- ENDDO + C:724DH LINE# 277 + C:7255H LINE# 278 + C:7255H LINE# 280 + C:725CH LINE# 281 + C:725CH LINE# 282 + C:726DH LINE# 283 + C:7272H LINE# 284 + C:727CH LINE# 285 + C:727FH LINE# 286 + ------- ENDPROC _MEMORYCOPY + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 86 + + + ------- PROC MCUINTOIDLE + C:7741H LINE# 295 + C:7741H LINE# 296 + C:7741H LINE# 297 + C:7744H LINE# 298 + C:7747H LINE# 299 + C:7748H LINE# 300 + C:7749H LINE# 301 + C:774AH LINE# 302 + C:774BH LINE# 303 + C:774CH LINE# 304 + ------- ENDPROC MCUINTOIDLE + ------- PROC MCUINTOPD + C:774DH LINE# 306 + C:774DH LINE# 307 + C:774DH LINE# 308 + C:7750H LINE# 309 + C:7753H LINE# 310 + C:7754H LINE# 311 + C:7755H LINE# 312 + C:7756H LINE# 313 + C:7757H LINE# 314 + C:7758H LINE# 315 + ------- ENDPROC MCUINTOPD + ------- PROC SYSTEMRESETPROCESS + C:72DDH LINE# 324 + C:72DDH LINE# 325 + C:72DDH LINE# 326 + C:72F4H LINE# 328 + C:72F4H LINE# 329 + C:72F6H LINE# 330 + C:72F9H LINE# 331 + C:72FBH LINE# 332 + C:72FDH LINE# 333 + C:72FFH LINE# 335 + C:7301H LINE# 336 + C:7303H LINE# 337 + C:7305H LINE# 339 + C:7308H LINE# 340 + C:7308H LINE# 341 + ------- ENDPROC SYSTEMRESETPROCESS + ------- ENDMOD MCULIB + + ------- MODULE MOSCTRL + C:0000H SYMBOL _ICE_DUMMY_ + D:0080H PUBLIC P0 + D:0090H PUBLIC P1 + D:00A0H PUBLIC P2 + D:00B0H PUBLIC P3 + D:00C0H PUBLIC P4 + D:0080H PUBLIC P5 + C:69C9H PUBLIC MosStatusCheck + C:72B0H PUBLIC MosCtrl + B:002EH.4 PUBLIC bCHGMOSBk + B:002EH.5 PUBLIC bDSGMOSBk + ------- PROC MOSSTATUSCHECK + C:69C9H LINE# 20 + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 87 + + + C:69C9H LINE# 21 + C:69C9H LINE# 22 + C:69CBH LINE# 23 + C:69CDH LINE# 25 + C:69D3H LINE# 26 + C:69D3H LINE# 27 + C:69D5H LINE# 28 + C:69D5H LINE# 30 + C:69E7H LINE# 31 + C:69E7H LINE# 32 + C:69E9H LINE# 33 + C:69E9H LINE# 35 + C:69ECH LINE# 36 + C:69ECH LINE# 37 + C:69F8H LINE# 38 + C:69F8H LINE# 39 + C:69FAH LINE# 40 + C:69FAH LINE# 41 + C:69FAH LINE# 43 + C:69FDH LINE# 44 + C:69FDH LINE# 45 + C:6A00H LINE# 46 + C:6A00H LINE# 47 + C:6A02H LINE# 48 + C:6A02H LINE# 49 + C:6A02H LINE# 51 + C:6A0BH LINE# 52 + C:6A0BH LINE# 53 + C:6A0DH LINE# 54 + C:6A0DH LINE# 56 + C:6A10H LINE# 57 + C:6A10H LINE# 58 + C:6A12H LINE# 59 + C:6A12H LINE# 60 + ------- ENDPROC MOSSTATUSCHECK + ------- PROC MOSCTRL + C:72B0H LINE# 70 + C:72B0H LINE# 71 + C:72B0H LINE# 72 + C:72B3H LINE# 74 + C:72C3H LINE# 75 + C:72C3H LINE# 76 + C:72C7H LINE# 77 + C:72CBH LINE# 79 + C:72DCH LINE# 80 + C:72DCH LINE# 81 + ------- ENDPROC MOSCTRL + ------- ENDMOD MOSCTRL + + ------- MODULE PORSELFTEST + C:0000H SYMBOL _ICE_DUMMY_ + D:0080H PUBLIC P0 + C:6711H PUBLIC PorProtectOTC + D:0090H PUBLIC P1 + C:67AFH PUBLIC PorProtectOTD + D:00A0H PUBLIC P2 + D:00B0H PUBLIC P3 + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 88 + + + D:00C0H PUBLIC P4 + D:0080H PUBLIC P5 + C:6760H PUBLIC PorProtectUTC + C:67FEH PUBLIC PorProtectUTD + C:6BC6H PUBLIC PorProtectOV + C:6C0EH PUBLIC PorProtectUV + X:05FBH PUBLIC ucPorSelfTestDelayCnt + B:002FH.4 PUBLIC bPorSelfTestFlg + C:706BH PUBLIC PorSelfTest + ------- PROC PORPROTECTOV + C:6BC6H LINE# 20 + C:6BC6H LINE# 21 + C:6BC6H LINE# 22 + C:6BC9H LINE# 23 + C:6BC9H LINE# 24 + C:6BD8H LINE# 25 + C:6BD8H LINE# 26 + C:6BEDH LINE# 27 + C:6BEDH LINE# 28 + C:6BEFH LINE# 29 + C:6BF6H LINE# 30 + C:6BF6H LINE# 31 + C:6BF7H LINE# 32 + C:6C06H LINE# 33 + C:6C06H LINE# 34 + C:6C0DH LINE# 35 + C:6C0DH LINE# 36 + C:6C0DH LINE# 37 + ------- ENDPROC PORPROTECTOV + ------- PROC PORPROTECTUV + C:6C0EH LINE# 46 + C:6C0EH LINE# 47 + C:6C0EH LINE# 48 + C:6C11H LINE# 49 + C:6C11H LINE# 50 + C:6C20H LINE# 51 + C:6C20H LINE# 52 + C:6C35H LINE# 53 + C:6C35H LINE# 54 + C:6C37H LINE# 55 + C:6C3EH LINE# 56 + C:6C3EH LINE# 57 + C:6C3FH LINE# 58 + C:6C4EH LINE# 59 + C:6C4EH LINE# 60 + C:6C55H LINE# 61 + C:6C55H LINE# 62 + C:6C55H LINE# 63 + ------- ENDPROC PORPROTECTUV + ------- PROC PORPROTECTOTC + C:6711H LINE# 72 + C:6711H LINE# 73 + C:6711H LINE# 74 + C:6714H LINE# 75 + C:6714H LINE# 76 + C:672AH LINE# 77 + C:672AH LINE# 78 + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 89 + + + C:673FH LINE# 79 + C:673FH LINE# 80 + C:6741H LINE# 81 + C:6748H LINE# 82 + C:6748H LINE# 83 + C:6749H LINE# 84 + C:6758H LINE# 85 + C:6758H LINE# 86 + C:675FH LINE# 87 + C:675FH LINE# 88 + C:675FH LINE# 89 + ------- ENDPROC PORPROTECTOTC + ------- PROC PORPROTECTUTC + C:6760H LINE# 98 + C:6760H LINE# 99 + C:6760H LINE# 100 + C:6763H LINE# 101 + C:6763H LINE# 102 + C:6779H LINE# 103 + C:6779H LINE# 104 + C:678EH LINE# 105 + C:678EH LINE# 106 + C:6790H LINE# 107 + C:6797H LINE# 108 + C:6797H LINE# 109 + C:6798H LINE# 110 + C:67A7H LINE# 111 + C:67A7H LINE# 112 + C:67AEH LINE# 113 + C:67AEH LINE# 114 + C:67AEH LINE# 115 + ------- ENDPROC PORPROTECTUTC + ------- PROC PORPROTECTOTD + C:67AFH LINE# 124 + C:67AFH LINE# 125 + C:67AFH LINE# 126 + C:67B2H LINE# 127 + C:67B2H LINE# 128 + C:67C8H LINE# 129 + C:67C8H LINE# 130 + C:67DDH LINE# 131 + C:67DDH LINE# 132 + C:67DFH LINE# 133 + C:67E6H LINE# 134 + C:67E6H LINE# 135 + C:67E7H LINE# 136 + C:67F6H LINE# 137 + C:67F6H LINE# 138 + C:67FDH LINE# 139 + C:67FDH LINE# 140 + C:67FDH LINE# 141 + ------- ENDPROC PORPROTECTOTD + ------- PROC PORPROTECTUTD + C:67FEH LINE# 150 + C:67FEH LINE# 151 + C:67FEH LINE# 152 + C:6801H LINE# 153 + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 90 + + + C:6801H LINE# 154 + C:6817H LINE# 155 + C:6817H LINE# 156 + C:682CH LINE# 157 + C:682CH LINE# 158 + C:682EH LINE# 159 + C:6835H LINE# 160 + C:6835H LINE# 161 + C:6836H LINE# 162 + C:6845H LINE# 163 + C:6845H LINE# 164 + C:684CH LINE# 165 + C:684CH LINE# 166 + C:684CH LINE# 167 + ------- ENDPROC PORPROTECTUTD + ------- PROC PORSELFTEST + C:706BH LINE# 176 + C:706BH LINE# 177 + C:706BH LINE# 178 + C:706EH LINE# 179 + C:706EH LINE# 180 + C:7071H LINE# 181 + C:7074H LINE# 182 + C:7077H LINE# 183 + C:707AH LINE# 185 + C:707DH LINE# 186 + C:7080H LINE# 187 + C:7083H LINE# 188 + C:7086H LINE# 190 + C:7091H LINE# 191 + C:7091H LINE# 192 + C:7093H LINE# 193 + C:709FH LINE# 194 + C:709FH LINE# 195 + C:70A1H LINE# 196 + C:70A2H LINE# 198 + C:70A2H LINE# 199 + C:70A5H LINE# 200 + C:70A5H LINE# 201 + C:70A5H LINE# 202 + C:70A5H LINE# 203 + ------- ENDPROC PORSELFTEST + ------- ENDMOD PORSELFTEST + + ------- MODULE PROTECT + C:0000H SYMBOL _ICE_DUMMY_ + D:0080H PUBLIC P0 + D:0090H PUBLIC P1 + X:03BCH PUBLIC uiOCD1DelayCnt + D:00A0H PUBLIC P2 + X:03BEH PUBLIC uiOCD2DelayCnt + D:00B0H PUBLIC P3 + D:00C0H PUBLIC P4 + D:0080H PUBLIC P5 + C:4810H PUBLIC ProtectOV + C:4A52H PUBLIC ProtectUV + B:002EH.6 PUBLIC bOVLock + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 91 + + + B:002EH.7 PUBLIC bUVLock + X:03C0H PUBLIC uiOVDelayCnt + X:03C2H PUBLIC uiUVDelayCnt + X:03C4H PUBLIC uiOTCRDelayCnt + X:03C6H PUBLIC uiOTDRDelayCnt + X:03C8H PUBLIC uiUTCRDelayCnt + X:03CAH PUBLIC uiUTDRDelayCnt + C:6282H PUBLIC ProtectOCC + C:7485H PUBLIC ProtectProcess + C:4B0EH PUBLIC ProtectOTC + C:4C86H PUBLIC ProtectOTD + X:03CCH PUBLIC uiOCCRcnt + X:03CEH PUBLIC uiOCCDelayCnt + X:03D0H PUBLIC uiOCDRcnt + C:4BCAH PUBLIC ProtectUTC + C:4D42H PUBLIC ProtectUTD + C:5C19H PUBLIC ProtectOCRecover + X:03D2H PUBLIC uiOTCDelayCnt + X:03D4H PUBLIC uiOTDDelayCnt + X:03D6H PUBLIC uiUTCDelayCnt + X:03D8H PUBLIC uiUTDDelayCnt + C:62DBH PUBLIC ProtectOCD1 + C:6334H PUBLIC ProtectOCD2 + X:03DAH PUBLIC uiOVRDelayCnt + X:03DCH PUBLIC uiUVRDelayCnt + ------- PROC PROTECTOV + C:4810H LINE# 39 + C:4810H LINE# 40 + C:4810H LINE# 41 + C:4816H LINE# 42 + C:4816H LINE# 43 + C:4825H LINE# 44 + C:4825H LINE# 45 + C:4846H LINE# 46 + C:4846H LINE# 47 + C:4848H LINE# 48 + C:484AH LINE# 49 + C:4851H LINE# 50 + C:4857H LINE# 51 + C:4857H LINE# 52 + C:4858H LINE# 53 + C:4867H LINE# 54 + C:4867H LINE# 55 + C:486EH LINE# 56 + C:486EH LINE# 57 + C:486FH LINE# 58 + C:4872H LINE# 59 + C:4872H LINE# 60 + C:4881H LINE# 61 + C:4881H LINE# 62 + C:489FH LINE# 63 + C:489FH LINE# 64 + C:48A2H LINE# 65 + C:48A2H LINE# 66 + C:48A4H LINE# 67 + C:48A6H LINE# 68 + C:48A8H LINE# 70 + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 92 + + + C:48A8H LINE# 71 + C:48AAH LINE# 72 + C:48ACH LINE# 73 + C:48AFH LINE# 74 + C:48AFH LINE# 75 + C:48B6H LINE# 76 + C:48BCH LINE# 77 + C:48BCH LINE# 78 + C:48BDH LINE# 79 + C:48CCH LINE# 80 + C:48CCH LINE# 81 + C:48D3H LINE# 82 + C:48D3H LINE# 83 + C:48D3H LINE# 84 + ------- ENDPROC PROTECTOV + ------- PROC PROTECTUV + C:4A52H LINE# 92 + C:4A52H LINE# 93 + C:4A52H LINE# 94 + C:4A55H LINE# 95 + C:4A55H LINE# 96 + C:4A64H LINE# 97 + C:4A64H LINE# 98 + C:4A85H LINE# 99 + C:4A85H LINE# 100 + C:4A87H LINE# 101 + C:4A89H LINE# 102 + C:4A90H LINE# 103 + C:4A96H LINE# 104 + C:4A96H LINE# 105 + C:4A97H LINE# 106 + C:4AA6H LINE# 107 + C:4AA6H LINE# 108 + C:4AADH LINE# 109 + C:4AADH LINE# 110 + C:4AAEH LINE# 111 + C:4AB1H LINE# 112 + C:4AB1H LINE# 113 + C:4AC0H LINE# 114 + C:4AC0H LINE# 115 + C:4ADEH LINE# 116 + C:4ADEH LINE# 117 + C:4AE1H LINE# 118 + C:4AE1H LINE# 119 + C:4AE3H LINE# 120 + C:4AE5H LINE# 121 + C:4AE7H LINE# 123 + C:4AE7H LINE# 124 + C:4AE9H LINE# 125 + C:4AE9H LINE# 126 + C:4AF0H LINE# 127 + C:4AF6H LINE# 128 + C:4AF6H LINE# 129 + C:4AF7H LINE# 130 + C:4B06H LINE# 131 + C:4B06H LINE# 132 + C:4B0DH LINE# 133 + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 93 + + + C:4B0DH LINE# 134 + C:4B0DH LINE# 135 + ------- ENDPROC PROTECTUV + ------- PROC PROTECTOTC + C:4B0EH LINE# 143 + C:4B0EH LINE# 144 + C:4B0EH LINE# 145 + C:4B11H LINE# 146 + C:4B11H LINE# 147 + C:4B27H LINE# 148 + C:4B27H LINE# 149 + C:4B48H LINE# 150 + C:4B48H LINE# 151 + C:4B4AH LINE# 152 + C:4B51H LINE# 153 + C:4B57H LINE# 154 + C:4B57H LINE# 155 + C:4B58H LINE# 156 + C:4B67H LINE# 157 + C:4B67H LINE# 158 + C:4B6EH LINE# 159 + C:4B6EH LINE# 160 + C:4B6FH LINE# 162 + C:4B6FH LINE# 163 + C:4B85H LINE# 164 + C:4B85H LINE# 165 + C:4BA3H LINE# 166 + C:4BA3H LINE# 167 + C:4BA5H LINE# 168 + C:4BACH LINE# 169 + C:4BB2H LINE# 170 + C:4BB2H LINE# 171 + C:4BB3H LINE# 172 + C:4BC2H LINE# 173 + C:4BC2H LINE# 174 + C:4BC9H LINE# 175 + C:4BC9H LINE# 176 + C:4BC9H LINE# 177 + ------- ENDPROC PROTECTOTC + ------- PROC PROTECTUTC + C:4BCAH LINE# 186 + C:4BCAH LINE# 187 + C:4BCAH LINE# 188 + C:4BCDH LINE# 189 + C:4BCDH LINE# 190 + C:4BE3H LINE# 191 + C:4BE3H LINE# 192 + C:4C04H LINE# 193 + C:4C04H LINE# 194 + C:4C06H LINE# 195 + C:4C0DH LINE# 196 + C:4C13H LINE# 197 + C:4C13H LINE# 198 + C:4C14H LINE# 199 + C:4C23H LINE# 200 + C:4C23H LINE# 201 + C:4C2AH LINE# 202 + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 94 + + + C:4C2AH LINE# 203 + C:4C2BH LINE# 205 + C:4C2BH LINE# 206 + C:4C41H LINE# 207 + C:4C41H LINE# 208 + C:4C5FH LINE# 209 + C:4C5FH LINE# 210 + C:4C61H LINE# 211 + C:4C68H LINE# 212 + C:4C6EH LINE# 213 + C:4C6EH LINE# 214 + C:4C6FH LINE# 215 + C:4C7EH LINE# 216 + C:4C7EH LINE# 217 + C:4C85H LINE# 218 + C:4C85H LINE# 219 + C:4C85H LINE# 220 + ------- ENDPROC PROTECTUTC + ------- PROC PROTECTOTD + C:4C86H LINE# 229 + C:4C86H LINE# 230 + C:4C86H LINE# 231 + C:4C89H LINE# 232 + C:4C89H LINE# 233 + C:4C9FH LINE# 234 + C:4C9FH LINE# 235 + C:4CC0H LINE# 236 + C:4CC0H LINE# 237 + C:4CC2H LINE# 238 + C:4CC9H LINE# 239 + C:4CCFH LINE# 240 + C:4CCFH LINE# 241 + C:4CD0H LINE# 242 + C:4CDFH LINE# 243 + C:4CDFH LINE# 244 + C:4CE6H LINE# 245 + C:4CE6H LINE# 246 + C:4CE7H LINE# 248 + C:4CE7H LINE# 249 + C:4CFDH LINE# 250 + C:4CFDH LINE# 251 + C:4D1BH LINE# 252 + C:4D1BH LINE# 253 + C:4D1DH LINE# 254 + C:4D24H LINE# 255 + C:4D2AH LINE# 256 + C:4D2AH LINE# 257 + C:4D2BH LINE# 258 + C:4D3AH LINE# 259 + C:4D3AH LINE# 260 + C:4D41H LINE# 261 + C:4D41H LINE# 262 + C:4D41H LINE# 263 + ------- ENDPROC PROTECTOTD + ------- PROC PROTECTUTD + C:4D42H LINE# 272 + C:4D42H LINE# 273 + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 95 + + + C:4D42H LINE# 274 + C:4D45H LINE# 275 + C:4D45H LINE# 276 + C:4D5BH LINE# 277 + C:4D5BH LINE# 278 + C:4D7CH LINE# 279 + C:4D7CH LINE# 280 + C:4D7EH LINE# 281 + C:4D85H LINE# 282 + C:4D8BH LINE# 283 + C:4D8BH LINE# 284 + C:4D8CH LINE# 285 + C:4D9BH LINE# 286 + C:4D9BH LINE# 287 + C:4DA2H LINE# 288 + C:4DA2H LINE# 289 + C:4DA3H LINE# 291 + C:4DA3H LINE# 292 + C:4DB9H LINE# 293 + C:4DB9H LINE# 294 + C:4DD7H LINE# 295 + C:4DD7H LINE# 296 + C:4DD9H LINE# 297 + C:4DE0H LINE# 298 + C:4DE6H LINE# 299 + C:4DE6H LINE# 300 + C:4DE7H LINE# 301 + C:4DF6H LINE# 302 + C:4DF6H LINE# 303 + C:4DFDH LINE# 304 + C:4DFDH LINE# 305 + C:4DFDH LINE# 306 + ------- ENDPROC PROTECTUTD + ------- PROC PROTECTOCC + C:6282H LINE# 316 + C:6282H LINE# 317 + C:6282H LINE# 318 + C:6285H LINE# 319 + C:6285H LINE# 320 + C:6297H LINE# 321 + C:6297H LINE# 322 + C:62B5H LINE# 323 + C:62B5H LINE# 324 + C:62B7H LINE# 325 + C:62B9H LINE# 326 + C:62C0H LINE# 327 + C:62C0H LINE# 328 + C:62C1H LINE# 329 + C:62C4H LINE# 330 + C:62C4H LINE# 331 + C:62D3H LINE# 332 + C:62D3H LINE# 333 + C:62DAH LINE# 334 + C:62DAH LINE# 335 + C:62DAH LINE# 336 + C:62DAH LINE# 337 + ------- ENDPROC PROTECTOCC + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 96 + + + ------- PROC PROTECTOCD1 + C:62DBH LINE# 346 + C:62DBH LINE# 347 + C:62DBH LINE# 348 + C:62DEH LINE# 349 + C:62DEH LINE# 350 + C:62F0H LINE# 351 + C:62F0H LINE# 352 + C:630EH LINE# 353 + C:630EH LINE# 354 + C:6315H LINE# 355 + C:6317H LINE# 356 + C:6319H LINE# 357 + C:6319H LINE# 358 + C:631AH LINE# 359 + C:631DH LINE# 360 + C:631DH LINE# 361 + C:632CH LINE# 362 + C:632CH LINE# 363 + C:6333H LINE# 364 + C:6333H LINE# 365 + C:6333H LINE# 366 + C:6333H LINE# 367 + ------- ENDPROC PROTECTOCD1 + ------- PROC PROTECTOCD2 + C:6334H LINE# 376 + C:6334H LINE# 377 + C:6334H LINE# 378 + C:6337H LINE# 379 + C:6337H LINE# 380 + C:6349H LINE# 381 + C:6349H LINE# 382 + C:6367H LINE# 383 + C:6367H LINE# 384 + C:636EH LINE# 385 + C:6370H LINE# 386 + C:6372H LINE# 387 + C:6372H LINE# 388 + C:6373H LINE# 389 + C:6376H LINE# 390 + C:6376H LINE# 391 + C:6385H LINE# 392 + C:6385H LINE# 393 + C:638CH LINE# 394 + C:638CH LINE# 395 + C:638CH LINE# 396 + C:638CH LINE# 397 + ------- ENDPROC PROTECTOCD2 + ------- PROC PROTECTPROCESS + C:7485H LINE# 406 + C:7485H LINE# 407 + C:7485H LINE# 408 + C:7488H LINE# 409 + C:7488H LINE# 410 + C:748BH LINE# 411 + C:748EH LINE# 413 + C:7491H LINE# 414 + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 97 + + + C:7494H LINE# 415 + C:7497H LINE# 416 + C:749AH LINE# 418 + C:749DH LINE# 419 + C:74A0H LINE# 420 + C:74A3H LINE# 421 + C:74A3H LINE# 422 + ------- ENDPROC PROTECTPROCESS + ------- PROC PROTECTOCRECOVER + C:5C19H LINE# 431 + C:5C19H LINE# 432 + C:5C19H LINE# 433 + C:5C1CH LINE# 434 + C:5C1CH LINE# 435 + C:5C25H LINE# 436 + C:5C25H LINE# 437 + C:5C43H LINE# 438 + C:5C43H LINE# 439 + C:5C48H LINE# 440 + C:5C4EH LINE# 441 + C:5C50H LINE# 442 + C:5C52H LINE# 443 + C:5C54H LINE# 444 + C:5C56H LINE# 445 + C:5C59H LINE# 446 + C:5C59H LINE# 447 + C:5C5BH LINE# 448 + C:5C5EH LINE# 449 + C:5C5EH LINE# 450 + C:5C5EH LINE# 451 + C:5C5EH LINE# 453 + C:5C61H LINE# 454 + C:5C61H LINE# 455 + C:5C7FH LINE# 456 + C:5C7FH LINE# 457 + C:5C86H LINE# 458 + C:5C88H LINE# 459 + C:5C8CH LINE# 460 + C:5C8EH LINE# 461 + C:5C8EH LINE# 462 + C:5C8EH LINE# 463 + C:5C8EH LINE# 464 + ------- ENDPROC PROTECTOCRECOVER + ------- ENDMOD PROTECT + + ------- MODULE RTC + C:0000H SYMBOL _ICE_DUMMY_ + D:0080H PUBLIC P0 + D:0090H PUBLIC P1 + C:74FEH PUBLIC RTCTwiCheck + D:00A0H PUBLIC P2 + D:00B0H PUBLIC P3 + D:00C0H PUBLIC P4 + D:0080H PUBLIC P5 + C:577FH PUBLIC _RTCInitTime + B:002FH.0 PUBLIC bRTCTwiRWErr + C:6581H PUBLIC _RTCRead + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 98 + + + C:53FBH PUBLIC _RTCModifyTime + X:0496H PUBLIC ucRTCTwiRWErrDelayCnt + X:0497H PUBLIC RTC + B:002FH.1 PUBLIC bRTCErr + C:648BH PUBLIC _RTCWrite + C:31BDH PUBLIC _RTCReadTime + ------- PROC RTCTWICHECK + C:74FEH LINE# 23 + C:74FEH LINE# 24 + C:74FEH LINE# 25 + C:7501H LINE# 26 + C:7501H LINE# 27 + C:7504H LINE# 28 + C:7504H LINE# 29 + C:750FH LINE# 30 + C:750FH LINE# 31 + C:7511H LINE# 32 + C:7514H LINE# 33 + C:7514H LINE# 34 + C:7515H LINE# 36 + C:7515H LINE# 37 + C:751AH LINE# 38 + C:751AH LINE# 39 + C:751AH LINE# 40 + ------- ENDPROC RTCTWICHECK + ------- PROC _RTCWRITE + X:035DH SYMBOL WrAddr + X:035EH SYMBOL Length + X:035FH SYMBOL WrBuf + ------- DO + B:002AH.0 SYMBOL Result + X:0361H SYMBOL i + ------- ENDDO + C:648BH LINE# 49 + C:6499H LINE# 50 + C:6499H LINE# 51 + C:649BH LINE# 54 + C:649EH LINE# 55 + C:649EH LINE# 56 + C:64A1H LINE# 57 + C:64A1H LINE# 65 + C:64C1H LINE# 66 + C:64C1H LINE# 67 + C:64C3H LINE# 68 + C:64C5H LINE# 69 + C:64C5H LINE# 76 + C:64CAH LINE# 77 + C:64D6H LINE# 78 + C:64D6H LINE# 79 + C:64DBH LINE# 81 + C:64DDH LINE# 82 + ------- ENDPROC _RTCWRITE + ------- PROC _RTCREAD + X:0353H SYMBOL RdAddr + X:0354H SYMBOL Length + X:0355H SYMBOL RdBuf + ------- DO + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 99 + + + B:0029H.7 SYMBOL Result + X:0357H SYMBOL i + ------- ENDDO + C:6581H LINE# 91 + C:658FH LINE# 92 + C:658FH LINE# 93 + C:6591H LINE# 96 + C:6594H LINE# 97 + C:6594H LINE# 98 + C:6597H LINE# 99 + C:6597H LINE# 107 + C:65B5H LINE# 108 + C:65B5H LINE# 109 + C:65B7H LINE# 110 + C:65B9H LINE# 111 + C:65B9H LINE# 118 + C:65BEH LINE# 119 + C:65CAH LINE# 120 + C:65CAH LINE# 121 + C:65CFH LINE# 123 + C:65D1H LINE# 124 + ------- ENDPROC _RTCREAD + ------- PROC _RTCREADTIME + X:0348H SYMBOL RtcRdVal + ------- DO + X:034AH SYMBOL rtcbuf + B:0029H.6 SYMBOL Result + ------- ENDDO + C:31BDH LINE# 132 + C:31C5H LINE# 133 + C:31C5H LINE# 135 + C:31C7H LINE# 137 + C:31D7H LINE# 138 + C:31D7H LINE# 139 + C:31E1H LINE# 140 + C:31E1H LINE# 141 + C:328EH LINE# 149 + C:328EH LINE# 150 + C:329FH LINE# 151 + C:32A9H LINE# 152 + C:32BAH LINE# 153 + C:32C6H LINE# 154 + C:32D9H LINE# 155 + C:32E7H LINE# 156 + C:32FAH LINE# 158 + C:3303H LINE# 159 + C:3305H LINE# 161 + C:3305H LINE# 162 + C:3318H LINE# 163 + C:3322H LINE# 164 + C:332FH LINE# 165 + C:333BH LINE# 166 + C:334BH LINE# 167 + C:335BH LINE# 168 + C:336BH LINE# 170 + C:336DH LINE# 171 + C:336DH LINE# 172 + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 100 + + + C:336FH LINE# 174 + C:336FH LINE# 175 + C:337CH LINE# 176 + C:337CH LINE# 177 + C:337CH LINE# 179 + C:337EH LINE# 180 + ------- ENDPROC _RTCREADTIME + ------- PROC _RTCMODIFYTIME + X:0353H SYMBOL RtcMdyVal + ------- DO + B:0029H.7 SYMBOL Result + X:0355H SYMBOL rtcdata + X:0356H SYMBOL rtctemp + ------- ENDDO + C:53FBH LINE# 189 + C:5403H LINE# 190 + C:5403H LINE# 191 + C:5405H LINE# 195 + C:5409H LINE# 196 + C:5416H LINE# 198 + C:5427H LINE# 199 + C:5431H LINE# 200 + C:5446H LINE# 201 + C:5452H LINE# 202 + C:5466H LINE# 203 + C:5474H LINE# 204 + C:5487H LINE# 206 + C:5494H LINE# 208 + C:5496H LINE# 209 + ------- ENDPROC _RTCMODIFYTIME + ------- PROC _RTCINITTIME + X:0326H SYMBOL RtcInitVal + ------- DO + B:0029H.5 SYMBOL Result + X:0328H SYMBOL rtcbuf + D:0007H SYMBOL i + X:0331H SYMBOL checksum + ------- ENDDO + C:577FH LINE# 218 + C:5787H LINE# 219 + C:5787H LINE# 220 + C:5789H LINE# 223 + C:578EH LINE# 225 + C:5798H LINE# 227 + C:57A5H LINE# 228 + C:57A7H LINE# 229 + C:57A7H LINE# 230 + C:57B9H LINE# 231 + C:57BEH LINE# 233 + C:57D0H LINE# 234 + C:57D0H LINE# 235 + C:57D5H LINE# 236 + C:57D7H LINE# 237 + C:57DBH LINE# 238 + C:57DFH LINE# 239 + C:57E3H LINE# 240 + C:57E7H LINE# 241 + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 101 + + + C:57EBH LINE# 242 + C:57EBH LINE# 244 + C:57FCH LINE# 245 + C:5809H LINE# 247 + C:580BH LINE# 248 + ------- ENDPROC _RTCINITTIME + ------- ENDMOD RTC + + ------- MODULE TWI + C:0000H SYMBOL _ICE_DUMMY_ + D:0080H PUBLIC P0 + D:0090H PUBLIC P1 + D:00A0H PUBLIC P2 + D:00B0H PUBLIC P3 + D:00C0H PUBLIC P4 + D:0080H PUBLIC P5 + ------- ENDMOD TWI + + ------- MODULE UART + C:0000H SYMBOL _ICE_DUMMY_ + D:0080H PUBLIC P0 + D:0090H PUBLIC P1 + D:00A0H PUBLIC P2 + D:00B0H PUBLIC P3 + D:00C4H PUBLIC UART0CR + D:00C0H PUBLIC P4 + C:751BH PUBLIC UART0Init + D:009DH PUBLIC SBRTH + D:0080H PUBLIC P5 + D:009CH PUBLIC SBRTL + B:0098H.0 PUBLIC RI + B:0098H.1 PUBLIC TI + D:0099H PUBLIC SBUF + D:0087H PUBLIC PCON + D:0098H PUBLIC SCON + C:65D2H PUBLIC InterruptUART0 + D:0086H PUBLIC INSCON + D:009BH PUBLIC SADEN + D:009AH PUBLIC SADDR + D:009EH PUBLIC SFINE + ------- PROC UART0INIT + C:751BH LINE# 19 + C:751BH LINE# 20 + C:751BH LINE# 22 + C:751EH LINE# 82 + C:751EH LINE# 83 + C:7521H LINE# 84 + C:7524H LINE# 85 + C:7527H LINE# 86 + C:752AH LINE# 87 + C:752DH LINE# 88 + C:7530H LINE# 89 + C:7533H LINE# 90 + C:7536H LINE# 91 + C:7536H LINE# 92 + ------- ENDPROC UART0INIT + ------- PROC INTERRUPTUART0 + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 102 + + + ------- DO + D:0007H SYMBOL RxData + ------- ENDDO + C:65D2H LINE# 101 + C:65EFH LINE# 105 + C:65F1H LINE# 106 + C:65F4H LINE# 108 + C:65F7H LINE# 109 + C:65F7H LINE# 110 + C:65F9H LINE# 111 + C:65FBH LINE# 112 + C:65FEH LINE# 113 + C:65FEH LINE# 115 + C:6601H LINE# 116 + C:6601H LINE# 117 + C:6603H LINE# 118 + C:6606H LINE# 119 + C:6606H LINE# 121 + C:6608H LINE# 122 + ------- ENDPROC INTERRUPTUART0 + ------- ENDMOD UART + + ------- MODULE THERMISTOR + C:0000H SYMBOL _ICE_DUMMY_ + D:0080H PUBLIC P0 + D:0090H PUBLIC P1 + D:00A0H PUBLIC P2 + D:00B0H PUBLIC P3 + D:00C0H PUBLIC P4 + D:0080H PUBLIC P5 + C:3EE8H PUBLIC NTC103AT + ------- ENDMOD THERMISTOR + + ------- MODULE ?C_STARTUP + C:565DH SEGMENT ?C_C51STARTUP + C:1000H PUBLIC ?C_STARTUP + N:00B2H SYMBOL CLKCON + D:0081H SYMBOL SP + C:565DH SYMBOL STARTUP1 + C:1000H LINE# 12 + C:565DH LINE# 18 + C:5660H LINE# 19 + C:5663H LINE# 20 + C:5664H LINE# 21 + C:5665H LINE# 22 + C:5666H LINE# 23 + C:5667H LINE# 24 + C:5668H LINE# 25 + C:5669H LINE# 26 + C:566AH LINE# 27 + C:566BH LINE# 28 + C:566EH LINE# 29 + ------- ENDMOD ?C_STARTUP + + ------- MODULE TWIIO + C:0000H SYMBOL _ICE_DUMMY_ + C:7537H PUBLIC TwiReStart + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 103 + + + D:0080H PUBLIC P0 + D:0090H PUBLIC P1 + D:00A0H PUBLIC P2 + D:00B0H PUBLIC P3 + D:00C0H PUBLIC P4 + D:0080H PUBLIC P5 + B:00A8H.7 PUBLIC EA + C:7763H PUBLIC Delay4us + B:0080H.4 PUBLIC P0_4 + B:0080H.5 PUBLIC P0_5 + D:00E1H PUBLIC P0CR + C:735EH PUBLIC TwiChkClkRelease + C:3AF1H PUBLIC _TwiRead + D:00B1H PUBLIC RSTSTAT + C:5497H PUBLIC _TwiSendData + C:74A4H PUBLIC _CRC8cal + C:474AH PUBLIC _TwiWrite + C:7420H PUBLIC TwiStart + C:1052H PUBLIC TwiInit + C:61CDH PUBLIC _TwiGetData + C:7444H PUBLIC TwiStop + C:43BAH PUBLIC CRC8Table + ------- PROC DELAY4US + ------- DO + D:0007H SYMBOL i + ------- ENDDO + C:7763H LINE# 49 + C:7763H LINE# 50 + C:7763H LINE# 52 + C:7765H LINE# 53 + C:7765H LINE# 54 + C:776AH LINE# 55 + ------- ENDPROC DELAY4US + ------- PROC TWISTART + C:7420H LINE# 65 + C:7420H LINE# 66 + C:7420H LINE# 67 + C:7423H LINE# 68 + C:7426H LINE# 70 + C:742BH LINE# 71 + C:7430H LINE# 72 + C:7433H LINE# 73 + C:7436H LINE# 74 + C:743BH LINE# 75 + C:743EH LINE# 76 + C:7443H LINE# 77 + ------- ENDPROC TWISTART + ------- PROC TWIRESTART + C:7537H LINE# 79 + C:7537H LINE# 80 + C:7537H LINE# 81 + C:753CH LINE# 82 + C:7541H LINE# 83 + C:7544H LINE# 84 + C:7549H LINE# 85 + C:754CH LINE# 86 + C:7551H LINE# 87 + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 104 + + + ------- ENDPROC TWIRESTART + ------- PROC TWISTOP + C:7444H LINE# 89 + C:7444H LINE# 90 + C:7444H LINE# 91 + C:7447H LINE# 92 + C:744CH LINE# 93 + C:744FH LINE# 94 + C:7454H LINE# 95 + C:7457H LINE# 96 + C:745CH LINE# 97 + C:745FH LINE# 98 + C:7462H LINE# 99 + C:7465H LINE# 100 + ------- ENDPROC TWISTOP + ------- PROC TWICHKCLKRELEASE + ------- DO + D:0004H SYMBOL TimeoutCnt + B:002AH.3 SYMBOL result + ------- ENDDO + C:735EH LINE# 102 + C:735EH LINE# 103 + C:735EH LINE# 104 + C:7362H LINE# 105 + C:7364H LINE# 107 + C:7367H LINE# 108 + C:7371H LINE# 109 + C:7371H LINE# 110 + C:7374H LINE# 111 + C:7377H LINE# 112 + C:737AH LINE# 113 + C:737AH LINE# 114 + C:737CH LINE# 115 + C:737CH LINE# 116 + C:737CH LINE# 117 + C:737CH LINE# 119 + C:7381H LINE# 120 + C:7384H LINE# 122 + C:7386H LINE# 123 + ------- ENDPROC TWICHKCLKRELEASE + ------- PROC _TWISENDDATA + D:0003H SYMBOL Data + D:0005H SYMBOL ClkFlg + ------- DO + D:0006H SYMBOL i + B:002AH.2 SYMBOL result + ------- ENDDO + C:5497H LINE# 133 + C:5499H LINE# 134 + C:5499H LINE# 136 + C:549BH LINE# 139 + C:549FH LINE# 140 + C:549FH LINE# 141 + C:54A4H LINE# 142 + C:54A6H LINE# 144 + C:54A6H LINE# 145 + C:54ABH LINE# 146 + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 105 + + + C:54ABH LINE# 147 + C:54AFH LINE# 148 + C:54AFH LINE# 149 + C:54B2H LINE# 150 + C:54B7H LINE# 151 + C:54B7H LINE# 152 + C:54BCH LINE# 153 + C:54BEH LINE# 155 + C:54BEH LINE# 156 + C:54C1H LINE# 157 + C:54C1H LINE# 158 + C:54C1H LINE# 160 + C:54C1H LINE# 161 + C:54C4H LINE# 162 + C:54C9H LINE# 163 + C:54CCH LINE# 164 + C:54D1H LINE# 165 + C:54D1H LINE# 168 + C:54D5H LINE# 169 + C:54D7H LINE# 170 + C:54D7H LINE# 171 + C:54DBH LINE# 172 + C:54DBH LINE# 173 + C:54E0H LINE# 174 + C:54E2H LINE# 176 + C:54E2H LINE# 177 + C:54E7H LINE# 178 + C:54E7H LINE# 179 + C:54EBH LINE# 180 + C:54EEH LINE# 181 + C:54F3H LINE# 182 + C:54F6H LINE# 183 + C:54FBH LINE# 184 + C:5500H LINE# 185 + C:5503H LINE# 186 + C:5506H LINE# 188 + C:5508H LINE# 189 + C:5508H LINE# 190 + C:550BH LINE# 191 + C:550BH LINE# 192 + C:550DH LINE# 193 + C:550FH LINE# 194 + C:550FH LINE# 195 + C:5514H LINE# 196 + C:5519H LINE# 198 + C:551CH LINE# 199 + C:5521H LINE# 200 + C:5524H LINE# 201 + C:5529H LINE# 202 + C:552CH LINE# 204 + C:552EH LINE# 205 + ------- ENDPROC _TWISENDDATA + ------- PROC _TWIGETDATA + D:0006H SYMBOL AckFlg + ------- DO + D:0004H SYMBOL i + D:0005H SYMBOL RdData + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 106 + + + ------- ENDDO + C:61CDH LINE# 214 + C:61CFH LINE# 215 + C:61CFH LINE# 216 + C:61D1H LINE# 218 + C:61D4H LINE# 219 + C:61D7H LINE# 221 + C:61D9H LINE# 222 + C:61D9H LINE# 223 + C:61DEH LINE# 224 + C:61E1H LINE# 225 + C:61E4H LINE# 226 + C:61E4H LINE# 227 + C:61F6H LINE# 228 + C:61F6H LINE# 229 + C:61FBH LINE# 230 + C:61FEH LINE# 231 + C:6203H LINE# 233 + C:6206H LINE# 234 + C:6209H LINE# 235 + C:6209H LINE# 236 + C:620EH LINE# 237 + C:6210H LINE# 239 + C:6210H LINE# 240 + C:6215H LINE# 241 + C:6215H LINE# 242 + C:621AH LINE# 243 + C:621DH LINE# 244 + C:6222H LINE# 245 + C:6225H LINE# 247 + C:6227H LINE# 248 + ------- ENDPROC _TWIGETDATA + ------- PROC _CRC8CAL + D:0001H SYMBOL p + D:0005H SYMBOL Length + ------- DO + D:0007H SYMBOL crc8 + ------- ENDDO + C:74A4H LINE# 257 + C:74A4H LINE# 258 + C:74A4H LINE# 259 + C:74A6H LINE# 261 + C:74ACH LINE# 262 + C:74ACH LINE# 263 + C:74AFH LINE# 264 + C:74B8H LINE# 265 + C:74BFH LINE# 266 + C:74C2H LINE# 268 + C:74C2H LINE# 269 + ------- ENDPROC _CRC8CAL + ------- PROC _TWIWRITE + X:0362H SYMBOL SlaveID + X:0363H SYMBOL WrAddr + X:0365H SYMBOL Length + X:0366H SYMBOL WrBuf + ------- DO + D:0002H SYMBOL i + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 107 + + + X:0368H SYMBOL TempBuf + B:002AH.1 SYMBOL result + C:4808H SYMBOL WrErr + ------- ENDDO + C:474AH LINE# 281 + C:475AH LINE# 282 + C:475AH LINE# 285 + C:475CH LINE# 287 + C:4761H LINE# 288 + C:4764H LINE# 289 + C:4774H LINE# 290 + C:4784H LINE# 292 + C:4786H LINE# 293 + C:478FH LINE# 294 + C:478FH LINE# 295 + C:4792H LINE# 297 + C:479EH LINE# 298 + C:479EH LINE# 299 + C:479EH LINE# 300 + C:479EH LINE# 302 + C:47A5H LINE# 303 + C:47A5H LINE# 304 + C:47AFH LINE# 305 + C:47AFH LINE# 306 + C:47AFH LINE# 307 + C:47AFH LINE# 308 + C:47AFH LINE# 309 + C:47BDH LINE# 310 + C:47BDH LINE# 311 + C:47BFH LINE# 312 + C:47CBH LINE# 313 + C:47CBH LINE# 314 + C:47CEH LINE# 315 + C:47E0H LINE# 316 + C:47E0H LINE# 317 + C:47EAH LINE# 318 + C:47ECH LINE# 320 + C:47ECH LINE# 321 + C:47EEH LINE# 322 + C:47F0H LINE# 323 + C:47F0H LINE# 324 + C:47F3H LINE# 326 + C:47FAH LINE# 327 + C:47FAH LINE# 328 + C:4806H LINE# 329 + C:4806H LINE# 330 + C:4808H LINE# 331 + C:4808H LINE# 332 + C:4808H LINE# 333 + C:4808H LINE# 334 + C:4808H LINE# 335 + C:480BH LINE# 336 + C:480BH LINE# 337 + C:480DH LINE# 339 + C:480FH LINE# 340 + ------- ENDPROC _TWIWRITE + ------- PROC _TWIREAD + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 108 + + + D:0002H SYMBOL SlaveID + X:0359H SYMBOL RdAddr + X:035BH SYMBOL Length + X:035CH SYMBOL RdBuf + ------- DO + X:035EH SYMBOL i + B:002AH.0 SYMBOL result + X:035FH SYMBOL TempBuf + X:038DH SYMBOL RdCrc + C:3C4CH SYMBOL RdErr + ------- ENDDO + C:3AF1H LINE# 352 + C:3AFEH LINE# 353 + C:3AFEH LINE# 355 + C:3B00H LINE# 357 + C:3B05H LINE# 359 + C:3B0AH LINE# 360 + C:3B0DH LINE# 362 + C:3B12H LINE# 364 + C:3B14H LINE# 365 + C:3B1DH LINE# 366 + C:3B1DH LINE# 367 + C:3B20H LINE# 369 + C:3B2CH LINE# 370 + C:3B2CH LINE# 371 + C:3B2CH LINE# 372 + C:3B2CH LINE# 374 + C:3B30H LINE# 375 + C:3B30H LINE# 376 + C:3B3FH LINE# 377 + C:3B3FH LINE# 378 + C:3B3FH LINE# 379 + C:3B3FH LINE# 380 + C:3B3FH LINE# 381 + C:3B50H LINE# 382 + C:3B50H LINE# 383 + C:3B50H LINE# 384 + C:3B50H LINE# 394 + C:3B53H LINE# 396 + C:3B61H LINE# 397 + C:3B61H LINE# 398 + C:3B63H LINE# 399 + C:3B6BH LINE# 400 + C:3B6BH LINE# 401 + C:3B8AH LINE# 402 + C:3B8AH LINE# 403 + C:3B8EH LINE# 404 + C:3B8EH LINE# 405 + C:3B98H LINE# 406 + C:3B9AH LINE# 408 + C:3B9AH LINE# 409 + C:3BAEH LINE# 410 + C:3BAEH LINE# 411 + C:3BB6H LINE# 413 + C:3BCDH LINE# 414 + C:3BCDH LINE# 415 + C:3BCFH LINE# 416 + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 109 + + + C:3BD1H LINE# 418 + C:3BD1H LINE# 419 + C:3BE4H LINE# 420 + C:3BE4H LINE# 421 + C:3BFDH LINE# 422 + C:3C07H LINE# 423 + C:3C0FH LINE# 424 + C:3C0FH LINE# 425 + C:3C0FH LINE# 427 + C:3C0FH LINE# 428 + C:3C22H LINE# 429 + C:3C22H LINE# 430 + C:3C25H LINE# 431 + C:3C3AH LINE# 432 + C:3C44H LINE# 433 + C:3C4CH LINE# 434 + C:3C4CH LINE# 435 + C:3C4CH LINE# 437 + C:3C4CH LINE# 438 + C:3C4FH LINE# 439 + C:3C4FH LINE# 440 + C:3C51H LINE# 441 + C:3C53H LINE# 442 + ------- ENDPROC _TWIREAD + ------- PROC TWIINIT + C:1052H LINE# 445 + C:1052H LINE# 446 + C:1052H LINE# 448 + ------- ENDPROC TWIINIT + ------- ENDMOD TWIIO + + ------- MODULE GASGAUGEINTER_V4_13 + C:0000H SYMBOL _ICE_DUMMY_ + D:0080H PUBLIC P0 + D:0090H PUBLIC P1 + X:02B5H PUBLIC E2uiDsgCorrectVol + D:00A0H PUBLIC P2 + D:00B0H PUBLIC P3 + D:00C0H PUBLIC P4 + D:0080H PUBLIC P5 + B:00A8H.7 PUBLIC EA + X:02B7H PUBLIC Info_uiRSOC + X:02B9H PUBLIC E2ulIdleSocTimes + X:02BDH PUBLIC Info_uiRsocCnt + X:02BFH PUBLIC E2ulChgerEndVol + X:02C3H PUBLIC E2ucChgCurRatio + X:02C4H PUBLIC Info_uiSocDecTime + X:02C6H PUBLIC Info_ulTempDsgFcc + X:02CAH PUBLIC E2ui_CYCLECOUNTA_B + X:02CCH PUBLIC E2ui_CYCLECOUNTB_B + X:02CEH PUBLIC E2uiTempFCC_K1 + X:02D0H PUBLIC E2uiTempFCC_K2 + X:02D2H PUBLIC E2uiChgEndTemp + X:02D4H PUBLIC E2ucFccUpdatePercent + X:02D5H PUBLIC Info_ulFCC + X:02D9H PUBLIC E2ui_CYCLECOUNTA_K + X:02DBH PUBLIC E2ui_CYCLECOUNTB_K + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 110 + + + X:02DDH PUBLIC E2ucChgCorrectSOC + X:02DEH PUBLIC E2ucInitSocDif + X:02DFH PUBLIC Info_ulVoltage + X:02E3H PUBLIC E2uiDsgEndTemp + X:02E5H PUBLIC E2ulLoadEndVol + X:02E9H PUBLIC E2ucDsgCorrectSOC + X:02EAH PUBLIC E2slDsgEndCurr + X:02EEH PUBLIC Info_ulDfilterRC + X:02F2H PUBLIC E2uiLastCCount + X:02F4H PUBLIC E2uiUpdateCycleCount + X:02F6H PUBLIC E2ucDsgVolDet + D:0015H PUBLIC uiCellVminG + X:02F7H PUBLIC slAdcCur2 + D:0017H PUBLIC uiCellVmaxG + X:02FBH PUBLIC E2ucChgerEndDelay + X:02FCH PUBLIC Info_uiCycleCount + X:02FEH PUBLIC E2slDsgAdjMaxCurr + X:0302H PUBLIC E2ucDsgAdjLowFlg + X:0303H PUBLIC E2ucInitUpSoc + X:0304H PUBLIC E2uiDsgAdjLowTemp + X:0306H PUBLIC E2ucChgChangeSocRatio + X:0307H PUBLIC E2ucDsgAdjLowSoc + X:0308H PUBLIC E2uiTempFCC_B + X:030AH PUBLIC siCurCompens + X:030CH PUBLIC Info_uiTemp + X:030EH PUBLIC Info_ulRC + X:0312H PUBLIC E2ucChgChangeSocDif + C:2FDAH PUBLIC GasGaugeVarIn + X:0313H PUBLIC Info_slCurr + C:6623H PUBLIC GasGaugeVarOut + X:0317H PUBLIC E2uiChgCorrectVol + X:0319H PUBLIC E2ui_CYCLECOUNTA + X:031BH PUBLIC E2ui_CYCLECOUNTB + X:031DH PUBLIC E2ui_CYCLECOUNTC + X:031FH PUBLIC E2ucChgAdjRatio + X:0320H PUBLIC E2ucChg100Ratio + X:0321H PUBLIC E2ucFullDsgDelay + ------- PROC GASGAUGEVARIN + ------- DO + B:0029H.5 SYMBOL eabak + ------- ENDDO + C:2FDAH LINE# 114 + C:2FDAH LINE# 115 + C:2FDAH LINE# 118 + C:2FDEH LINE# 119 + C:2FE0H LINE# 120 + C:2FEFH LINE# 121 + C:2FFBH LINE# 122 + C:3007H LINE# 123 + C:3016H LINE# 124 + C:3022H LINE# 125 + C:302CH LINE# 126 + C:303DH LINE# 128 + C:3043H LINE# 129 + C:3049H LINE# 131 + C:3053H LINE# 132 + C:305AH LINE# 134 + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 111 + + + C:305EH LINE# 136 + C:3064H LINE# 137 + C:306AH LINE# 138 + C:3072H LINE# 139 + C:307CH LINE# 140 + C:3081H LINE# 141 + C:3086H LINE# 142 + C:308CH LINE# 143 + C:3096H LINE# 144 + C:309DH LINE# 145 + C:30A7H LINE# 146 + C:30ADH LINE# 147 + C:30C1H LINE# 148 + C:30C7H LINE# 149 + C:30CFH LINE# 150 + C:30D5H LINE# 152 + C:30E4H LINE# 153 + C:30EAH LINE# 154 + C:3102H LINE# 155 + C:3116H LINE# 156 + C:311CH LINE# 157 + C:3122H LINE# 159 + C:3128H LINE# 160 + C:312EH LINE# 161 + C:3134H LINE# 163 + C:313EH LINE# 165 + C:3144H LINE# 166 + C:314EH LINE# 167 + C:3158H LINE# 169 + C:3161H LINE# 170 + C:316AH LINE# 171 + C:3173H LINE# 172 + C:317CH LINE# 173 + C:3185H LINE# 174 + C:318EH LINE# 175 + C:3198H LINE# 176 + C:31A1H LINE# 178 + C:31ADH LINE# 182 + C:31BCH LINE# 210 + ------- ENDPROC GASGAUGEVARIN + ------- PROC GASGAUGEVAROUT + ------- DO + B:0029H.5 SYMBOL eabak + ------- ENDDO + C:6623H LINE# 218 + C:6623H LINE# 219 + C:6623H LINE# 222 + C:6627H LINE# 223 + C:6629H LINE# 224 + C:6638H LINE# 225 + C:6644H LINE# 226 + C:6650H LINE# 227 + C:665FH LINE# 229 + C:666EH LINE# 235 + C:6672H LINE# 236 + ------- ENDPROC GASGAUGEVAROUT + ------- ENDMOD GASGAUGEINTER_V4_13 + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 112 + + + + ------- MODULE BOOTAPP + C:0000H SYMBOL _ICE_DUMMY_ + D:0080H PUBLIC P0 + D:0090H PUBLIC P1 + D:00A0H PUBLIC P2 + D:00B0H PUBLIC P3 + D:00C0H PUBLIC P4 + D:0080H PUBLIC P5 + B:00A8H.7 PUBLIC EA + C:756CH PUBLIC ISPProcess + ------- PROC ISPPROCESS + C:756CH LINE# 17 + C:756CH LINE# 18 + C:756CH LINE# 19 + C:7578H LINE# 20 + C:7578H LINE# 21 + C:757AH LINE# 22 + C:757CH LINE# 23 + C:757EH LINE# 24 + C:7581H LINE# 25 + C:7584H LINE# 26 + C:7584H LINE# 27 + ------- ENDPROC ISPPROCESS + ------- ENDMOD BOOTAPP + + ------- MODULE BOOTIAP + C:0000H SYMBOL _ICE_DUMMY_ + D:0080H PUBLIC P0 + D:0090H PUBLIC P1 + D:00A0H PUBLIC P2 + D:00B0H PUBLIC P3 + D:00C0H PUBLIC P4 + D:0080H PUBLIC P5 + C:0000H PUBLIC g_loadercode + ------- ENDMOD BOOTIAP + + ------- MODULE ?C?FPADD + C:234BH PUBLIC ?C?FPADD + C:2347H PUBLIC ?C?FPSUB + ------- ENDMOD ?C?FPADD + + ------- MODULE ?C?FPMUL + C:243CH PUBLIC ?C?FPMUL + ------- ENDMOD ?C?FPMUL + + ------- MODULE ?C?FCAST + C:254CH PUBLIC ?C?FCASTC + C:2547H PUBLIC ?C?FCASTI + C:2542H PUBLIC ?C?FCASTL + ------- ENDMOD ?C?FCAST + + ------- MODULE ?C?CASTF + C:2580H PUBLIC ?C?CASTF + ------- ENDMOD ?C?CASTF + + ------- MODULE ?C?CLDPTR + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 113 + + + C:2601H PUBLIC ?C?CLDPTR + ------- ENDMOD ?C?CLDPTR + + ------- MODULE ?C?IMUL + C:261AH PUBLIC ?C?IMUL + ------- ENDMOD ?C?IMUL + + ------- MODULE ?C?UIDIV + C:262CH PUBLIC ?C?UIDIV + ------- ENDMOD ?C?UIDIV + + ------- MODULE ?C?IILDX + C:2681H PUBLIC ?C?IILDX + ------- ENDMOD ?C?IILDX + + ------- MODULE ?C?LADD + C:2697H PUBLIC ?C?LADD + ------- ENDMOD ?C?LADD + + ------- MODULE ?C?LSUB + C:26A4H PUBLIC ?C?LSUB + ------- ENDMOD ?C?LSUB + + ------- MODULE ?C?LMUL + C:26B2H PUBLIC ?C?LMUL + ------- ENDMOD ?C?LMUL + + ------- MODULE ?C?ULDIV + C:273DH PUBLIC ?C?ULDIV + ------- ENDMOD ?C?ULDIV + + ------- MODULE ?C?SLDIV + C:6DAFH PUBLIC ?C?SLDIV + ------- ENDMOD ?C?SLDIV + + ------- MODULE ?C?LOR + C:27CFH PUBLIC ?C?LOR + ------- ENDMOD ?C?LOR + + ------- MODULE ?C?LNEG + C:27DCH PUBLIC ?C?LNEG + ------- ENDMOD ?C?LNEG + + ------- MODULE ?C?SLCMP + C:27EAH PUBLIC ?C?SLCMP + ------- ENDMOD ?C?SLCMP + + ------- MODULE ?C?ULCMP + C:2800H PUBLIC ?C?ULCMP + ------- ENDMOD ?C?ULCMP + + ------- MODULE ?C?ULSHR + C:2811H PUBLIC ?C?ULSHR + ------- ENDMOD ?C?ULSHR + + ------- MODULE ?C?SLSHR + C:2824H PUBLIC ?C?SLSHR + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 114 + + + ------- ENDMOD ?C?SLSHR + + ------- MODULE ?C?LSHL + C:2838H PUBLIC ?C?LSHL + ------- ENDMOD ?C?LSHL + + ------- MODULE ?C?LLDIDATA + C:284BH PUBLIC ?C?LLDIDATA + ------- ENDMOD ?C?LLDIDATA + + ------- MODULE ?C?LLDXDATA + C:2857H PUBLIC ?C?LLDXDATA + ------- ENDMOD ?C?LLDXDATA + + ------- MODULE ?C?LLDIDATA0 + C:2863H PUBLIC ?C?LLDIDATA0 + ------- ENDMOD ?C?LLDIDATA0 + + ------- MODULE ?C?LLDXDATA0 + C:2870H PUBLIC ?C?LLDXDATA0 + ------- ENDMOD ?C?LLDXDATA0 + + ------- MODULE ?C?LILDXDATA + C:2885H PUBLIC ?C?LILDXDATA + C:287CH PUBLIC ?C?LILDXDATA1 + C:287EH PUBLIC ?C?LILDXDATA8 + ------- ENDMOD ?C?LILDXDATA + + ------- MODULE ?C?LSTIDATA + C:28B1H PUBLIC ?C?LSTIDATA + ------- ENDMOD ?C?LSTIDATA + + ------- MODULE ?C?LSTXDATA + C:28BDH PUBLIC ?C?LSTXDATA + ------- ENDMOD ?C?LSTXDATA + + ------- MODULE ?C?LSTKIDATA + C:28C9H PUBLIC ?C?LSTKIDATA + ------- ENDMOD ?C?LSTKIDATA + + ------- MODULE ?C?LSTKXDATA + C:28E2H PUBLIC ?C?LSTKXDATA + ------- ENDMOD ?C?LSTKXDATA + + ------- MODULE ?C?OFFXADD + C:2913H PUBLIC ?C?OFFXADD + ------- ENDMOD ?C?OFFXADD + + ------- MODULE ?C?CCASE + C:291FH PUBLIC ?C?CCASE + ------- ENDMOD ?C?CCASE + + ------- MODULE ?C?LIMUL + C:2945H PUBLIC ?C?LIMUL + ------- ENDMOD ?C?LIMUL + + + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 115 + + + +FUNCTION REGISTER MASKS + + +FUNCTION . . . . . . . . . REG MASK +----------------------------------- + +AFEADCDIS. . . . . . . . . @0xf7ff +AFEADCEN . . . . . . . . . @0xf7ff +AFECADCDIS . . . . . . . . @0xf7ff +AFECADCEN. . . . . . . . . @0xf7ff +AFECHGERCHECKDIS . . . . . @0xf7ff +AFECHGERCHECKEN. . . . . . @0xf7ff +AFECLRFLG. . . . . . . . . @0xf7ff +AFEENTERPD . . . . . . . . @0xf7ff +AFEGETTEMPE. . . . . . . . @0xf7ff +AFEGETVOL. . . . . . . . . @0xf7ff +AFEINIT. . . . . . . . . . @0xf7ff +AFELOADCHECKDIS. . . . . . @0xf7ff +AFELOADCHECKEN . . . . . . @0xf7ff +AFERAMCHECK. . . . . . . . @0xf7ff +AFERDFLG . . . . . . . . . @0xf7ff +AFERDSTATUS. . . . . . . . @0xf7ff +AFETEMPADCDIS. . . . . . . @0xf7ff +AFETEMPADCEN . . . . . . . @0xf7ff +AFETWICHECK. . . . . . . . @0xf300 +AFEWDTDIS. . . . . . . . . @0xf7ff +AFEWDTEN . . . . . . . . . @0xf7ff +BALPROCESS . . . . . . . . @0xf7ff +CALICURZERO. . . . . . . . @0xe301 +CALIRTCTIME. . . . . . . . @0xf7ff +CHGERCHECK . . . . . . . . @0xf7ff +CLRRAM . . . . . . . . . . @0xf383 +CTOCHECKVOL. . . . . . . . @0xf300 +CTOTURNONCHECK . . . . . . @0xf300 +DELAY4US . . . . . . . . . @0xf001 +E2PROMBKBOOT . . . . . . . @0xf7ff +E2PROMINIT . . . . . . . . @0xf7ff +E2PROMTWICHECK . . . . . . @0xf300 +GASGAUGEVARIN. . . . . . . @0xffbf +GASGAUGEVAROUT . . . . . . @0xff8f +INITGPIO . . . . . . . . . @0xc000 +INITIRQ. . . . . . . . . . @0xe000 +INITVAR. . . . . . . . . . @0xf797 +INTERRUPTINT4. . . . . . . @0xf003 +INTERRUPTTIMER3. . . . . . @0xf300 +INTERRUPTTIMER3APP . . . . @0xf300 +INTERRUPTUART0APPTX. . . . @0xf38f +KEYSCAN. . . . . . . . . . @0xf000 +LEDAUTOOFF . . . . . . . . @0xf300 +LEDDISPLAY . . . . . . . . @0xf303 +LOADCHECK. . . . . . . . . @0xf7ff +LOWPOWERCHECK. . . . . . . @0xf301 +LOWPOWERPROCESS. . . . . . @0xf7ff +MCUFLASHPROCESS. . . . . . @0xf7bf +MCUFLASHWRWAITCHECK. . . . @0xf300 +MCUINTOIDLE. . . . . . . . @0xc000 + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 116 + + +MCUINTOPD. . . . . . . . . @0xc000 +MOSCTRL. . . . . . . . . . @0xf7ff +MOSSTATUSCHECK . . . . . . @0xc000 +PORPROTECTOTC. . . . . . . @0xf78f +PORPROTECTOTD. . . . . . . @0xf78f +PORPROTECTOV . . . . . . . @0xf782 +PORPROTECTUTC. . . . . . . @0xf78f +PORPROTECTUTD. . . . . . . @0xf78f +PORPROTECTUV . . . . . . . @0xf782 +PROTECTOCRECOVER . . . . . @0xf7ff +PROTECTOTC . . . . . . . . @0xf7af +PROTECTOTD . . . . . . . . @0xf7af +PROTECTOV. . . . . . . . . @0xf7ff +PROTECTUTC . . . . . . . . @0xf7af +PROTECTUTD . . . . . . . . @0xf7af +PROTECTUV. . . . . . . . . @0xf78b +RAMCHECKPROCESS. . . . . . @0xf300 +RTCTWICHECK. . . . . . . . @0xf300 +SYSPARAINIT. . . . . . . . @0xffbf +SYSTEMINTOPD . . . . . . . @0xf7ff +SYSTEMINTOSLEEP. . . . . . @0xf7ff +TWICHKCLKRELEASE . . . . . @0xf00f +TWIINIT. . . . . . . . . . @0x8000 +TWIRESTART . . . . . . . . @0xf001 +TWISTART . . . . . . . . . @0xf001 +TWISTOP. . . . . . . . . . @0xf001 +UART0CALICUROFFSET . . . . @0xf375 +UART0CALIRTC . . . . . . . @0xf377 +UART0CALITS1 . . . . . . . @0xf377 +UART0CALITS2 . . . . . . . @0xf377 +UART0CALIVOLTAGE . . . . . @0xf377 +UART0CHECK . . . . . . . . @0xf300 +UART0HANDSHAKE . . . . . . @0xe300 +UART0IAPCHECKHANDSHAKE . . @0xf7bf +UART0INIT. . . . . . . . . @0xe000 +UART0RDCMDPROCESS. . . . . @0xf3ff +UART0RDE2PROM. . . . . . . @0xf7ff +UART0READSUBCLASSID. . . . @0xf375 +UART0WRITEMANUFACTURE. . . @0xf375 +UART1RDE2PROM. . . . . . . @0xf7ff +UART2RDE2PROM. . . . . . . @0xf7ff +WAKEUPPROCESS. . . . . . . @0xf7ff +_AFEALARMDIS . . . . . . . @0xf7ff +_AFEALARMEN. . . . . . . . @0xf7ff +_AFEBALCTL . . . . . . . . @0xf7ff +_AFEMOSCTL . . . . . . . . @0xf7ff +_AFEREADREG. . . . . . . . @0xf7ff +_AFEWRITEREG . . . . . . . @0xf7ff +_CRC8CAL . . . . . . . . . @0xf365 +_DELAY1MS. . . . . . . . . @0xf03e +_E2PROMREAD. . . . . . . . @0xf7ff +_E2PROMWRITE . . . . . . . @0xf7ff +_GETCYCLEGAIN. . . . . . . @0xf7cf +_INTERRUPTINT4APP. . . . . @0xf003 +_LEDGETDISNUM. . . . . . . @0xf001 +_MCUCLOCKSET . . . . . . . @0xf003 +_MCUFLASHBLANKCHECK. . . . @0xf31c + BL51 BANKED LINKER/LOCATER V6.22 11/29/2023 14:42:56 PAGE 117 + + +_MCUFLASHCHECKFLG. . . . . @0xf303 +_MCUFLASHDATACHECK . . . . @0xf7af +_MCUFLASHREAD. . . . . . . @0xf307 +_MCUFLASHWRITE . . . . . . @0xf7bf +_MCUFLASHWRONEBYTE . . . . @0xf035 +_MCUFLASHWRSECTOR. . . . . @0xf33f +_MEMORYCOPY. . . . . . . . @0xf78d +_MEMORYSET . . . . . . . . @0xf781 +_RTCMODIFYTIME . . . . . . @0xf7ff +_RTCREAD . . . . . . . . . @0xf7ff +_RTCWRITE. . . . . . . . . @0xf7ff +_TWIGETDATA. . . . . . . . @0xf08f +_TWIREAD . . . . . . . . . @0xf7ff +_TWISENDDATA . . . . . . . @0xf01f +_TWIWRITE. . . . . . . . . @0xf7ff +_UART0READINFO . . . . . . @0xf37f +_UART0WRITEINFO. . . . . . @0xf7ff + +Program Size: data=153.5 xdata=1532 code=30577 +LINK/LOCATE RUN COMPLETE. 0 WARNING(S), 0 ERROR(S) diff --git a/MCUCore_uvopt.bak b/MCUCore_uvopt.bak new file mode 100644 index 0000000..7647821 --- /dev/null +++ b/MCUCore_uvopt.bak @@ -0,0 +1,3888 @@ + + + + 1.0 + +
### uVision Project, (C) Keil Software
+ + + *.c + *.s*; *.src; *.a* + *.obj; *.o + *.lib + *.txt; *.h; *.inc + *.plm + *.cpp + + + + 0 + 0 + + + + McuFlash_Load + 0x0 + MCS-51 + + 24000000 + + 1 + 1 + 1 + 0 + + + 0 + 65535 + 0 + 0 + 0 + + + 120 + 65 + 8 + .\output\ + + + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + + 1 + 0 + 1 + + 0 + + S8051.DLL + + DP51.DLL + -p51 + S8051.DLL + + TP51.DLL + -p51 + + + 0 + 1 + 1 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 0 + 14 + + + + + + + + + + + BIN\SH51A.dll + + + + 0 + PWSTATINFO + 200,50,700 + + + 0 + DLGTP51 + (98=-1,-1,-1,-1,0)(82=-1,-1,-1,-1,0)(83=-1,-1,-1,-1,0)(84=-1,-1,-1,-1,0)(85=-1,-1,-1,-1,0)(80=-1,-1,-1,-1,0)(91=-1,-1,-1,-1,0)(92=-1,-1,-1,-1,0) + + + 0 + SH51A + -J0 -DSH39F003 -V-1072775120 -N-2046820256 -O67176199 -S0 -K0 -C0 -Q0 -L0 -M0 -P0 -T0 -F0 -G0 -H0 -A0 -B0 -E0 -I0 -Z000000000000000000000000000000000000000000 + + + 0 + DLGDP51 + (98=-1,-1,-1,-1,0)(82=-1,-1,-1,-1,0)(83=-1,-1,-1,-1,0)(84=-1,-1,-1,-1,0)(85=-1,-1,-1,-1,0)(80=-1,-1,-1,-1,0)(91=-1,-1,-1,-1,0)(92=-1,-1,-1,-1,0) + + + + + 0 + 1 + E2ucSOC,0x0A + + + 1 + 1 + E2uiCycleCount,0x0A + + + 2 + 1 + E2siDfilterCur,0x0A + + + 3 + 1 + Info,0x0A + + + 4 + 1 + slCadcCurAverage,0x0A + + + 5 + 1 + slCadcCurBuf,0x0A + + + 6 + 1 + E2siCadcGain,0x0A + + + 7 + 1 + E2siCadcOffset,0x0A + + + 8 + 1 + AFE,0x0A + + + 9 + 1 + ucCadcCnt,0x0A + + + 10 + 1 + bISPFlg + + + 11 + 1 + Info + + + 12 + 1 + ucUart1Buf,0x10 + + + 13 + 1 + TWISTA + + + 14 + 1 + TWIBR + + + 15 + 1 + REG.AFEFLAG1 + + + + + 1 + 0 + I:0Xf0 + + + + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + McuFlalsh_IAP + 0x0 + MCS-51 + + 24000000 + + 1 + 1 + 1 + 0 + + + 0 + 65535 + 0 + 0 + 0 + + + 120 + 65 + 8 + .\output\ + + + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + + 1 + 0 + 0 + + 0 + + S8051.DLL + + DP51.DLL + -p51 + S8051.DLL + + TP51.DLL + -p51 + + + 0 + 1 + 1 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 0 + 14 + + + + + + + + + + + BIN\SH51A.dll + + + + 0 + DLGTP51 + (98=-1,-1,-1,-1,0)(82=-1,-1,-1,-1,0)(83=-1,-1,-1,-1,0)(84=-1,-1,-1,-1,0)(85=-1,-1,-1,-1,0)(80=-1,-1,-1,-1,0)(91=-1,-1,-1,-1,0)(92=-1,-1,-1,-1,0) + + + 0 + SH51A + -J0 -DSH39F004 -V-1073496064 -N-2046820256 -O67176199 -S0 -K0 -C0 -Q0 -L0 -M0 -P0 -T0 -F0 -G0 -H0 -A0 -B0 -E0 -I0 -Z000000000000000000000000000000000000000000 + + + 0 + DLGDP51 + (98=-1,-1,-1,-1,0)(82=-1,-1,-1,-1,0)(83=-1,-1,-1,-1,0)(84=-1,-1,-1,-1,0)(85=-1,-1,-1,-1,0)(80=-1,-1,-1,-1,0)(91=-1,-1,-1,-1,0)(92=-1,-1,-1,-1,0) + + + + + 0 + 0 + 354 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + D:\bp-protect\HP-软件方案\SH39F004\Demo Code\SH39F003&F004_DemoCode_V2.12_20221212\SH39F003&F004_DemoCode_V2.12_20221212\code_drv\Protect.c + + +
+ + 1 + 0 + 472 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + D:\bp-protect\HP-软件方案\SH39F004\Demo Code\SH39F003&F004_DemoCode_V2.12_20221212-TWI不传输长度\SH39F003&F004_DemoCode_V2.12_20221212\code_app\UartApp.c + + +
+ + 2 + 0 + 46 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + D:\bp-protect\HP-软件方案\SH39F004\Demo Code\SH39F003&F004_DemoCode_V2.12_20221212-TWI不传输长度\SH39F003&F004_DemoCode_V2.12_20221212\code_drv\TWI.c + + +
+ + 3 + 0 + 23 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + C:\Users\wenhua.wang\Desktop\demo方案&user guide优化\SH39F003&F004_DemoCode_V2.13_20230309\code_app\Main.c + + +
+ + 4 + 0 + 29 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + C:\Users\wenhua.wang\Desktop\demo方案&user guide优化\SH39F003&F004_DemoCode_V2.13_20230309\code_app\Main.c + + +
+ + 5 + 0 + 52 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + C:\Users\wenhua.wang\Desktop\demo方案&user guide优化\SH39F003&F004_DemoCode_V2.14\SH39F003&F004_DemoCode_V2.14_20231012\code_drv\KeyScan.c + + +
+ + 6 + 0 + 21 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + C:\Users\wenhua.wang\Desktop\demo方案&user guide优化\SH39F003&F004_DemoCode_V2.15_20231213\SH39F003&F004_DemoCode_V2.15_20231213\SH39F003&F004_DemoCode_V2.15_20231213\code_drv\BootApp.c + + +
+
+ + + 0 + 1 + E2ucSOC,0x0A + + + 1 + 1 + E2ulLastFCC,0x0A + + + 2 + 1 + E2uiCycleCount,0x0A + + + 3 + 1 + uiDfFCC,0x0A + + + 4 + 1 + uiDfRC,0x0A + + + 5 + 1 + uiRCCharge,0x0A + + + 6 + 1 + uiRCDischarge,0x0A + + + 7 + 1 + uiTempBK,0x0A + + + 8 + 1 + ucCycleGain,0x0A + + + 9 + 1 + uiDfRSOC,0x0A + + + 10 + 1 + slCur,0x0A + + + 11 + 1 + E2siDfilterCur,0x0A + + + 12 + 1 + Info,0x0A + + + 13 + 1 + slCadcCurAverage,0x0A + + + 14 + 1 + slCadcCurBuf,0x0A + + + 15 + 1 + E2siCadcGain,0x0A + + + 16 + 1 + E2siCadcOffset,0x0A + + + 17 + 1 + AFE,0x0A + + + 18 + 1 + ucCadcCnt,0x0A + + + + + 1 + 0 + I:0Xf0 + + + + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + +
+
+ + + McuFlahs_ISP + 0x0 + MCS-51 + + 24000000 + + 1 + 1 + 1 + 0 + + + 0 + 65535 + 0 + 0 + 0 + + + 120 + 65 + 8 + .\output\ + + + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + + 1 + 0 + 0 + + 0 + + S8051.DLL + + DP51.DLL + -p51 + S8051.DLL + + TP51.DLL + -p51 + + + 0 + 1 + 1 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 0 + 14 + + + + + + + + + + + BIN\SH51A.dll + + + + 0 + DLGTP51 + (98=-1,-1,-1,-1,0)(82=-1,-1,-1,-1,0)(83=-1,-1,-1,-1,0)(84=-1,-1,-1,-1,0)(85=-1,-1,-1,-1,0)(80=-1,-1,-1,-1,0)(91=-1,-1,-1,-1,0)(92=-1,-1,-1,-1,0) + + + 0 + SH51A + -J0 -DSH39F004 -V-1073496064 -N-2046820256 -O67176199 -S0 -K0 -C0 -Q0 -L0 -M0 -P0 -T0 -F0 -G0 -H0 -A0 -B0 -E0 -I0 -Z000000000000000000000000000000000000000000 + + + 0 + DLGDP51 + (98=-1,-1,-1,-1,0)(82=-1,-1,-1,-1,0)(83=-1,-1,-1,-1,0)(84=-1,-1,-1,-1,0)(85=-1,-1,-1,-1,0)(80=-1,-1,-1,-1,0)(91=-1,-1,-1,-1,0)(92=-1,-1,-1,-1,0) + + + + + 0 + 0 + 52 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + C:\Users\wenhua.wang\Desktop\demo方案&user guide优化\SH39F003&F004_DemoCode_V2.14\SH39F003&F004_DemoCode_V2.14_20231012\code_drv\KeyScan.c + + +
+
+ + + 0 + 1 + E2ucSOC,0x0A + + + 1 + 1 + E2ulLastFCC,0x0A + + + 2 + 1 + E2uiCycleCount,0x0A + + + 3 + 1 + uiDfFCC,0x0A + + + 4 + 1 + uiDfRC,0x0A + + + 5 + 1 + uiRCCharge,0x0A + + + 6 + 1 + uiRCDischarge,0x0A + + + 7 + 1 + uiTempBK,0x0A + + + 8 + 1 + ucCycleGain,0x0A + + + 9 + 1 + uiDfRSOC,0x0A + + + 10 + 1 + slCur,0x0A + + + 11 + 1 + E2siDfilterCur,0x0A + + + 12 + 1 + Info,0x0A + + + 13 + 1 + slCadcCurAverage,0x0A + + + 14 + 1 + slCadcCurBuf,0x0A + + + 15 + 1 + E2siCadcGain,0x0A + + + 16 + 1 + E2siCadcOffset,0x0A + + + 17 + 1 + AFE,0x0A + + + 18 + 1 + ucCadcCnt,0x0A + + + + + 1 + 0 + I:0Xf0 + + + + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + +
+
+ + + EEPROM + 0x0 + MCS-51 + + 24000000 + + 1 + 1 + 1 + 0 + + + 0 + 65535 + 0 + 0 + 0 + + + 120 + 65 + 8 + .\output\ + + + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + + 1 + 0 + 0 + + 0 + + S8051.DLL + + DP51.DLL + -p51 + S8051.DLL + + TP51.DLL + -p51 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 0 + 9 + + + + + + + + + + + BIN\SH51.DLL + + + + 0 + SH51 + -D -V0 -O67335 -S0 -C0 -L0 -M0 -T0 -F0 -G0 -H0 -Z000000000000000000000000000000000000000000 + + + + + 0 + 0 + 58 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + C:\Users\yangweilei\Desktop\SH39F003&F004_DemoCode_V2.0_200511_hpp\code_drv\McuLib.c + + +
+ + 1 + 0 + 46 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + E:\铅酸电池容量管理方案BMS\DemoCode升级调测\SH39F003&F004_DemoCode_V2.0_2020.06.01.09.37_yangweilei\code_app\Initial.c + + +
+ + 2 + 0 + 48 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + E:\铅酸电池容量管理方案BMS\DemoCode升级调测\SH39F003&F004_DemoCode_V2.0_2020.06.01.09.37_yangweilei\code_app\Initial.c + + +
+ + 3 + 0 + 53 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + E:\铅酸电池容量管理方案BMS\DemoCode升级调测\SH39F003&F004_DemoCode_V2.0_2020.06.01.09.37_yangweilei\code_app\Initial.c + + +
+ + 4 + 0 + 62 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + E:\铅酸电池容量管理方案BMS\DemoCode升级调测\SH39F003&F004_DemoCode_V2.0_2020.06.01.09.37_yangweilei\code_app\Initial.c + + +
+ + 5 + 0 + 90 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + E:\铅酸电池容量管理方案BMS\DemoCode升级调测\SH39F003&F004_DemoCode_V2.0_2020.06.01.09.37_yangweilei\code_app\Main.c + + +
+ + 6 + 0 + 178 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + E:\铅酸电池容量管理方案BMS\DemoCode升级调测\SH39F003&F004_DemoCode_V2.0_2020.06.02.09.35_yangweilei\code_drv\Calculate.c + + +
+ + 7 + 0 + 327 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + E:\SH36730x BMS\DemoCode updata\SH39F003&F004_DemoCode_V2.0_2020.06.04.19.11\code_bootloader\IapIsp.c + + +
+ + 8 + 0 + 331 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + E:\SH36730x BMS\DemoCode updata\SH39F003&F004_DemoCode_V2.0_2020.06.04.19.11\code_bootloader\IapIsp.c + + +
+ + 9 + 0 + 103 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + E:\SH36730x BMS\DemoCode updata\SH39F003&F004_DemoCode_V2.0_2020.06.04.19.11\code_bootloader\Main.c + + +
+ + 10 + 0 + 55 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + E:\SH36730x BMS\DemoCode updata\SH39F003&F004_DemoCode_V2.0_2020.06.06.19.58\code_app\Main.c + + +
+ + 11 + 0 + 309 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + E:\SH36730x BMS\DemoCode updata\SH39F003&F004_DemoCode_V2.0_2020.06.15.10.11 修改内部温度采集,增加CADC随温度调整offset\code_drv\Calculate.c + + +
+ + 12 + 0 + 354 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + D:\bp-protect\HP-软件方案\SH39F004\Demo Code\SH39F003&F004_DemoCode_V2.12_20221212\SH39F003&F004_DemoCode_V2.12_20221212\code_drv\Protect.c + + +
+ + 13 + 0 + 472 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + D:\bp-protect\HP-软件方案\SH39F004\Demo Code\SH39F003&F004_DemoCode_V2.12_20221212-TWI不传输长度\SH39F003&F004_DemoCode_V2.12_20221212\code_app\UartApp.c + + +
+ + 14 + 0 + 23 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + C:\Users\wenhua.wang\Desktop\demo方案&user guide优化\SH39F003&F004_DemoCode_V2.13_20230309\code_app\Main.c + + +
+ + 15 + 0 + 29 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + C:\Users\wenhua.wang\Desktop\demo方案&user guide优化\SH39F003&F004_DemoCode_V2.13_20230309\code_app\Main.c + + +
+ + 16 + 0 + 52 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + C:\Users\wenhua.wang\Desktop\demo方案&user guide优化\SH39F003&F004_DemoCode_V2.14\SH39F003&F004_DemoCode_V2.14_20231012\code_drv\KeyScan.c + + +
+ + 17 + 0 + 21 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + C:\Users\wenhua.wang\Desktop\demo方案&user guide优化\SH39F003&F004_DemoCode_V2.15_20231213\SH39F003&F004_DemoCode_V2.15_20231213\SH39F003&F004_DemoCode_V2.15_20231213\code_drv\BootApp.c + + +
+
+ + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + +
+
+ + + BootLoad + 0x0 + MCS-51 + + 24000000 + + 1 + 1 + 1 + 0 + + + 0 + 65535 + 0 + 0 + 0 + + + 120 + 65 + 8 + .\output\ + + + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + + 1 + 0 + 0 + + 0 + + S8051.DLL + + DP51.DLL + -p51 + S8051.DLL + + TP51.DLL + -p51 + + + 0 + 1 + 1 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 0 + 14 + + + + + + + + + + + BIN\SH51A.dll + + + + 0 + DLGTP51 + (98=-1,-1,-1,-1,0)(82=-1,-1,-1,-1,0)(83=-1,-1,-1,-1,0)(84=-1,-1,-1,-1,0)(85=-1,-1,-1,-1,0)(80=-1,-1,-1,-1,0)(91=-1,-1,-1,-1,0)(92=-1,-1,-1,-1,0) + + + 0 + SH51A + -J0 -DSH39F004 -V-1073512448 -N-2046820256 -O67176199 -S0 -K0 -C0 -Q0 -L0 -M0 -P0 -T0 -F0 -G0 -H0 -A0 -B0 -E0 -I0 -Z000000000000000000000000000000000000000000 + + + 0 + DLGDP51 + (98=-1,-1,-1,-1,0)(82=-1,-1,-1,-1,0)(83=-1,-1,-1,-1,0)(84=-1,-1,-1,-1,0)(85=-1,-1,-1,-1,0)(80=-1,-1,-1,-1,0)(91=-1,-1,-1,-1,0)(92=-1,-1,-1,-1,0) + + + + + 0 + 0 + 23 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + C:\Users\wenhua.wang\Desktop\demo方案&user guide优化\SH39F003&F004_DemoCode_V2.13_20230309\code_app\Main.c + + +
+ + 1 + 0 + 29 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + C:\Users\wenhua.wang\Desktop\demo方案&user guide优化\SH39F003&F004_DemoCode_V2.13_20230309\code_app\Main.c + + +
+ + 2 + 0 + 52 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + C:\Users\wenhua.wang\Desktop\demo方案&user guide优化\SH39F003&F004_DemoCode_V2.14\SH39F003&F004_DemoCode_V2.14_20231012\code_drv\KeyScan.c + + +
+ + 3 + 0 + 21 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + C:\Users\wenhua.wang\Desktop\demo方案&user guide优化\SH39F003&F004_DemoCode_V2.15_20231213\SH39F003&F004_DemoCode_V2.15_20231213\SH39F003&F004_DemoCode_V2.15_20231213\code_drv\BootApp.c + + +
+
+ + + 1 + 0 + I:0Xf0 + + + + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + +
+
+ + + App + 1 + 0 + 0 + + 1 + 1 + 5 + 0 + 0 + 5266323 + 0 + 53104168 + 17768312 + 0 + .\header_app\Main.h + Main.h + + + 1 + 2 + 1 + 0 + 0 + 50 + 0 + 84 + 84 + 0 + .\code_app\Main.c + Main.c + + + 1 + 3 + 1 + 0 + 0 + 61 + 0 + 525 + 542 + 0 + .\code_app\Initial.c + Initial.c + + + 1 + 4 + 1 + 0 + 0 + 63 + 0 + 17 + 41 + 0 + .\code_app\InterruptApp.c + InterruptApp.c + + + 1 + 5 + 1 + 0 + 0 + 47 + 0 + 62 + 62 + 0 + .\code_app\Led.c + Led.c + + + 1 + 6 + 1 + 0 + 0 + 5266323 + 0 + 53104168 + 17768312 + 0 + .\code_app\KeyApp.c + KeyApp.c + + + 1 + 7 + 1 + 0 + 0 + 8 + 0 + 54 + 89 + 0 + .\code_app\LowPower.c + LowPower.c + + + 1 + 8 + 1 + 0 + 0 + 11 + 0 + 1830 + 1848 + 0 + .\code_app\UartApp.c + UartApp.c + + + 1 + 9 + 1 + 0 + 0 + 5266323 + 0 + 53104168 + 17768312 + 0 + .\code_app\Memory.c + Memory.c + + + 1 + 10 + 5 + 0 + 0 + 5266323 + 0 + 53104168 + 17768312 + 0 + .\readme.txt + readme.txt + + + + + Driver + 1 + 0 + 0 + + 2 + 11 + 1 + 0 + 0 + 48 + 0 + 204 + 213 + 0 + .\code_drv\AFE.c + AFE.c + + + 2 + 12 + 1 + 0 + 0 + 5266323 + 0 + 53104136 + 17768312 + 0 + .\code_drv\Balance.c + Balance.c + + + 2 + 13 + 1 + 0 + 0 + 5 + 0 + 481 + 481 + 0 + .\code_drv\Calculate.c + Calculate.c + + + 2 + 14 + 1 + 0 + 0 + 5266323 + 0 + 53104136 + 17768312 + 0 + .\code_drv\Calibrate.c + Calibrate.c + + + 2 + 15 + 1 + 0 + 0 + 5266323 + 0 + 53104136 + 17768312 + 0 + .\code_drv\ChargerLoad.c + ChargerLoad.c + + + 2 + 16 + 1 + 0 + 0 + 13 + 0 + 349 + 367 + 0 + .\code_drv\ExtE2PRom.c + ExtE2PRom.c + + + 2 + 17 + 1 + 0 + 0 + 5266323 + 0 + 53104136 + 17768312 + 0 + .\code_drv\Interrupt.c + Interrupt.c + + + 2 + 18 + 1 + 0 + 0 + 5266323 + 0 + 53104136 + 17768312 + 0 + .\code_drv\KeyScan.c + KeyScan.c + + + 2 + 19 + 1 + 0 + 0 + 5266323 + 0 + 53104136 + 17768312 + 0 + .\code_drv\McuFlash.c + McuFlash.c + + + 2 + 20 + 1 + 0 + 0 + 21 + 0 + 83 + 83 + 0 + .\code_drv\McuLib.c + McuLib.c + + + 2 + 21 + 1 + 0 + 0 + 5266323 + 0 + 53104136 + 17768312 + 0 + .\code_drv\MosCtrl.c + MosCtrl.c + + + 2 + 22 + 1 + 0 + 0 + 5266323 + 0 + 53104136 + 17768312 + 0 + .\code_drv\PorSelfTest.c + PorSelfTest.c + + + 2 + 23 + 1 + 0 + 0 + 5 + 0 + 406 + 406 + 0 + .\code_drv\Protect.c + Protect.c + + + 2 + 24 + 1 + 0 + 0 + 5266323 + 0 + 53104136 + 17768312 + 0 + .\code_drv\RTC.c + RTC.c + + + 2 + 25 + 1 + 0 + 0 + 14 + 0 + 408 + 408 + 0 + .\code_drv\TWI.c + TWI.c + + + 2 + 26 + 1 + 0 + 0 + 0 + 0 + 103 + 103 + 0 + .\code_drv\Uart.c + Uart.c + + + 2 + 27 + 1 + 0 + 0 + 5266323 + 0 + 1 + 1 + 0 + .\code_drv\Thermistor.c + Thermistor.c + + + 2 + 28 + 1 + 0 + 0 + 5266323 + 0 + 53104136 + 17768312 + 0 + .\code_drv\TwiIO.c + TwiIO.c + + + 2 + 29 + 2 + 0 + 0 + 5266323 + 0 + 53104136 + 17768312 + 0 + .\code_drv\STARTUP.A51 + STARTUP.A51 + + + + + Gasguage + 1 + 0 + 0 + + 3 + 30 + 1 + 0 + 0 + 5266323 + 0 + 53104296 + 17768312 + 0 + .\code_gasguage\GasGaugeInter_V4_13.c + GasGaugeInter_V4_13.c + + + 3 + 31 + 4 + 0 + 0 + 5266323 + 0 + 53104296 + 17768312 + 0 + .\code_gasguage\GasGaugeV4_13.LIB + GasGaugeV4_13.LIB + + + + + AppBoot + 1 + 0 + 0 + + 4 + 32 + 1 + 0 + 0 + 5266323 + 0 + 53103992 + 17768312 + 0 + .\code_drv\BootApp.c + BootApp.c + + + 4 + 33 + 1 + 0 + 0 + 5266323 + 0 + 53103992 + 17768312 + 0 + .\code_drv\BootIAP.c + BootIAP.c + + + + + EEPROM + 1 + 0 + 0 + + 5 + 34 + 1 + 0 + 0 + 5266323 + 0 + 53104040 + 17768312 + 0 + .\code_dataflash\DataFlash.c + DataFlash.c + + + + + Header + 0 + 0 + 0 + + 6 + 35 + 5 + 0 + 0 + 5266323 + 0 + 53104408 + 17768312 + 0 + .\header_app\Initial.h + Initial.h + + + 6 + 36 + 5 + 0 + 0 + 5266323 + 0 + 53104408 + 17768312 + 0 + .\header_app\InterruptApp.h + InterruptApp.h + + + 6 + 37 + 5 + 0 + 0 + 5266323 + 0 + 53104408 + 17768312 + 0 + .\header_app\KeyApp.h + KeyApp.h + + + 6 + 38 + 5 + 0 + 0 + 5266323 + 0 + 53104408 + 17768312 + 0 + .\header_app\Led.h + Led.h + + + 6 + 39 + 5 + 0 + 0 + 5266323 + 0 + 53104408 + 17768312 + 0 + .\header_app\LowPower.h + LowPower.h + + + 6 + 40 + 5 + 0 + 0 + 5266323 + 0 + 53104408 + 17768312 + 0 + .\header_app\Main.h + Main.h + + + 6 + 41 + 5 + 0 + 0 + 5266323 + 0 + 53104408 + 17768312 + 0 + .\header_app\Memory.h + Memory.h + + + 6 + 42 + 5 + 0 + 0 + 5266323 + 0 + 53104408 + 17768312 + 0 + .\header_app\UartApp.h + UartApp.h + + + 6 + 43 + 5 + 0 + 0 + 5266323 + 0 + 53104408 + 17768312 + 0 + .\header_drv\Afe.h + Afe.h + + + 6 + 44 + 5 + 0 + 0 + 5266323 + 0 + 53104408 + 17768312 + 0 + .\header_drv\Balance.h + Balance.h + + + 6 + 45 + 5 + 0 + 0 + 5266323 + 0 + 53104408 + 17768312 + 0 + .\header_drv\c51_type.h + c51_type.h + + + 6 + 46 + 5 + 0 + 0 + 5266323 + 0 + 53104408 + 17768312 + 0 + .\header_drv\Calculate.h + Calculate.h + + + 6 + 47 + 5 + 0 + 0 + 5266323 + 0 + 53104408 + 17768312 + 0 + .\header_drv\Calibrate.h + Calibrate.h + + + 6 + 48 + 5 + 0 + 0 + 5266323 + 0 + 53104408 + 17768312 + 0 + .\header_drv\ChargerLoad.h + ChargerLoad.h + + + 6 + 49 + 5 + 0 + 0 + 5266323 + 0 + 53104408 + 17768312 + 0 + .\header_drv\ExtE2PRom.h + ExtE2PRom.h + + + 6 + 50 + 5 + 0 + 0 + 5266323 + 0 + 53104408 + 17768312 + 0 + .\header_drv\Interrupt.h + Interrupt.h + + + 6 + 51 + 5 + 0 + 0 + 5266323 + 0 + 53104408 + 17768312 + 0 + .\header_drv\ISP.h + ISP.h + + + 6 + 52 + 5 + 0 + 0 + 5266323 + 0 + 53104408 + 17768312 + 0 + .\header_drv\KeyScan.h + KeyScan.h + + + 6 + 53 + 5 + 0 + 0 + 5266323 + 0 + 53104408 + 17768312 + 0 + .\header_drv\McuFlash.h + McuFlash.h + + + 6 + 54 + 5 + 0 + 0 + 5266323 + 0 + 53104408 + 17768312 + 0 + .\header_drv\McuLib.h + McuLib.h + + + 6 + 55 + 5 + 0 + 0 + 5266323 + 0 + 53104408 + 17768312 + 0 + .\header_drv\MCURegister.h + MCURegister.h + + + 6 + 56 + 5 + 0 + 0 + 5266323 + 0 + 53104408 + 17768312 + 0 + .\header_drv\MosCtrl.h + MosCtrl.h + + + 6 + 57 + 5 + 0 + 0 + 5266323 + 0 + 53104408 + 17768312 + 0 + .\header_drv\PorSelfTest.h + PorSelfTest.h + + + 6 + 58 + 5 + 0 + 0 + 5266323 + 0 + 53104408 + 17768312 + 0 + .\header_drv\Protect.h + Protect.h + + + 6 + 59 + 5 + 0 + 0 + 5266323 + 0 + 53104408 + 17768312 + 0 + .\header_drv\RTC.h + RTC.h + + + 6 + 60 + 5 + 0 + 0 + 5266323 + 0 + 53104408 + 17768312 + 0 + .\header_drv\Twi.h + Twi.h + + + 6 + 61 + 5 + 0 + 0 + 5266323 + 0 + 53104408 + 17768312 + 0 + .\header_drv\Uart.h + Uart.h + + + + + BootLoad + 1 + 0 + 0 + + 7 + 62 + 1 + 0 + 0 + 5266323 + 0 + 53104232 + 17768312 + 0 + .\code_bootloader\Main.c + Main.c + + + 7 + 63 + 1 + 0 + 0 + 5266323 + 0 + 53104232 + 17768312 + 0 + .\code_bootloader\IapIsp.c + IapIsp.c + + + 7 + 64 + 1 + 0 + 0 + 5266323 + 0 + 53104232 + 17768312 + 0 + .\code_bootloader\Flash.c + Flash.c + + + 7 + 65 + 2 + 0 + 0 + 5266323 + 0 + 53104232 + 17768312 + 0 + .\code_bootloader\STARTUP.A51 + STARTUP.A51 + + + + + Default + 1 + Build + 0 + + Default + 1 + + 35824 + 1 + Logic Analyzer + 0 + + 0 + + 1 + 6 + 0 + 0 + 0 + 0 + 210 + 600 + 0 + 0 + 250 + 600 + 1 + 0 + 0 + 0 + + + 59392 + 2 + File + 0 + + 0 + + 1 + 2 + 3 + 0 + 24 + 0 + 50 + 893 + 0 + 0 + 0 + 0 + 100 + 0 + 1 + 0 + + + 59398 + 3 + Build + 0 + + 0 + + 1 + 2 + 3 + 0 + 50 + 0 + 76 + 384 + 0 + 0 + 0 + 0 + 100 + 0 + 0 + 0 + + + 59399 + 4 + Debug + 0 + + 0 + + 1 + 2 + 3 + 0 + 50 + 0 + 76 + 626 + 0 + 0 + 0 + 0 + 100 + 0 + 1 + 0 + + + 197 + 5 + Build Output + 0 + + 0 + + 1 + 2 + 4 + 0 + 780 + 0 + 990 + 1920 + 0 + 0 + 250 + 600 + 100 + 1 + 1 + 0 + + + 198 + 6 + Command + 197 + + 0 + + 1 + 4 + 2 + 0 + 780 + 0 + 990 + 1920 + 0 + 0 + 250 + 600 + 100 + 0 + 1 + 0 + + + 199 + 7 + Find in Files + 198 + + 0 + + 1 + 4 + 2 + 0 + 780 + 0 + 990 + 1920 + 0 + 0 + 250 + 600 + 100 + 0 + 0 + 0 + + + 38007 + 8 + Browse + 199 + + 0 + + 1 + 4 + 2 + 0 + 780 + 0 + 990 + 1920 + 0 + 0 + 250 + 600 + 100 + 0 + 0 + 0 + + + 1939 + 9 + UART #1 + 38007 + + 0 + + 1 + 4 + 2 + 0 + 780 + 0 + 990 + 1920 + 0 + 0 + 250 + 600 + 100 + 0 + 0 + 0 + + + 1940 + 10 + UART #2 + 1939 + + 0 + + 1 + 4 + 2 + 0 + 780 + 0 + 990 + 1920 + 0 + 0 + 250 + 600 + 100 + 0 + 0 + 0 + + + 1941 + 11 + UART #3 + 1940 + + 0 + + 1 + 4 + 2 + 0 + 780 + 0 + 990 + 1920 + 0 + 0 + 250 + 600 + 100 + 0 + 0 + 0 + + + 1942 + 12 + UART #4 + 1941 + + 0 + + 1 + 4 + 2 + 0 + 780 + 0 + 990 + 1920 + 0 + 0 + 250 + 600 + 100 + 0 + 0 + 0 + + + 1944 + 13 + Call Stack + 197 + + 197 + + 1 + 2 + 2 + 0 + 780 + 0 + 990 + 1920 + 0 + 0 + 600 + 250 + 50 + 1 + 1 + 0 + + + 1507 + 14 + Call Stack + 1944 + + 197 + + 1 + 4 + 2 + 0 + 780 + 0 + 990 + 1920 + 0 + 0 + 600 + 250 + 50 + 0 + 0 + 0 + + + 1935 + 15 + Locals + 1507 + + 197 + + 1 + 4 + 2 + 0 + 780 + 0 + 990 + 1920 + 0 + 0 + 600 + 250 + 50 + 0 + 1 + 0 + + + 1936 + 16 + Watch 1 + 1935 + + 197 + + 1 + 4 + 2 + 0 + 780 + 0 + 990 + 1920 + 0 + 0 + 600 + 250 + 50 + 0 + 1 + 0 + + + 1937 + 17 + Watch 2 + 1936 + + 197 + + 1 + 4 + 2 + 0 + 780 + 0 + 990 + 1920 + 0 + 0 + 600 + 250 + 50 + 0 + 0 + 0 + + + 1465 + 18 + Memory 1 + 1937 + + 197 + + 1 + 4 + 2 + 0 + 780 + 0 + 990 + 1920 + 0 + 0 + 600 + 250 + 50 + 0 + 1 + 0 + + + 1466 + 19 + Memory 2 + 1465 + + 197 + + 1 + 4 + 2 + 0 + 780 + 0 + 990 + 1920 + 0 + 0 + 600 + 250 + 50 + 0 + 0 + 0 + + + 1467 + 20 + Memory 3 + 1466 + + 197 + + 1 + 4 + 2 + 0 + 780 + 0 + 990 + 1920 + 0 + 0 + 600 + 250 + 50 + 0 + 0 + 0 + + + 1468 + 21 + Memory 4 + 1467 + + 197 + + 1 + 4 + 2 + 0 + 780 + 0 + 990 + 1920 + 0 + 0 + 600 + 250 + 50 + 0 + 0 + 0 + + + 1506 + 22 + Symbols + 1468 + + 197 + + 1 + 4 + 2 + 0 + 780 + 0 + 990 + 1920 + 0 + 0 + 600 + 250 + 50 + 0 + 1 + 0 + + + 1005 + 23 + Project + 0 + + 0 + + 1 + 2 + 1 + 0 + 76 + 0 + 776 + 210 + 0 + 0 + 600 + 250 + 100 + 0 + 1 + 0 + + + 109 + 24 + Books + 1005 + + 0 + + 1 + 4 + 2 + 0 + 76 + 0 + 776 + 210 + 0 + 0 + 600 + 250 + 100 + 0 + 0 + 0 + + + 195 + 25 + Functions + 109 + + 0 + + 1 + 4 + 2 + 0 + 76 + 0 + 776 + 210 + 0 + 0 + 600 + 250 + 100 + 0 + 0 + 0 + + + 196 + 26 + Templates + 195 + + 0 + + 1 + 4 + 2 + 0 + 76 + 0 + 776 + 210 + 0 + 0 + 600 + 250 + 100 + 0 + 0 + 0 + + + 38003 + 27 + Registers + 196 + + 0 + + 1 + 4 + 2 + 0 + 76 + 0 + 776 + 210 + 0 + 0 + 600 + 250 + 100 + 1 + 1 + 0 + + + 35885 + 28 + not set + 0 + + 0 + + 1 + 2 + 2 + 0 + 76 + 1710 + 776 + 1920 + 0 + 0 + 600 + 250 + 100 + 0 + 0 + 0 + + + 35886 + 29 + not set + 35885 + + 0 + + 1 + 4 + 2 + 0 + 76 + 1710 + 776 + 1920 + 0 + 0 + 600 + 250 + 100 + 0 + 0 + 0 + + + 35887 + 30 + not set + 35886 + + 0 + + 1 + 4 + 2 + 0 + 76 + 1710 + 776 + 1920 + 0 + 0 + 600 + 250 + 100 + 0 + 0 + 0 + + + 35888 + 31 + not set + 35887 + + 0 + + 1 + 4 + 2 + 0 + 76 + 1710 + 776 + 1920 + 0 + 0 + 600 + 250 + 100 + 0 + 0 + 0 + + + 35889 + 32 + not set + 35888 + + 0 + + 1 + 4 + 2 + 0 + 76 + 1710 + 776 + 1920 + 0 + 0 + 600 + 250 + 100 + 0 + 0 + 0 + + + 35890 + 33 + not set + 35889 + + 0 + + 1 + 4 + 2 + 0 + 76 + 1710 + 776 + 1920 + 0 + 0 + 600 + 250 + 100 + 0 + 0 + 0 + + + 35891 + 34 + not set + 35890 + + 0 + + 1 + 4 + 2 + 0 + 76 + 1710 + 776 + 1920 + 0 + 0 + 600 + 250 + 100 + 0 + 0 + 0 + + + 35892 + 35 + not set + 35891 + + 0 + + 1 + 4 + 2 + 0 + 76 + 1710 + 776 + 1920 + 0 + 0 + 600 + 250 + 100 + 0 + 0 + 0 + + + 35893 + 36 + not set + 35892 + + 0 + + 1 + 4 + 2 + 0 + 76 + 1710 + 776 + 1920 + 0 + 0 + 600 + 250 + 100 + 0 + 0 + 0 + + + 35894 + 37 + not set + 35893 + + 0 + + 1 + 4 + 2 + 0 + 76 + 1710 + 776 + 1920 + 0 + 0 + 600 + 250 + 100 + 0 + 0 + 0 + + + 35895 + 38 + not set + 35894 + + 0 + + 1 + 4 + 2 + 0 + 76 + 1710 + 776 + 1920 + 0 + 0 + 600 + 250 + 100 + 0 + 0 + 0 + + + 35896 + 39 + not set + 35895 + + 0 + + 1 + 4 + 2 + 0 + 76 + 1710 + 776 + 1920 + 0 + 0 + 600 + 250 + 100 + 0 + 0 + 0 + + + 35897 + 40 + not set + 35896 + + 0 + + 1 + 4 + 2 + 0 + 76 + 1710 + 776 + 1920 + 0 + 0 + 600 + 250 + 100 + 0 + 0 + 0 + + + 35898 + 41 + not set + 35897 + + 0 + + 1 + 4 + 2 + 0 + 76 + 1710 + 776 + 1920 + 0 + 0 + 600 + 250 + 100 + 0 + 0 + 0 + + + 35899 + 42 + not set + 35898 + + 0 + + 1 + 4 + 2 + 0 + 76 + 1710 + 776 + 1920 + 0 + 0 + 600 + 250 + 100 + 0 + 0 + 0 + + + 35900 + 43 + not set + 35899 + + 0 + + 1 + 4 + 2 + 0 + 76 + 1710 + 776 + 1920 + 0 + 0 + 600 + 250 + 100 + 0 + 0 + 0 + + + 35901 + 44 + not set + 35900 + + 0 + + 1 + 4 + 2 + 0 + 76 + 1710 + 776 + 1920 + 0 + 0 + 600 + 250 + 100 + 0 + 0 + 0 + + + 35902 + 45 + not set + 35901 + + 0 + + 1 + 4 + 2 + 0 + 76 + 1710 + 776 + 1920 + 0 + 0 + 600 + 250 + 100 + 0 + 0 + 0 + + + 35903 + 46 + not set + 35902 + + 0 + + 1 + 4 + 2 + 0 + 76 + 1710 + 776 + 1920 + 0 + 0 + 600 + 250 + 100 + 0 + 0 + 0 + + + 35904 + 47 + not set + 35903 + + 0 + + 1 + 4 + 2 + 0 + 76 + 1710 + 776 + 1920 + 0 + 0 + 600 + 250 + 100 + 0 + 0 + 0 + + + 35905 + 48 + not set + 35904 + + 0 + + 1 + 4 + 2 + 0 + 76 + 1710 + 776 + 1920 + 0 + 0 + 600 + 250 + 100 + 0 + 0 + 0 + + + 203 + 49 + Disassembly + 0 + + 0 + + 1 + 2 + 3 + 0 + 76 + 214 + 286 + 1920 + 0 + 0 + 250 + 600 + 100 + 1 + 1 + 0 + + + 1913 + 50 + Instruction Trace + 203 + + 0 + + 1 + 4 + 2 + 0 + 76 + 214 + 286 + 1920 + 0 + 0 + 250 + 600 + 100 + 0 + 0 + 0 + + + 343 + 51 + Performance Analyzer + 1913 + + 0 + + 1 + 4 + 2 + 0 + 76 + 214 + 286 + 1920 + 0 + 0 + 250 + 600 + 100 + 0 + 0 + 0 + + + 204 + 52 + Performance Analyzer + 343 + + 0 + + 1 + 4 + 2 + 0 + 76 + 214 + 286 + 1920 + 0 + 0 + 250 + 600 + 100 + 0 + 0 + 0 + + + 346 + 53 + Code Coverage + 204 + + 0 + + 1 + 4 + 2 + 0 + 76 + 214 + 286 + 1920 + 0 + 0 + 250 + 600 + 100 + 0 + 0 + 0 + + + + + + 1 + 0 + + 100 + 0 + + + .\code_app\Main.c + 50 + 84 + 84 + + + .\code_drv\Uart.c + 0 + 103 + 103 + + + .\header_app\Main.h + 28 + 109 + 145 + + + .\code_app\UartApp.c + 11 + 1830 + 1848 + + + .\HEADER_DRV\MCUREGISTER.H + 0 + 316 + 334 + + + .\code_app\Led.c + 47 + 62 + 62 + + + \Y\KEIL\ZDBMS\SH39F003&F004_DEMOCODE_V2.15\HEADER_APP\LED.H + 28 + 1 + 4 + + + .\code_app\LowPower.c + 8 + 54 + 89 + + + .\HEADER_DRV\UART.H + 47 + 1 + 19 + + + .\code_drv\ExtE2PRom.c + 13 + 349 + 367 + + + \Y\KEIL\ZDBMS\SH39F003&F004_DEMOCODE_V2.15\HEADER_APP\UARTAPP.H + 8 + 65 + 65 + + + .\code_app\Initial.c + 61 + 525 + 542 + + + + + +
diff --git a/MCUCore_uvproj.bak b/MCUCore_uvproj.bak new file mode 100644 index 0000000..273d78a --- /dev/null +++ b/MCUCore_uvproj.bak @@ -0,0 +1,4627 @@ + + + + 1.1 + +
### uVision Project, (C) Keil Software
+ + + + McuFlash_Load + 0x0 + MCS-51 + + + SH39F004 + Sinowealth + IRAM(0-0xFF) IROM(0-0xFFFF) XRAM(0-0xAFF) CLOCK(24000000) + + "LIB\STARTUP.A51"("Standard 8051 Startup Code") + + 0 + SH39F004.H + + + + + + + + + + + 0 + 0 + + + + Sinowealth\ + Sinowealth\ + + 0 + 0 + 0 + 0 + 1 + + .\output\ + MCUCore_Load + 1 + 0 + 1 + 1 + 1 + .\output\ + 0 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + 65535 + + + S8051.DLL + + DP51.DLL + -p51 + S8051.DLL + + TP51.DLL + -p51 + + + + 0 + 0 + 0 + 0 + 16 + + + 0 + 1 + 0 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 + + 0 + 14 + + + + + + + + + + + + + + BIN\SH51A.dll + + + + + 1 + 0 + 0 + 1 + 1 + 4106 + + 0 + BIN\SH51A.dll + "" () + + + + + 0 + + + + 2 + 0 + 2 + 0 + 0 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + 0 + 0x0 + 0xffff + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0xfc00 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x200 + 0xaff + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x10000 + + + 0 + 0x0 + 0x100 + + + 0 + 0x0 + 0xb00 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + + + 1 + 0 + 1 + 0 + 1 + 3 + 7 + 2 + 0 + 1 + 0 + 4096 + + + + + .\header_app;.\header_drv;.\code_gasguage;.\code_classb\iec60730_lib\include;.\code_classb\iec60730_proc\Include;.\code_classb\config + + + + 0 + 1 + 0 + 1 + + + + + .\code_classb\iec60730_lib\include;.\code_classb\iec60730_proc\Include;.\code_classb\config + + + + 0 + 0 + 1 + 0 + 2 + 1 + + + 16 + + + + + + + + 0X0000-0XFBFF + 0X0200-0X0CFE + + + + + + + ?CO?BootIAP(0x0000) + + + + + + + + + + App + + + Main.h + 5 + .\header_app\Main.h + + + Main.c + 1 + .\code_app\Main.c + + + Initial.c + 1 + .\code_app\Initial.c + + + InterruptApp.c + 1 + .\code_app\InterruptApp.c + + + Led.c + 1 + .\code_app\Led.c + + + KeyApp.c + 1 + .\code_app\KeyApp.c + + + LowPower.c + 1 + .\code_app\LowPower.c + + + UartApp.c + 1 + .\code_app\UartApp.c + + + Memory.c + 1 + .\code_app\Memory.c + + + readme.txt + 5 + .\readme.txt + + + + + Driver + + + AFE.c + 1 + .\code_drv\AFE.c + + + Balance.c + 1 + .\code_drv\Balance.c + + + Calculate.c + 1 + .\code_drv\Calculate.c + + + Calibrate.c + 1 + .\code_drv\Calibrate.c + + + ChargerLoad.c + 1 + .\code_drv\ChargerLoad.c + + + ExtE2PRom.c + 1 + .\code_drv\ExtE2PRom.c + + + Interrupt.c + 1 + .\code_drv\Interrupt.c + + + KeyScan.c + 1 + .\code_drv\KeyScan.c + + + McuFlash.c + 1 + .\code_drv\McuFlash.c + + + McuLib.c + 1 + .\code_drv\McuLib.c + + + MosCtrl.c + 1 + .\code_drv\MosCtrl.c + + + PorSelfTest.c + 1 + .\code_drv\PorSelfTest.c + + + Protect.c + 1 + .\code_drv\Protect.c + + + RTC.c + 1 + .\code_drv\RTC.c + + + TWI.c + 1 + .\code_drv\TWI.c + + + Uart.c + 1 + .\code_drv\Uart.c + + + Thermistor.c + 1 + .\code_drv\Thermistor.c + + + TwiIO.c + 1 + .\code_drv\TwiIO.c + + + STARTUP.A51 + 2 + .\code_drv\STARTUP.A51 + + + + + Gasguage + + + GasGaugeInter_V4_13.c + 1 + .\code_gasguage\GasGaugeInter_V4_13.c + + + GasGaugeV4_13.LIB + 4 + .\code_gasguage\GasGaugeV4_13.LIB + + + + + AppBoot + + + BootApp.c + 1 + .\code_drv\BootApp.c + + + BootIAP.c + 1 + .\code_drv\BootIAP.c + + + + + EEPROM + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 0 + 65535 + + + + 2 + 2 + 2 + 2 + 2 + 8 + 10 + 3 + 2 + 2 + 2 + 0 + + + + + + + + + 2 + 2 + 2 + 2 + + + + + + + + + + + + DataFlash.c + 1 + .\code_dataflash\DataFlash.c + + + + + Header + + + Initial.h + 5 + .\header_app\Initial.h + + + InterruptApp.h + 5 + .\header_app\InterruptApp.h + + + KeyApp.h + 5 + .\header_app\KeyApp.h + + + Led.h + 5 + .\header_app\Led.h + + + LowPower.h + 5 + .\header_app\LowPower.h + + + Main.h + 5 + .\header_app\Main.h + + + Memory.h + 5 + .\header_app\Memory.h + + + UartApp.h + 5 + .\header_app\UartApp.h + + + Afe.h + 5 + .\header_drv\Afe.h + + + Balance.h + 5 + .\header_drv\Balance.h + + + c51_type.h + 5 + .\header_drv\c51_type.h + + + Calculate.h + 5 + .\header_drv\Calculate.h + + + Calibrate.h + 5 + .\header_drv\Calibrate.h + + + ChargerLoad.h + 5 + .\header_drv\ChargerLoad.h + + + ExtE2PRom.h + 5 + .\header_drv\ExtE2PRom.h + + + Interrupt.h + 5 + .\header_drv\Interrupt.h + + + ISP.h + 5 + .\header_drv\ISP.h + + + KeyScan.h + 5 + .\header_drv\KeyScan.h + + + McuFlash.h + 5 + .\header_drv\McuFlash.h + + + McuLib.h + 5 + .\header_drv\McuLib.h + + + MCURegister.h + 5 + .\header_drv\MCURegister.h + + + MosCtrl.h + 5 + .\header_drv\MosCtrl.h + + + PorSelfTest.h + 5 + .\header_drv\PorSelfTest.h + + + Protect.h + 5 + .\header_drv\Protect.h + + + RTC.h + 5 + .\header_drv\RTC.h + + + Twi.h + 5 + .\header_drv\Twi.h + + + Uart.h + 5 + .\header_drv\Uart.h + + + + + BootLoad + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + 65535 + + + + 2 + 2 + 2 + 2 + 2 + 8 + 10 + 3 + 2 + 2 + 2 + 0 + + + + + + + + + 2 + 2 + 2 + 2 + + + + + + + + + + + + Main.c + 1 + .\code_bootloader\Main.c + + + IapIsp.c + 1 + .\code_bootloader\IapIsp.c + + + Flash.c + 1 + .\code_bootloader\Flash.c + + + STARTUP.A51 + 2 + .\code_bootloader\STARTUP.A51 + + + + + + + McuFlalsh_IAP + 0x0 + MCS-51 + + + SH39F004 + Sinowealth + IRAM(0-0xFF) IROM(0-0xFFFF) XRAM(0-0xAFF) CLOCK(24000000) + + "LIB\STARTUP.A51"("Standard 8051 Startup Code") + + 0 + SH39F004.H + + + + + + + + + + + 0 + 0 + + + + Sinowealth\ + Sinowealth\ + + 0 + 0 + 0 + 0 + 1 + + .\output\ + McuFlash_IAP + 1 + 0 + 1 + 1 + 1 + .\output\ + 0 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + 65535 + + + S8051.DLL + + DP51.DLL + -p51 + S8051.DLL + + TP51.DLL + -p51 + + + + 0 + 0 + 0 + 0 + 16 + + + 0 + 1 + 0 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 + + 0 + 14 + + + + + + + + + + + + + + BIN\SH51A.dll + + + + + 1 + 0 + 0 + 1 + 1 + 4106 + + 0 + BIN\SH51A.dll + "" () + + + + + 0 + + + + 2 + 0 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + 0 + 0x0 + 0xffff + + + 0 + 0x0 + 0x0 + + + 0 + 0x1000 + 0x7800 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x200 + 0x8ff + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x10000 + + + 0 + 0x0 + 0x100 + + + 0 + 0x0 + 0xb00 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + + + 1 + 0 + 1 + 0 + 1 + 3 + 7 + 2 + 0 + 1 + 0 + 4096 + + + + + .\header_app;.\header_drv;.\code_gasguage + + + + 0 + 1 + 0 + 1 + + + + + .\header_app;.\header_drv;.\code_gasguage;.\code_isp + + + + 0 + 0 + 1 + 0 + 2 + 1 + + + 16 + + + + + + + + 0X1000-0X87FF + 0X0200-0X0AFE + + + + + + + ?CO?DATAFLASH(0x8400) + + + + + + + + + + App + + + Main.h + 5 + .\header_app\Main.h + + + Main.c + 1 + .\code_app\Main.c + + + Initial.c + 1 + .\code_app\Initial.c + + + InterruptApp.c + 1 + .\code_app\InterruptApp.c + + + Led.c + 1 + .\code_app\Led.c + + + KeyApp.c + 1 + .\code_app\KeyApp.c + + + LowPower.c + 1 + .\code_app\LowPower.c + + + UartApp.c + 1 + .\code_app\UartApp.c + + + Memory.c + 1 + .\code_app\Memory.c + + + readme.txt + 5 + .\readme.txt + + + + + Driver + + + AFE.c + 1 + .\code_drv\AFE.c + + + Balance.c + 1 + .\code_drv\Balance.c + + + Calculate.c + 1 + .\code_drv\Calculate.c + + + Calibrate.c + 1 + .\code_drv\Calibrate.c + + + ChargerLoad.c + 1 + .\code_drv\ChargerLoad.c + + + ExtE2PRom.c + 1 + .\code_drv\ExtE2PRom.c + + + Interrupt.c + 1 + .\code_drv\Interrupt.c + + + KeyScan.c + 1 + .\code_drv\KeyScan.c + + + McuFlash.c + 1 + .\code_drv\McuFlash.c + + + McuLib.c + 1 + .\code_drv\McuLib.c + + + MosCtrl.c + 1 + .\code_drv\MosCtrl.c + + + PorSelfTest.c + 1 + .\code_drv\PorSelfTest.c + + + Protect.c + 1 + .\code_drv\Protect.c + + + RTC.c + 1 + .\code_drv\RTC.c + + + TWI.c + 1 + .\code_drv\TWI.c + + + Uart.c + 1 + .\code_drv\Uart.c + + + Thermistor.c + 1 + .\code_drv\Thermistor.c + + + TwiIO.c + 1 + .\code_drv\TwiIO.c + + + STARTUP.A51 + 2 + .\code_drv\STARTUP.A51 + + + + + Gasguage + + + GasGaugeInter_V4_13.c + 1 + .\code_gasguage\GasGaugeInter_V4_13.c + + + GasGaugeV4_13.LIB + 4 + .\code_gasguage\GasGaugeV4_13.LIB + + + + + AppBoot + + + BootApp.c + 1 + .\code_drv\BootApp.c + + + BootIAP.c + 1 + .\code_drv\BootIAP.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + 65535 + + + + 2 + 2 + 2 + 2 + 2 + 8 + 10 + 3 + 2 + 2 + 2 + 0 + + + + + + + + + + + + + + EEPROM + + + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + 11 + + + 0 + 65535 + + + + 2 + 2 + 2 + 2 + 2 + 8 + 10 + 3 + 2 + 2 + 2 + 0 + + + + + + + + + 2 + 2 + 2 + 2 + + + + + + + + + + + + DataFlash.c + 1 + .\code_dataflash\DataFlash.c + + + + + Header + + + Initial.h + 5 + .\header_app\Initial.h + + + InterruptApp.h + 5 + .\header_app\InterruptApp.h + + + KeyApp.h + 5 + .\header_app\KeyApp.h + + + Led.h + 5 + .\header_app\Led.h + + + LowPower.h + 5 + .\header_app\LowPower.h + + + Main.h + 5 + .\header_app\Main.h + + + Memory.h + 5 + .\header_app\Memory.h + + + UartApp.h + 5 + .\header_app\UartApp.h + + + Afe.h + 5 + .\header_drv\Afe.h + + + Balance.h + 5 + .\header_drv\Balance.h + + + c51_type.h + 5 + .\header_drv\c51_type.h + + + Calculate.h + 5 + .\header_drv\Calculate.h + + + Calibrate.h + 5 + .\header_drv\Calibrate.h + + + ChargerLoad.h + 5 + .\header_drv\ChargerLoad.h + + + ExtE2PRom.h + 5 + .\header_drv\ExtE2PRom.h + + + Interrupt.h + 5 + .\header_drv\Interrupt.h + + + ISP.h + 5 + .\header_drv\ISP.h + + + KeyScan.h + 5 + .\header_drv\KeyScan.h + + + McuFlash.h + 5 + .\header_drv\McuFlash.h + + + McuLib.h + 5 + .\header_drv\McuLib.h + + + MCURegister.h + 5 + .\header_drv\MCURegister.h + + + MosCtrl.h + 5 + .\header_drv\MosCtrl.h + + + PorSelfTest.h + 5 + .\header_drv\PorSelfTest.h + + + Protect.h + 5 + .\header_drv\Protect.h + + + RTC.h + 5 + .\header_drv\RTC.h + + + Twi.h + 5 + .\header_drv\Twi.h + + + Uart.h + 5 + .\header_drv\Uart.h + + + + + BootLoad + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + 65535 + + + + 2 + 2 + 2 + 2 + 2 + 8 + 10 + 3 + 2 + 2 + 2 + 0 + + + + + + + + + 2 + 2 + 2 + 2 + + + + + + + + + + + + Main.c + 1 + .\code_bootloader\Main.c + + + IapIsp.c + 1 + .\code_bootloader\IapIsp.c + + + Flash.c + 1 + .\code_bootloader\Flash.c + + + STARTUP.A51 + 2 + .\code_bootloader\STARTUP.A51 + + + + + + + McuFlahs_ISP + 0x0 + MCS-51 + + + SH39F004 + Sinowealth + IRAM(0-0xFF) IROM(0-0xFFFF) XRAM(0-0xAFF) CLOCK(24000000) + + "LIB\STARTUP.A51"("Standard 8051 Startup Code") + + 0 + SH39F004.H + + + + + + + + + + + 0 + 0 + + + + Sinowealth\ + Sinowealth\ + + 0 + 0 + 0 + 0 + 1 + + .\output\ + McuFlash_ISP + 1 + 0 + 1 + 1 + 1 + .\output\ + 0 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + 65535 + + + S8051.DLL + + DP51.DLL + -p51 + S8051.DLL + + TP51.DLL + -p51 + + + + 0 + 0 + 0 + 0 + 16 + + + 0 + 1 + 0 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 + + 0 + 14 + + + + + + + + + + + + + + BIN\SH51A.dll + + + + + 1 + 0 + 0 + 1 + 1 + 4106 + + 0 + BIN\SH51A.dll + "" () + + + + + 0 + + + + 2 + 0 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + 0 + 0x0 + 0xffff + + + 0 + 0x0 + 0x0 + + + 0 + 0x1000 + 0xec00 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x200 + 0x8ff + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x10000 + + + 0 + 0x0 + 0x100 + + + 0 + 0x0 + 0xb00 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + + + 1 + 0 + 1 + 0 + 1 + 3 + 7 + 2 + 0 + 1 + 0 + 4096 + + + + + .\header_app;.\header_drv;.\code_gasguage + + + + 0 + 1 + 0 + 1 + + + + + + + + + 0 + 0 + 1 + 0 + 2 + 1 + + + 16 + + + + + + + + 0X1000-0XFBFF + 0X0200-0X0AFE + + + + + + + ?CO?DATAFLASH(0xF800) + + + + + + + + + + App + + + Main.h + 5 + .\header_app\Main.h + + + Main.c + 1 + .\code_app\Main.c + + + Initial.c + 1 + .\code_app\Initial.c + + + InterruptApp.c + 1 + .\code_app\InterruptApp.c + + + Led.c + 1 + .\code_app\Led.c + + + KeyApp.c + 1 + .\code_app\KeyApp.c + + + LowPower.c + 1 + .\code_app\LowPower.c + + + UartApp.c + 1 + .\code_app\UartApp.c + + + Memory.c + 1 + .\code_app\Memory.c + + + readme.txt + 5 + .\readme.txt + + + + + Driver + + + AFE.c + 1 + .\code_drv\AFE.c + + + Balance.c + 1 + .\code_drv\Balance.c + + + Calculate.c + 1 + .\code_drv\Calculate.c + + + Calibrate.c + 1 + .\code_drv\Calibrate.c + + + ChargerLoad.c + 1 + .\code_drv\ChargerLoad.c + + + ExtE2PRom.c + 1 + .\code_drv\ExtE2PRom.c + + + Interrupt.c + 1 + .\code_drv\Interrupt.c + + + KeyScan.c + 1 + .\code_drv\KeyScan.c + + + McuFlash.c + 1 + .\code_drv\McuFlash.c + + + McuLib.c + 1 + .\code_drv\McuLib.c + + + MosCtrl.c + 1 + .\code_drv\MosCtrl.c + + + PorSelfTest.c + 1 + .\code_drv\PorSelfTest.c + + + Protect.c + 1 + .\code_drv\Protect.c + + + RTC.c + 1 + .\code_drv\RTC.c + + + TWI.c + 1 + .\code_drv\TWI.c + + + Uart.c + 1 + .\code_drv\Uart.c + + + Thermistor.c + 1 + .\code_drv\Thermistor.c + + + TwiIO.c + 1 + .\code_drv\TwiIO.c + + + STARTUP.A51 + 2 + .\code_drv\STARTUP.A51 + + + + + Gasguage + + + GasGaugeInter_V4_13.c + 1 + .\code_gasguage\GasGaugeInter_V4_13.c + + + GasGaugeV4_13.LIB + 4 + .\code_gasguage\GasGaugeV4_13.LIB + + + + + AppBoot + + + BootApp.c + 1 + .\code_drv\BootApp.c + + + BootIAP.c + 1 + .\code_drv\BootIAP.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + 65535 + + + + 2 + 2 + 2 + 2 + 2 + 8 + 10 + 3 + 2 + 2 + 2 + 0 + + + + + + + + + + + + + + EEPROM + + + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + 11 + + + 0 + 65535 + + + + 2 + 2 + 2 + 2 + 2 + 8 + 10 + 3 + 2 + 2 + 2 + 0 + + + + + + + + + 2 + 2 + 2 + 2 + + + + + + + + + + + + DataFlash.c + 1 + .\code_dataflash\DataFlash.c + + + + + Header + + + Initial.h + 5 + .\header_app\Initial.h + + + InterruptApp.h + 5 + .\header_app\InterruptApp.h + + + KeyApp.h + 5 + .\header_app\KeyApp.h + + + Led.h + 5 + .\header_app\Led.h + + + LowPower.h + 5 + .\header_app\LowPower.h + + + Main.h + 5 + .\header_app\Main.h + + + Memory.h + 5 + .\header_app\Memory.h + + + UartApp.h + 5 + .\header_app\UartApp.h + + + Afe.h + 5 + .\header_drv\Afe.h + + + Balance.h + 5 + .\header_drv\Balance.h + + + c51_type.h + 5 + .\header_drv\c51_type.h + + + Calculate.h + 5 + .\header_drv\Calculate.h + + + Calibrate.h + 5 + .\header_drv\Calibrate.h + + + ChargerLoad.h + 5 + .\header_drv\ChargerLoad.h + + + ExtE2PRom.h + 5 + .\header_drv\ExtE2PRom.h + + + Interrupt.h + 5 + .\header_drv\Interrupt.h + + + ISP.h + 5 + .\header_drv\ISP.h + + + KeyScan.h + 5 + .\header_drv\KeyScan.h + + + McuFlash.h + 5 + .\header_drv\McuFlash.h + + + McuLib.h + 5 + .\header_drv\McuLib.h + + + MCURegister.h + 5 + .\header_drv\MCURegister.h + + + MosCtrl.h + 5 + .\header_drv\MosCtrl.h + + + PorSelfTest.h + 5 + .\header_drv\PorSelfTest.h + + + Protect.h + 5 + .\header_drv\Protect.h + + + RTC.h + 5 + .\header_drv\RTC.h + + + Twi.h + 5 + .\header_drv\Twi.h + + + Uart.h + 5 + .\header_drv\Uart.h + + + + + BootLoad + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + 65535 + + + + 2 + 2 + 2 + 2 + 2 + 8 + 10 + 3 + 2 + 2 + 2 + 0 + + + + + + + + + 2 + 2 + 2 + 2 + + + + + + + + + + + + Main.c + 1 + .\code_bootloader\Main.c + + + IapIsp.c + 1 + .\code_bootloader\IapIsp.c + + + Flash.c + 1 + .\code_bootloader\Flash.c + + + STARTUP.A51 + 2 + .\code_bootloader\STARTUP.A51 + + + + + + + EEPROM + 0x0 + MCS-51 + + + SH39F004 + Sinowealth + IRAM(0-0xFF) IROM(0-0xFFFF) XRAM(0-0xAFF) CLOCK(24000000) + + "LIB\STARTUP.A51"("Standard 8051 Startup Code") + + 0 + SH39F004.H + + + + + + + + + + + 0 + 0 + + + + Sinowealth\ + Sinowealth\ + + 0 + 0 + 0 + 0 + 1 + + .\output\ + Eeprom + 1 + 0 + 1 + 1 + 1 + .\output\ + 0 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + 65535 + + + S8051.DLL + + DP51.DLL + -p51 + S8051.DLL + + TP51.DLL + -p51 + + + + 0 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 + + 0 + 9 + + + + + + + + + + + + + + BIN\SH51.DLL + + + + + 1 + 0 + 0 + 1 + 1 + 4101 + + 0 + BIN\SH51.DLL + + + + + + 0 + + + + 2 + 0 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + 0 + 0x0 + 0xffff + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x200 + 0x2ff + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x10000 + + + 0 + 0x0 + 0x100 + + + 0 + 0x0 + 0xb00 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + + + 0 + 0 + 1 + 0 + 1 + 3 + 7 + 2 + 0 + 1 + 0 + 0 + + + + + .\header + + + + 0 + 1 + 0 + 0 + + + + + + + + + 0 + 0 + 1 + 0 + 2 + 1 + + + 16 + + + + + + + + + 0X0200-0X04FE + + + + + + + ?CO?DATAFLASH(0x0000) + + + + + + + + + + App + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 0 + 65535 + + + + 2 + 2 + 2 + 2 + 2 + 8 + 10 + 3 + 2 + 2 + 2 + 0 + + + + + + + + + 2 + 2 + 2 + 2 + + + + + + + + + + + + Main.h + 5 + .\header_app\Main.h + + + Main.c + 1 + .\code_app\Main.c + + + Initial.c + 1 + .\code_app\Initial.c + + + InterruptApp.c + 1 + .\code_app\InterruptApp.c + + + Led.c + 1 + .\code_app\Led.c + + + KeyApp.c + 1 + .\code_app\KeyApp.c + + + LowPower.c + 1 + .\code_app\LowPower.c + + + UartApp.c + 1 + .\code_app\UartApp.c + + + Memory.c + 1 + .\code_app\Memory.c + + + readme.txt + 5 + .\readme.txt + + + + + Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 0 + 65535 + + + + 2 + 2 + 2 + 2 + 2 + 8 + 10 + 3 + 2 + 2 + 2 + 0 + + + + + + + + + 2 + 2 + 2 + 2 + + + + + + + + + + + + AFE.c + 1 + .\code_drv\AFE.c + + + Balance.c + 1 + .\code_drv\Balance.c + + + Calculate.c + 1 + .\code_drv\Calculate.c + + + Calibrate.c + 1 + .\code_drv\Calibrate.c + + + ChargerLoad.c + 1 + .\code_drv\ChargerLoad.c + + + ExtE2PRom.c + 1 + .\code_drv\ExtE2PRom.c + + + Interrupt.c + 1 + .\code_drv\Interrupt.c + + + KeyScan.c + 1 + .\code_drv\KeyScan.c + + + McuFlash.c + 1 + .\code_drv\McuFlash.c + + + McuLib.c + 1 + .\code_drv\McuLib.c + + + MosCtrl.c + 1 + .\code_drv\MosCtrl.c + + + PorSelfTest.c + 1 + .\code_drv\PorSelfTest.c + + + Protect.c + 1 + .\code_drv\Protect.c + + + RTC.c + 1 + .\code_drv\RTC.c + + + TWI.c + 1 + .\code_drv\TWI.c + + + Uart.c + 1 + .\code_drv\Uart.c + + + Thermistor.c + 1 + .\code_drv\Thermistor.c + + + TwiIO.c + 1 + .\code_drv\TwiIO.c + + + STARTUP.A51 + 2 + .\code_drv\STARTUP.A51 + + + + + Gasguage + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + 65535 + + + + 2 + 2 + 2 + 2 + 2 + 8 + 10 + 3 + 2 + 2 + 2 + 0 + + + + + + + + + 2 + 2 + 2 + 2 + + + + + + + + + + + + GasGaugeInter_V4_13.c + 1 + .\code_gasguage\GasGaugeInter_V4_13.c + + + GasGaugeV4_13.LIB + 4 + .\code_gasguage\GasGaugeV4_13.LIB + + + + + AppBoot + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + 65535 + + + + 2 + 2 + 2 + 2 + 2 + 8 + 10 + 3 + 2 + 2 + 2 + 0 + + + + + + + + + 2 + 2 + 2 + 2 + + + + + + + + + + + + BootApp.c + 1 + .\code_drv\BootApp.c + + + BootIAP.c + 1 + .\code_drv\BootIAP.c + + + + + EEPROM + + + DataFlash.c + 1 + .\code_dataflash\DataFlash.c + + + + + Header + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 0 + 65535 + + + + 2 + 2 + 2 + 2 + 2 + 8 + 10 + 3 + 2 + 2 + 2 + 0 + + + + + + + + + 2 + 2 + 2 + 2 + + + + + + + + + + + + Initial.h + 5 + .\header_app\Initial.h + + + InterruptApp.h + 5 + .\header_app\InterruptApp.h + + + KeyApp.h + 5 + .\header_app\KeyApp.h + + + Led.h + 5 + .\header_app\Led.h + + + LowPower.h + 5 + .\header_app\LowPower.h + + + Main.h + 5 + .\header_app\Main.h + + + Memory.h + 5 + .\header_app\Memory.h + + + UartApp.h + 5 + .\header_app\UartApp.h + + + Afe.h + 5 + .\header_drv\Afe.h + + + Balance.h + 5 + .\header_drv\Balance.h + + + c51_type.h + 5 + .\header_drv\c51_type.h + + + Calculate.h + 5 + .\header_drv\Calculate.h + + + Calibrate.h + 5 + .\header_drv\Calibrate.h + + + ChargerLoad.h + 5 + .\header_drv\ChargerLoad.h + + + ExtE2PRom.h + 5 + .\header_drv\ExtE2PRom.h + + + Interrupt.h + 5 + .\header_drv\Interrupt.h + + + ISP.h + 5 + .\header_drv\ISP.h + + + KeyScan.h + 5 + .\header_drv\KeyScan.h + + + McuFlash.h + 5 + .\header_drv\McuFlash.h + + + McuLib.h + 5 + .\header_drv\McuLib.h + + + MCURegister.h + 5 + .\header_drv\MCURegister.h + + + MosCtrl.h + 5 + .\header_drv\MosCtrl.h + + + PorSelfTest.h + 5 + .\header_drv\PorSelfTest.h + + + Protect.h + 5 + .\header_drv\Protect.h + + + RTC.h + 5 + .\header_drv\RTC.h + + + Twi.h + 5 + .\header_drv\Twi.h + + + Uart.h + 5 + .\header_drv\Uart.h + + + + + BootLoad + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + 65535 + + + + 2 + 2 + 2 + 2 + 2 + 8 + 10 + 3 + 2 + 2 + 2 + 0 + + + + + + + + + 2 + 2 + 2 + 2 + + + + + + + + + + + + Main.c + 1 + .\code_bootloader\Main.c + + + IapIsp.c + 1 + .\code_bootloader\IapIsp.c + + + Flash.c + 1 + .\code_bootloader\Flash.c + + + STARTUP.A51 + 2 + .\code_bootloader\STARTUP.A51 + + + + + + + BootLoad + 0x0 + MCS-51 + + + SH39F004 + Sinowealth + IRAM(0-0xFF) IROM(0-0xFFFF) XRAM(0-0xAFF) CLOCK(24000000) + + "LIB\STARTUP.A51"("Standard 8051 Startup Code") + + 0 + SH39F004.H + + + + + + + + + + + 0 + 0 + + + + Sinowealth\ + Sinowealth\ + + 0 + 0 + 0 + 0 + 1 + + .\output\ + BootLoad + 1 + 0 + 1 + 1 + 1 + .\output\ + 0 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + 65535 + + + S8051.DLL + + DP51.DLL + -p51 + S8051.DLL + + TP51.DLL + -p51 + + + + 0 + 0 + 0 + 0 + 16 + + + 0 + 1 + 0 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 + + 0 + 14 + + + + + + + + + + + + + + BIN\SH51A.dll + + + + + 1 + 0 + 0 + 1 + 1 + 4106 + + 0 + BIN\SH51A.dll + "" () + + + + + 0 + + + + 0 + 0 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + 0 + 0x0 + 0xffff + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x1000 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x10000 + + + 0 + 0x0 + 0x100 + + + 0 + 0x0 + 0xb00 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + + + 0 + 0 + 1 + 0 + 1 + 3 + 8 + 2 + 1 + 1 + 0 + 0 + + + + + .\header_bootloader + + + + 0 + 1 + 0 + 1 + + + + + .\header_bootloader + + + + 0 + 0 + 1 + 0 + 2 + 1 + + + 16 + + + + + + + + 0X0000-0X0FFF + + + + + + + + ?PR?BOOTIAPISP?IAPISP(0xA6) + + + + + + + + + + App + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + 65535 + + + + 2 + 2 + 2 + 2 + 2 + 8 + 10 + 3 + 2 + 2 + 2 + 0 + + + + + + + + + 2 + 2 + 2 + 2 + + + + + + + + + + + + Main.h + 5 + .\header_app\Main.h + + + Main.c + 1 + .\code_app\Main.c + + + Initial.c + 1 + .\code_app\Initial.c + + + InterruptApp.c + 1 + .\code_app\InterruptApp.c + + + Led.c + 1 + .\code_app\Led.c + + + KeyApp.c + 1 + .\code_app\KeyApp.c + + + LowPower.c + 1 + .\code_app\LowPower.c + + + UartApp.c + 1 + .\code_app\UartApp.c + + + Memory.c + 1 + .\code_app\Memory.c + + + readme.txt + 5 + .\readme.txt + + + + + Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + 65535 + + + + 2 + 2 + 2 + 2 + 2 + 8 + 10 + 3 + 2 + 2 + 2 + 0 + + + + + + + + + 2 + 2 + 2 + 2 + + + + + + + + + + + + AFE.c + 1 + .\code_drv\AFE.c + + + Balance.c + 1 + .\code_drv\Balance.c + + + Calculate.c + 1 + .\code_drv\Calculate.c + + + Calibrate.c + 1 + .\code_drv\Calibrate.c + + + ChargerLoad.c + 1 + .\code_drv\ChargerLoad.c + + + ExtE2PRom.c + 1 + .\code_drv\ExtE2PRom.c + + + Interrupt.c + 1 + .\code_drv\Interrupt.c + + + KeyScan.c + 1 + .\code_drv\KeyScan.c + + + McuFlash.c + 1 + .\code_drv\McuFlash.c + + + McuLib.c + 1 + .\code_drv\McuLib.c + + + MosCtrl.c + 1 + .\code_drv\MosCtrl.c + + + PorSelfTest.c + 1 + .\code_drv\PorSelfTest.c + + + Protect.c + 1 + .\code_drv\Protect.c + + + RTC.c + 1 + .\code_drv\RTC.c + + + TWI.c + 1 + .\code_drv\TWI.c + + + Uart.c + 1 + .\code_drv\Uart.c + + + Thermistor.c + 1 + .\code_drv\Thermistor.c + + + TwiIO.c + 1 + .\code_drv\TwiIO.c + + + STARTUP.A51 + 2 + .\code_drv\STARTUP.A51 + + + + + Gasguage + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + 65535 + + + + 2 + 2 + 2 + 2 + 2 + 8 + 10 + 3 + 2 + 2 + 2 + 0 + + + + + + + + + 2 + 2 + 2 + 2 + + + + + + + + + + + + GasGaugeInter_V4_13.c + 1 + .\code_gasguage\GasGaugeInter_V4_13.c + + + GasGaugeV4_13.LIB + 4 + .\code_gasguage\GasGaugeV4_13.LIB + + + + + AppBoot + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + 65535 + + + + 2 + 2 + 2 + 2 + 2 + 8 + 10 + 3 + 2 + 2 + 2 + 0 + + + + + + + + + 2 + 2 + 2 + 2 + + + + + + + + + + + + BootApp.c + 1 + .\code_drv\BootApp.c + + + BootIAP.c + 1 + .\code_drv\BootIAP.c + + + + + EEPROM + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 0 + 65535 + + + + 2 + 2 + 2 + 2 + 2 + 8 + 10 + 3 + 2 + 2 + 2 + 0 + + + + + + + + + 2 + 2 + 2 + 2 + + + + + + + + + + + + DataFlash.c + 1 + .\code_dataflash\DataFlash.c + + + + + Header + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + 65535 + + + + 2 + 2 + 2 + 2 + 2 + 8 + 10 + 3 + 2 + 2 + 2 + 0 + + + + + + + + + 2 + 2 + 2 + 2 + + + + + + + + + + + + Initial.h + 5 + .\header_app\Initial.h + + + InterruptApp.h + 5 + .\header_app\InterruptApp.h + + + KeyApp.h + 5 + .\header_app\KeyApp.h + + + Led.h + 5 + .\header_app\Led.h + + + LowPower.h + 5 + .\header_app\LowPower.h + + + Main.h + 5 + .\header_app\Main.h + + + Memory.h + 5 + .\header_app\Memory.h + + + UartApp.h + 5 + .\header_app\UartApp.h + + + Afe.h + 5 + .\header_drv\Afe.h + + + Balance.h + 5 + .\header_drv\Balance.h + + + c51_type.h + 5 + .\header_drv\c51_type.h + + + Calculate.h + 5 + .\header_drv\Calculate.h + + + Calibrate.h + 5 + .\header_drv\Calibrate.h + + + ChargerLoad.h + 5 + .\header_drv\ChargerLoad.h + + + ExtE2PRom.h + 5 + .\header_drv\ExtE2PRom.h + + + Interrupt.h + 5 + .\header_drv\Interrupt.h + + + ISP.h + 5 + .\header_drv\ISP.h + + + KeyScan.h + 5 + .\header_drv\KeyScan.h + + + McuFlash.h + 5 + .\header_drv\McuFlash.h + + + McuLib.h + 5 + .\header_drv\McuLib.h + + + MCURegister.h + 5 + .\header_drv\MCURegister.h + + + MosCtrl.h + 5 + .\header_drv\MosCtrl.h + + + PorSelfTest.h + 5 + .\header_drv\PorSelfTest.h + + + Protect.h + 5 + .\header_drv\Protect.h + + + RTC.h + 5 + .\header_drv\RTC.h + + + Twi.h + 5 + .\header_drv\Twi.h + + + Uart.h + 5 + .\header_drv\Uart.h + + + + + BootLoad + + + Main.c + 1 + .\code_bootloader\Main.c + + + IapIsp.c + 1 + .\code_bootloader\IapIsp.c + + + Flash.c + 1 + .\code_bootloader\Flash.c + + + STARTUP.A51 + 2 + .\code_bootloader\STARTUP.A51 + + + + + + + +
diff --git a/SH39F003&F004_DemoCode使用指南.pdf b/SH39F003&F004_DemoCode使用指南.pdf new file mode 100644 index 0000000000000000000000000000000000000000..d634fd20b0e94cfbc247a7e05fb075bde2eb623f GIT binary patch literal 1097286 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

9|Hf1#` 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

Z;mdacz1i6wzfQS1EmjJpRs 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∾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

kigl&=&3(JKHMd`9g-_mP-W@zFcbZ0o-WWu8 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

!&*d?%h-Od zU4>u9vY^9tgATm=R4dc;3bmiYi0(Y8dcDh$jhSeAuv9o0H?UEj>}^Z)4NBFqG(aDQ z5=*GAnjk7B-aKMkAXzmyegR@mRLD2!SNIY@@?w7NX_q#*Z ze}G;6UojAOx$jhpzBjnvy9h7kmzLw}LT;rZEt+?|zP6=Dqx^5Z- zPFAU-*{0m8q%_U`C?~~bofN01kNYI>Y3v7u5vr4GC0NVzONCif8b;90g@IzSGOh4F z6`l6txM_BgyQ>nP6*MRVcX5{S?~`i7+65}Z3v}PfZ0Eb#=I*zCQ+R5qQv2mA{D|uA z=*vPsKoRj4@?MQie=V0?y9RSeuu0xwl&%G>PXtZ-fFF#9p=6lD;S?EkFuV3t$cry; zr>}s3$Ur&RfY|Q1i!_4b?OPkG+d7e^apsr{6LNQ>YAjVZB)5*#jQjqcKzv5u!fH0HWtKRJmPvg)Qg#me^NML8OckOYi3 zV)bPq(#w#d$k;mB#cRr8M=hq&yt(V5SQTXNDYBHzodw4#E8@%_DO&~#%OTkzDcGS+ ztcd$0c=11H=RF$9jvITB>Z!_jzn#&d4rF0H7X87>c~i)HTT<3m-L_ntYd*F}Zr6Y| z!o9JV#}dPy-!+s(QM?V~+F7frubBE3f%+N-g+ezwOp-V?4qWa@zJ|6MrdK(jCj=rA zIZ>Y=xv&+~6HW@{3_l5j2Z@?toN@!pF*n0XK5<-emg*C3L_|^>D{$L(Vw0*9vwf!M zCZmfYLgLPQ57^m~ZptI`KA!XSATz91q^HcGBJQoeWNR;u-@}=wIrE<%poIC~l;J2D z%EglFm_`U=h!dvu24^asLP9u|PA5@sENqdL%~BU8RI8?{lIk{>T^Db~-8v=RFl zCeLY>#u&5-%p_0uk;R%s%}Xvstay`OQAtM#>B;egvPe$O!G&XXfuIN5F})cE*x1;@;`=f~j?+3>rMbv-SN<;b|=2 zpCi6MRLGCU9DF2Zhu_{p=vDC4iK%D!1L?cNIK_^o0&JMGA}!%rMD<3FiJTXS=Q~Y# zhBccjjpLu?@y3Yk05~E)89$P&&rYz)?c}54`16biA_<|me88}Z8uN1VPq_mw^t}~58r^etf zC(^N+l~?e1gS!Tf2oMuH@u09+*vNkX>bUltwfSw-J!4Kp##Dh9TuTiQ@lpnSyaK5> z4*(hu&Y1KtZAB>Oa`?*gSyn=3&u2XWr`I=YUYWmIc6PkiYSl5Ta$a%91h>U=*s5#a zu9e97nrawnPdq7P!t7zrE~ebe%^^)apX0|JIQnkIBWlrW^+w~s2@wHu%8aB%WvNT6SY@;Z87 z539XcQDOR^ag3Ov7@4m6nJF9EBdzkdJ(c8HN{1L@vw64lYwO}nAMYa?Ez`F)zQ-*tS|13NbaxNvwVNwM1I6!!#L+~q{vq@a5qqRui&N=Cawxopb(LdEL{ z*1J_Wcgh%Ao@f+zk#>AI+*Do>MA4oFwq=PITtW3ziG(_uK#qMi{h=gT#AZoJOE%n% z$fd*zRB7GZ(izE6lg^?5V?(`iMikj@mU^QM!SUWfG1WfqZYEBN}3RX z>@fcN>oi7|93U+Q5ZJCF`rsUQ;~e~OIEaQojglvm0vgB8FWiSHcJ7&~_e3RR0SX_2 z0O&$zpzH;1nJ)BAw~p8Ea-b{{cgA%uoLmVsbcXQ)Ly2+18k!rdpDu&rm_J0E*klUJrUMM00GEe706jw_Ihv7 zuc$r0Ay=kPLb|~&)_@|oH7N1dtRHHoe`d(k_g6!vpY^sh0#n{a5+DP|Jc5n^OKLrL zr3HaEe8Q)88oU9|{P_D5_h3-mhc8EMKy*3xmYjP0@*lq5tuao2E z?~n=b65W}p>0C zqx&@BW$u@D21m2kJf;!Xt2&q++bCDxl^+6NNcosC3<4m0kg>#t9R2m%_Kof(tj4-n zUTIf(6U7w2MnuFn^l+8qSvg_Bf_u)2(M@^n(u3YU-Ki9GIylF2eWE`FCV=qbqX%E;WTu} z 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

-j@*}VS_kS2Vy)fHowr=#rbeMy-;S(|OxjimUX=!!T;7gsArtdBvD zLY;qEl+(@7yc^4+3&n!dYEBzGQpkiK^X=t~1|$o=>*d3{k;o;Lv&x03ODRO@4=YFhsj#TbM2X)a<1iP7p$(0Ld z8CTe)6GN>Srb};Yu1fR9g%^b)GfckBA%Y4OS<~J*ADF+8UwI{08Q{;Q0rU%GOI z>QN1jK*bH$2X_wAv45p_OWKMrslo&S98jLNDXvC}KyQi?k}0SpQp$k@o;&EclBEhBHZ>Hyrp!$$Gc1IK#Z#vDjr%ezCtL2>+ z+;;=(R`Shm9hS`E79HL0I@iZ26M%Z6Z{$9?h~>4)$$4(kyR1y5(ziJDDYuKG=6S;h zkAeJpnK{#wmDypZ*Ucs4cSPT}NX>VZ73B>h)=+oH9PNcL#h8PqofoXioox9fYgI+G zB0uV$^?q#{)YA6K#CHfaj)h-{FVvqN1_4T_dtbhsjIwg>v~PBJ^e)g{!t{dXxfcVq zi4_ci_hu=%;xl&v4oa{G+KW~^z1bTzH$$2i`q9R z5vP7?Mg5rpW>~bbX<4ohD9!s=$Z^I%fJX+dp46f8h*4S{L!pW6Yv30c*PUm(Go(6nr?3+ zvgYkkOO%}(wq=6@Z)W3)zpic$@rA0p6_}Dge#1|yR`-5MmGqo|AHmK*O+>_(QYYx|JPMhIFwx5yHEN6w} z7x!4L*+T?A`74hC=luFt`gif9>wp4suDPdTvi1k9dSGJm4$s@TQM81wi=(XzxA%Yz z_p(t*le@c`hnDQ6oE`K|05&vlh1@5=6SLN{^64T#DVUAGfe$j+EQ{9A$5H>h-R_@kbAL`(!~T z;~Nii)u!rBQ`BWLPm`ILGzzp`#>Wm~smpu4jdV3I*Ip+0enM^s^=*CT!K_}^E~4bk zI-JURsWD3Ik&1Mi8C|PHct=v@ki$$63STySEq>&nNuNnS;9+yYPJV;vx579u#TA&t z`p>v`oef&@m4(tM;=xGbeTm=jz-#=t0pB*HX&i2qU*>qdcUNXs8JH007 zI2d#e-_kcMvMF)wbR543^TqBCL60dJ{5a)gap#fTiTCo6!vTw*Nc+Q+7l#Axmj#&+ zM7wwkJr-KF%;#ovGMcPCtkadcT@$rByJE|UW=thyhQ_EQ-Q@zu+ArjVP~wnjsMQs) zm*UF!9RF5AT|tnV4wcW_ar(9_Xbhc*zGdA~)N6h59gesdm<)tB5PzEkAVZIEfwQ9laA$ z`7=q$h3h@7z>b4$pfBc%s_w408T7iwaXa&-c|4s!iDf!GI`(p@G@E0FeGqo}DBgGo z+vE8;H=gA6%t<#+Tl!$8@Sv6It)}QP1VS?071W ziO)sfm6}T%qplq&*~$}5A+5ovdVH3KjAQq_fA$Fzxo3?ZC<>kP)sCLxzs=v6Rjahl zN~3V+NcX6VkkL85vysecQ96aj8I!ighlEm=sJym;n|1m~H(q)DskjCwCPwG2gQd)U z$(vfWs9vV`IDx#J-8+RCl?e_CDDrapH0p6GRkkr_>E~<4BG!=($|Xq%V!#ewZ=P7`Gse92a-(RMsMBic!5y2(yn2COo`5|szSNm6q>M-|Bct=aHi)jIxCVRwGfy676g6 za+bOdCmw7_n_jJB^_-CuiKfoaHcdMqkpzn*br>9wHGbkfM_gw5yr9_hj`;)rd#ZP8 zPtZt&d+6-F8+D1dauE`G9Uj`)F*MNVNw{Dog*bn+h36SYX>cGP#Fy9rgVib#Fuvs4 z?CO#9uIETjjtrPNZlasjsL(2}Yy54)+Y3L#dpvrMx~6z?ACZ*oBsV@8q7jREc!Ios z{H9jD2<@Nzx)(RFdO#|*Hyz|dZ`DUN+*pjV?CX`0VINQGAOczutN`^2m6l4iU{6ps z8s4bV#S?d3*hZv%x()V?8M9dNlsnk*%fQ-t69m<}=!X%G%1T&l{fGCp*4GO<0xEe7 z`y`{$dJ`9H$B5nKHga#AHA_pIwL6ujRqo|;&UBR%=tQ^l0rPXv+z;s-uLc5JMKoZ) z;j)+?K!SM}BwP%`aUYGsQ*M1vxX7T6Nm)hCjf?)}%ZT0*)DD30uF-C5oI>m#S=`UZ z$Q$K`97pxkBj36MBLO}LF^O1ycon%WI=G*Y@f`aQsvZdZL(~3PpIQj86pbN!iabc!Ds{gPex*;kN;O`5#s}@?3zi!Hq#u z>jMO)UO?02u(?K1$KSZMCq)a4B|W1ATNLP+h?5U!Lia)`MdO;Qxx!Z#{;+Lq|9cG& zFX=wzIKL?TqCJD%*$yt`EICe>)u=7aw+S zy~BO5UMo3WBxAR`%X;h_uiwrcjn6fWdcGFR)Q5huJa1&x{8`+ohyURs(g#kbp3XDu zJhQG5h?Iu2M$ecXauU$2)!20oBD&sCo5P#qwzdlFO`|7(8zrI#zlz0OblNEKv8UbS zspzmeB8V;uw%Gdm`X*? zWnPL{{`EW0ApgnY5z9}^P;E(w*gx#Uzp*DSu7rPlAE2Q!g+8)xd-&CdIMxDivhyO& zu9lI44?Ak>U&MN#4@@OI`D(>q7+pk_Tq&EMc(oy;2N$7BRl72MIQv+vv`vWIVeX*N z;_8=K*-6YvkMhquZsMY|Oj-Z=NVm{6f;=#V=DOfAiG23z=9I|)T!^Y?ci&qz5s}5E z4WomaVh#rNemwe#5HddU)*jyR%wB$A2Tq-5>7;|yT^mhe+Ki!`Pwvl%xCWFBEqjMC zOomH+DH}6RsK@)(B5k*cFiE3S4aQWG^Ag!7^o%CQ;w&m}h4A;dVwYL)h*@@2cS=uN znvG8PGi=F0O4G+o*>A+}eE9Og*uCzdjsmT(p4#B;y;Tv4LFs6bmKI&eA7 zn@R=!;!#|Gh)UiK8~KZFJnUsbfRty055>@*=Cw)r^)9zu)k})ne)F)FB=~mHN`n4Y z&Xil7+uS-!C*WMkleoN=$ozwS9`1SW7h)WKqQRe?S+Iyau%V-vB9unWD6yRU*~JA1 zJ#+zt`YIj#zV8q1A;<#-d=8D8J{HUaHVI?|WihZw@DW10VE+ITmwF24rwi1%{vAEy zg{`RWVEW&LPW;NlUsci07pS<{*K?ulLXyU5kz=c?<7o2Ua%RQS=YW#MbeV0#`7P-K zdb1Z@TT(})4t%I+&{`!bxKowM#PVgmRoBGd39!5lkKZ$;s~erO6;??KDl$f*Ep2?av4u@8|0udd-!1zl$yMM77bEKELa-^Q+6kjFCgdk zpM9d#G5GU%YDi`HI^KbZ#bSF61Lg=#u-CW`#RdO|RMB6|`a}^enK2b(RWRBmk5I=MByBuJsr@aN`^qFKkY;95sqEhX^P>k zUF1qCd_guI4>JW327+T@am@n z=gXh}oJV9M)fQMY7i*1|6}D3;zfUrpKzoUjL+y^I>>dCiM*lQOMiuOj+0O$uJuqZo zz_zoIO8m=m@rx+#_q~jh%cb-qM|^#Ev+r_0EB$zh&>M>>s&INF42e4EplX^a9-*U7xZ1w-CZxjHmd?yGG?_pQLvqxqMaz~$>+!X zf@>a4qC+1(9CE^dDU1-cL5rNzottXU&v4SW7&t(Z(@b^o3$x0|yya_Yn|eO>u>6z4 z7xBo0{&EcJV0$l)>PZB-0F;h){XD>lJvR`lxQ~#%yT)|NPZNq;#g43Fo$FUi74_v<7U$b1lu&He&ahL?E|FX@R zT!kJSeu34mjJ}Md|7i8HuO%}+)_$l#aa*s9lvC57QQPGMr_npHWC091${b1Wb8a^V zdvBq=bdO}^G(Fqsc@i6!-0I0z7*6MU3;$mC8fFZ$u}eJzvd8p1$@6Oo{|0RUeIHiJ z8x5u|C&Uj#m4{%izf|@&CPwOnpGVA(YViTn{jfh(pq#V&fWjJ(U{0h5hB;uz_@`ho zfBRm_>aqjFyA)p+r&s0zI^4&O(E0g!Y7);6hNqZyXmy+CY}4!(U%GYXo`}J0K;nbM z+m=JNFZ^JaR7NjQQP2C^^W`X_*r!blO^i&O^CG5Fh>;9v{Lqz(= zIe^j}QOJ&O&?K!Xv)A_3A${4p06(GuLGEnks7Zt7em?^xlKz*npV)*a+^VfGsJfM5 z99}a~xzOP<7k9sjOgi#JE00S{f37;B`%VVXhSBq)b4#L^sf=5ZGa#mcI5zekK&8XM ze(yU=f2v*C&r$(ru>h(EV;kNJ(Ge`^@bm0S+Ca!6ga&i&N5#RY^KgFs;9>6lunS20 zUmb}`;#6*4hv#L-4j+P2oWRtU@))(04;Hlr)YK$mZ(a|!S#Ghj6GqrO1O?{y5Q3}# z{Pd=Zn_TOy=6;OtV~NO;IVIXX7Yq*f5lr-`-E}CixStSY4HjoC-XBuz zcL4?kG1Txdp%Oy400U>rW9-rra1sU67Wbptnk}}rz|KX9tltIT97Oj3cTNvj#N&q7 zR%r3KwvAL$?oCau`nO8#XI-uM_}KQ>w|}h2;^DQmBX~U68H0tX9{?#H5Wp^BV;YkB z@nvMY?QnXB7Znx)r*E9z>3csmX#!DwI^!#vc#PNPtgEF&lOFtC513YvCqRszbueua zh}COrMs9rp752fdt)oQzu-gus@I7<+ic{o$k^Q+lWvS>lEyg@>HY-?_|=2I{ak-u z)~F}4n55`_5H-$@aM2GZk# z#o^C@fkXlZ%kL%sJ-xviPuHwfCoTi$7KAIo2hNc9bJyQq3$^5jVSn$*{}Q?4p<*H> z;|RYs2dq&4%J3Q?3CXdBIbhu?#a5tXAt|Y?s3|4VNx}+l8X6cLLOz9968GxXQsG{x z>jZDe)olsU8cf}SAKPh%{ZBkXC&s%Xu8HsbzJn)cKDOx08nl2+Y$xvj-)`4m`$qp( zHPFcHOtkRWjfH@c&u=v9g>TiTl4JjX?@+&Vk2F@Hkwft`$>#v~3JRS)5p3qy82?9a zeP60>mJg~q6$vn=t)3Se4}K;Oi_|$$vpH^=5FjTUfHI{oGHX*tTvlb)c@7<#J;qAY%`))vOGZkXwHi=^C8oZ-1Oyv=r3oR8}+CnB5pR!D;C8L zSB}Ten)dqN4&n`^vmx1qDKzUBPfy;>y22J8v?@`n620wZBzIg>Bp%1uU{rwW-sCD< z5n$2aHJ&QaJZtb810$+XJ53d|Qb#?^cKt;mz#HbUVMX=VeT1~X@~5Aucgekx_2}^< zwHGf)K3xoJc`sK-3}3I~dAiU;K;Yh4M8C)bHqDA%dXyWdqRGrwgg0~SLRfqyQLrXo z(12C^b~)Zr5{=c}mZWsDQEQzL6&fiEKcSg^>5!D(fwofyX1P^5v*TT%e-y+|%GjOb zbvQ@3B%zV3BbGvVbLX%v1B5d{EpCBeR$XFqZ-fo9yem4?qcH0uZlokb=Y84%9&VSCJcD8`% z)ph*HtR{Q{H*+T23yJ*j2K}}`S9<84^DHuhI9KYvV@F2@k@sxg3}M|wV>9e$_d4U2x0Bt;&x zr839HSg`-t3y5e!+mdUgkfDyac;MOw*=i~Y+M08X%Ru)r16x~L;TDKQKh>CfBC-Yz zF^z{(&doZ&0P#CJJR}cI5vLyxI07Qau>Mf&OMQBc)HgR=>X_SfDv?JaT?MU}qLOPm zYBJJwgxmbEkoiM~C+ekw^=_0}YOq%Xj)JUsuwjRWzGGgzI_JZ~ZQgkd_%10?ACVgp zqd#ouULHxRe6E)j&;JAP>SxR7AJGoL82`d{h7<-PwY0nio1ssg#N~{!x2V z`%2NlmP1}D%k|}B-e2BtF@1Rc`SasW$3bR$6{81@iTc>sL$HI6hx|?-RA$mI2_dC) zomuo;TnfVWG+lmHVB$@9XU#?`oQB?A5z&?jh&}%9+1IJUYi9y(@ ztvkDs#qDW@4j+pK2lV;Rtq5jb(t=<%5xwu3KR{#A-LH0sce@Nb0D<&&jKxffbNT&Q zx&FjU&(y+C%F$fB%gxp}Jjf_H+?+jKao?ueu%U>vto%Oosa)j+ML7pdlSdnMVA`<~ zg^2xp2OlJbYZz83^e#~I%fE6zdR2y^zFOWt74L}glkxoq-6B|H${SBy_wUkXxtA+> zdhc13V6j-Gg#%C+Xe8cq`&+5&&Nbw9d3F!di(FDqeNva>p$FWJDZ^! zROB+`s@=4KTRc}eWHhxMw?4;`tt!#td#J-qce37)=oSmnf_}-^Vx%UrJFY?0qIGO= zpdHvjk0DpKQ#KlaPk}oXh8$aT+hW+Mge3buyM%wV{ypvvq;o=|^?IEa zKOt}p1@k;1{!}KZP{6~GvM2{{EK5&$AAA((anxGGZw0icHTDugVGA>7CVXdLED=vNPr zb95Q{p?L}`4C+{t>0c>6Z-+05roVNF9gFQVPVLFM{A`i`^DD{z zEp#9NwC*Vu?+HS-^oalE(5|enEITI$Wpb^rbGgZ$6qRn|u%|Fym4zoii`~%1?uf0s z6$l#7U3IaIn;~>OIDWdMpct(&0aLE0#6tAyms9b_i_zz10NnvkWwg{LA)#&JqnwI8lPCp%06FZr{6s=-<|f<;=0#+F^NhP!qvQ~ zn)2nkU&@`RT?wM4RSYxBodVtbSUpYO7Syv4*H*LW9FRdAZ?n1eVf~aO^W{B)N}v5c z>lSG+pZ1fWuKaUQgzey)d*atOm;hK*SUD~e8hKMsmS^z-I=yvxCEqBH(W;9+wVgz+ zj{4P%>4ClunH_(`!;yBI~a8VGSzTfy66j^pWf3Mb6rd?yvO}ejP{tCWaRt@_0bqj*Z7U1x=#iE zP=`+4y2Z*2<9^FwGuNs z$5mkvPePQ-1uX}b0bEd1-9h0(XZEMO!;O$x%|KDL`cOsn+zOj4)Q&;;=Qli}_J%3yO-CNCHGI*eapEm!B_{R(mW%+&dtGayV4s}EUZ z61-tgvWi=@b%M&zW&qOQ1OuOQ5rXB^kvj_}5`IExbs<4cm+ZT38IZdtGDqmemO;DwsHuG1-Yd5osed!7F_Bn4 zaC95EEHn;8;ez<^o+vyyKcu_8mx!++xG6E01wPHG=~+@J6n|4@NttRBkv*q$)Nr$V zbK+eavA!$oyi(~@Uoic(D|S2Pon!)0g;U|I;~qU&4<#z}v^u@)eNE)B9T&PZd z<9#Ygz{A8_oQ-ZGu<1kg$X6?bo+3z*{IXL2SKC^dYRGE?-VuE4h;6<;yVur%R+dQ$ z84h2oPUKfeU1-QQdO?-b)7@+V67a3d_V;gxbC!9yAnGr@xl5xdq(#a-!hoA5vU}R3 zM#Td*IM>JCN!R22>JYJzBJu{tK`D-%@8%*T~W z<1W$OP866$@ROWWxT^0d(qAxVz%{;f`RQh~B54I&JvLnA^yt z+puK78k-##*{4@~F|ol~^F}C#XLYiS;vkBHtTFLMDrX7HbB>IsYX=#l%m;!3Gl@){ z7ap=zJBcx>zqOa`-YH)GgM)GHGm_O@BW zkb9y#A0dea9jb66fmi7cGCL0nR%$is@v?eEiCK)4C%IkJy~+ijrh3;m%*xTM!#JM= zyVOewJz%c(h{5#Z^E!e#r6f-3AH18xucn8PKdh%b7FD6(KvbpCBA9lTWGNXX8Z_w7 z{*<3c>u3MZ{ub}pztfvclW)6wCoA-L9P?q@So4_cjnY=p(aFh$WiQK6vA5FAn-lY> zTYOARA7pF3jP4!3^t!1^^P=AAfNjeoA)2!e9vw})>+^DRDBUXHAUo$Wy7YDiWxaQK zX{eePAnp;fRa7<#n?Z$BO9W&D2qbwttxg;It|^0sMf~+qgG_!ktZCtU{(7vh|u5=b`>O>`CF9i{`1MZ=c(EhrdeCvbot2 zEN~A0R6f7qlJ@#b?2sWeGAxPlf6P6uECKSbD4;g*v}`*x&a!zf8GUSYj&I z^w=ikf|Zjer)9HV_|uu_4~th_R{UP_Bft97h}N!)FfkgL(pYhD#&4 z+lH9TsBDH_nUwCc?(@d4fBXdUsx+rWF!EE#mO5M)4D!P3a|6Mxm|P)dm=pB_$g<=ld0<2J>uKpkVfkwjc&_1{;d9t9p3m! zZI{|Tu-!9}OV>^4= zb7W#>uB{R(Fv8oYvvG~uSSg(+F5|0O>c>n)%*2{V9#Dv_CM92Ax@icn38M zHV)gflTg;STdupi_uw0(lEok37%g|B^Q=w7G5Op92DGd_*_;Zgpkt=Zg-er4uj)@2 zEh0w8y~pO3)HD5Q_K1Ug@T<;)<&9&m9^vb4y8cqbyCp7fK6lz&=(B%vmx3;GAoYB7 zBr@4yjp$>=u>+f=_S|t-oNdwmD<2^(#Z|oeS}N7tGEMeNczZ?4E-Wp3nuUhYaC<~s zs3TP`jWzd#EDbcHbl9@^U@1y$@V)^3xb4j(Z}#;?A{LF7=W)F*XxD}|b@D+kgNY-! zTH8JSQ01ngSP8!Qn@TYAIX4!O*Tv)A@ zbgtDsYqM6zJf}p_e)?k*ukRF>$NM%js*!8*dkIhw>E?|aEy22A<#8Yqb33SJo+KVC zW9?3BHLdsv#s#&$u8!r7vI#+ErNS*lV@2N;7d4F0h$iMDrxojrY&{UL}zaD)0 zH`?|6|4>{a=}G;Hdt9mZXBYUky?PEo1Z4Sc0whgXnsp$ONevk#(k1rHl!4Wbrql*= z5}G@)(+J?x4f+Tv3bOF?T(WwLiReiefX+bQQ|$a^Uw=lS!ie4Y5j~g3v5~Q8u!z3j zaBD{0ftc8HcA}P3;qcE`F~T9p(jPO4tO};0H3XTQ^q><5kWyp{>f3t62Bsf{R?dz- zs761Q{=h}Ho=WbnV7i7FRU#$J4zj`VLw~wFDtJob%1IdAKNvIio3HSr()PB)v>H5vGqRQVwCFxf*;^28sWy`&OwO(*CTOrgYE;(F_d@5F2COFfROZs!1OJsFn?UIuGrV1 zm8I$C06f^^;Q>G;%GVD9y^@Vk+vK9(AO;Z5^31xcbI;pitq}y3!g#(jWB*qk z5}BGlc3tQW@EvBDq7IR`75NQNG)&2ZPCwQS;4GKha1qx;-bJm-2sl?7P5yEE(a<-4 zJv9Rb8X&|BX?M3ksK4s{U||;vq)7ji`vAfT-aHTZ) zqP=n27n;xSuQZ8=6E(_CB|mkCX>5mnX)2%;%&PuK^`_8@ESaZuF!ha0RjCXd#*{4f zkosx%G*SSP%uB^(LVfRUt){}S?gB+tOx_Ioqyt<%#@Oy)DSo0Csic!zT!hQW%}3ra zr|-8=e}6J$^{b$qjr?6>*9#Z*#G9KLFW85pm8RezA_D4XiSa=*3*`!%NPRJIFO`Qs zyzo$6x?Vw8Zdw7QP<7*~#Xi|+G#Q*P z?5lxW)4z8LT)fjLbk@lM-8#ySLUL9G%{975lvAPZ21`!mK)Qdvf|QB-k^}vb zK&f6&pFh8h{0!)pDHNH2dmyNvKn6ff2~hLjns?-HSuq5_FyS;t&fQMgWxend7KCbV zF93__AHKvb-f+l3#U??OiL;TdKLo?o1ZSF3xIPX)#zt#UP!Zx}Q6P7z&$M4w(j;$B>-rB17I^*2m^Zh z{AXd?ih|Xz0^FK5PgGe+`DaHp=V=D)$(UP#<>SRGItd9kT{9tmwvDSGjN_Szk#C>9dE zhnY~U3`~u@jXMFFu@+}~*!Ze|ktNpDovefm&NWOF%m%7&ZGo!qe+i=NrGUVj1WQg6 zy^IBbm~7#1};q$glI% zLyQw++>@gN!)LCm43egK1`Mu_Z;59@z$%53I>KhP=t8z0g0-# zCzSCKT9jD4e`V)kyhghLY%M)C$lX&8M2+}Q>!~E)Wn_|Ld1JtndF*f;#z^ckPtCH} zP^crk_Wc4$;~4A0W-1XI;$m^f;no8#QULbMY(MX8!9ogfn|?+XzCa z16-m8yDEIuVq+f6^F0Q00M^Kbe%bUn$RR}yfLv&vfOSLb$TKjfj+6iv?gKYnW z{a9;P%ewEu7OSfwOls50?rEO&UTqd-4n%qVHvqC<31Bs5_vr+nKuir{og9R&1CKo; z*yH^FTs^dLvgewhgd6YUyX0ho0-HDoFnp;3?wxW9Xo|{roH^;K!78Vfjyy(XgPc!* z?Ejyt`IozgPMId#E4R;l=#tR!1D0C#8LyH&k~U7l+Vx0@8Roh-S5y)%*x5v!=e297 zx|#g03&!_f*$kTYoIL9aY)K{NU}DH^Xtc~;fwuD3AY&5fVprUiw=ETyowK-I8QjhL z%}tpVWc5fLDpnvSLc>qOM7cS95Y^5ry0;7HE&%Ldg$z$*4XjSt-=L4cZulR#C~o>R z$T(TD<5_jq`Fru$F{LAgf{r;SuXB`~L%*EQRjxHo9yWpM{=$L=HgG>?(ppYv^Dz!M`#qHTiz^ANaELd0tkl~h=!4B;=7t;IQ zeV9kAVXJYs2#0Af_$J-GO^_4d>K@q}RO@~@wA;qA!&}10C4eY6s*pX;{sCl^!XW{3 zkmVd|pb$)}_JCnO@6GR}|K2md%gpbi>Gzr7_c`)^Z1uS7ChwMgxwpkh++@d#Q?2hd zD_x|_{=&Es(6{QgIJ1iU)=N!c=W6Ta?P+J_^8HUY>#Nihl42YuIKKZSFHcP&s^aMF zrDx}<>gM9^=4$8a%^}SJ&Z@dOyLp~>x3aP05It?@<7i`NpsuoiLCw+G+s+f5RK0N8 z&c@BwZvUi)ouj>jH^)gS$^9cuS8#{Bo3oX-9mf?bXRq(KoV9bc_jceoc}nbr`2J1j zuUUKhxr5R*U99ZC-*Mslp|P&@RXZE+{acJ2ZNU?gCr^L_MMY|gpBnP*%eN8epq84Z z8U%v@pDy?h`qmGrLe%6GloSW3DJdvvXsBr!I2ak|=^6M~*^h9D92Ywwa$HzQLRL#r zLQ+jiNLa~8S?#Qj!FdC5MH4F%JxeWp1Ks^XU^Fx|40H^N`o7U4njmQIGl(WPC`OV z46X)(>mbmIgq~AOnUq1_itL!jA@Q5hX$QDe@;@*dd|Kv~u=Wfgr#O6siTNlGFCYJL zfs>~srKDwKRZpK$Q`gYcI)CA!p^@<=6B}E*EA|eKSG~Ni`S@P<^S^cbPH5QOd-u^X zk7DEEA3sTWmj3+3%Z$vdR|Rhii;6KNrDavsH6Ls1>Kht6I=eo1_k8K?8~r*qJ~25p zJu|zqy0*TtxwXBsyWcJt1plE~;QxQJU7!owe07H{nD;Jhzbq^ z9}i9kA)$W0g(|tG`VQYGr(eB=9jncSQKW`bQ4uK-N5`0|kY~R=u9;!W*PDZysse-; zFfQPGxmtQmSN_&~H+F3lP?!V*3ZIpeo~LET5m)v}Pbg_|#8DuTX*!y-jbrar9&Xzh zHNuU;onwur@gw_9K@Q`0z3LTPoB&`VC$_I`*sjWjmtH4;B)TxV$TLVMb|ELuG*NOG-75bl>iT;zHOzD#MI(oH(Y2><5iy+b6+iA)? z#{AW`wnWPPNs*3P6n$iJWe5j}j7zAV=g3`Q$Ldk?MRiy}j@O=Cn=$Nxr)0~=#FDug zT((TtRYMh%a`GENEiWtkF2}hY=Q-^F4OToP8=6~1UuAPN)@d+9_o<#rl6ZII#?`5I z+bd;<3d@fgafF?Jn|vWs2C)@J_xAKG8dX+fg@vD!o2E7{FTQ#3R25l-jo~BtQ1MR@ z9}bYoRm$4TsrcIDEA|nyI6(bMj0=l~U;WY}rTQtI#aUg12WY(NI&LrKO6H{5xDXvH zi4}gf#(jxm3Q-=BM9?CCJ{~uwH71lh^6o)1W{tw~U>id!$2ylgGw%2;LmwfRRORAe z>Oxoq(T8ift#wTaNFniLW?jk_zge+3Ub7}`i&e#tYgY{#XG-MciZWi`8;#dYxNa4} zDSqzAQ>GJRp8l&youcl{4wu}E8PVevS9shE%rUmXjxTXv?v6+aA|9V_nl7#N3fIdr z@GUeo%mlWEb^jpQox2xix=&6Oc>C27cHW0QoNChZ=j-bqcR{IN6Ev`n>k3 zRq^P#L)IN%@FKu7uLNaQ(?{sA2mpC9yBq90JMJzV^gDZK>8|KS>h`ryVJ252kP{Z3 z47Jv%squH4f~r?A9{nuFTlL{1J2p%PFyLdn!=v_eq4C|w?j&!|CVKBnJl!SJ1|o&m zwrzZIB@x%9`BLgX%{vYaWG~X@T00LH#t$_Rs`uCXcEGNculuEwaB+*Q#{;>xY7roy zwrlp#>?~)vx~s;cqEhqc*JfpK0)bCOF1ucIQ^vb723a_Y0(b4>0?8+AucdgI`earn z9$`dGxws%A|MT7;oY>C)i>pS6T_oMj8CO9NLr8yp+@Ozor z5pV|dPP5iGC?37nYpNf@?=~-=87-yR`nlH6WUNL-EK4`m)M8cP#=AIP?o2ryW70*DBCZrEFC3*C!5an44vcEHn`p@CXA=?JTG zRA@yRl{o1h5m^GuF`i}+-RT!55DhoBXw(5SXzhmxxdR|Z>u z(Utj4*4OjVRynri%OxSKe&{|Dvn1Qt8S}V`BlR6LZ3Zk)bkf|YlO%n`nzquK6zms`)qF>n_E4fV_#fmoT~j1>H4T)l9}R=z@CmSu{~?#cH2qy z#Au$%l;J>R-ZockqRUQDJa=dJNQ-0C0-bNnW}7@RKAd$7$v0Fh>9g4)^>(6f7%7@E zx=p{?vrC8%R5LLdR=0Pqby^YX_VjC>c+S6Vp5ZvHE>FdkLhOU2@iO!0Vq^@<`QJ$m6-_jpCf^M2AHR4ivNX@=d~h z{MTmsvUvNjDH9nRGhOFi1o#DR0SsE#ka5UqI!~2w>YA9HWEmguimp4G zw3qCuwq>-iJ9g4*AN!90Spg)DC#>R0ec}uIvmiqB=0j zO^!i`;JJW66&L-FEiH{=vDMG2`Bf3p)k|Nb>o{E7zB-`)|&yu_l<_z~-$1 z2Y>RBn`z}I$~3|sTE(3mXU+8oC%b1pdK$c~K`!Stuy^wj&O8EY!#7Cg@HI9?iv`kz zR-zmy=P1&ysyIXE)P+X0*phj?W2t{&-|+5|P0b+x7Iwz1=BDs9lGwas_qtcVc3cuS zT9i3nBs0bVod~2Blzv%>lnMw+;T+U_xrg0GEC<=n4r%qBb1q9)i9tR0%a)K~VG8UX z507rQS^c`?=;yS1gRpwd!*^J>ZIKI8Tv?t_s~*tgd35{<1$E;Kf}U>(sk-iqv**jO zs{|?47?b`o+~c{L(y)cAT&04-9k&Do$NBFCIje_qaUqVgZhaKF=TERAXs_A&xDQtr zQj3*dGVGg??__Ybcw~A|t;5}|rczsg*X^cju9e2KYof}_FoxjKS#To*i z+ng$w%Rs)ii;LrNiK|o#Q(U#l#yh3f8MlIE*^B5Z(EAvf|7PYVQLsXN)eZy!835PL`>5FN{Pw3-2sLz=HihN`_6{JzSC|y?^SeC~9EVoUzNJb}pBI16$gjr(mc*w%! zB^KYuE2B~Q^=t|ywX)vKhW>*R85HrtFIebJ6q@7XLVO1lKh;5~rsD$3JyTubo>6bx zyFS;R4Cn+tW}r$dpPKfzzbBHMy(Z*X63C@%Cqvpnk6h~OQXM^&Jn^J3bCK!fX0+CO z%Oe-9k+M2^0byKRgleF{rv_s1dnQJ~p5kr2JcOxPfzq$6;ff8STS$F%dDZCX4=)ql zzcLkvc`mHk3+ZUisU#V^k!~nQ2cj(&gPuiR596XO(8jlQ>9-vmx7yT1mG0h``ArF7 z-;3p+y6bsjj~hFHKf}60qlU1J-%H6%Pv)$zo(BPrUK@wJYGjyxDN_JtS-qL&X=y!* z$rR5&O>nrB=u8XBuFO z0h1 zah%c4BhlQ2r6Pq>F5GJr%@V88;jtULMyIZ}XBn{O*%Q=X-1^X6ZI!)u(W&m7k^PsM zpzqRRj$2XmjsAze_P;}delPPM9g(%V8HLN5RQVI!2H{dP%1kG{YOadwOd#h4W4bp- z@CI-oc7~T*pM2W5pN7BV0XSzch^<9h!m;?b&k@G25MQJaYdhd{&q$%{;NjYN@PrDY0tT`PN>AJANFbla1wlU4N>BLFJvNJ28#!gz0)v_;~Vu z2wcqf5I8_<^Fs(+Se27P>-{&9v{~?32WV`s32?zu037HlP%l)1X^<7zt@c!S)RHKE zogc;=O?s)F>Shzo^O2xJ2x~yr)efuMiYM$If;{jOfQ~kjc zPM@MtR~)hHv>4!uC)e(+E)bo&9<{Sg*hKUuxZ&Y|yJM+Je}1%=tQ+JOU%}5u4%KOw z+~n0}QOK3Jb<{Qh;n5LgPgAdmxeF$sD3H#w*WV4d4ZQush3TL)+MKV*sWD(iw41@M zjoE{a{mt!G_;|2Nwne1i_p}s}*p%{$+A;= z%dRY^Sic=m<~*&5CbO7C%KoaX2Y=Tq_CdGY^r|i{ERo@NQ=@9m>)rR&c=A>7oM)p; zo}uxNpDq31Pv7rcQw8q?c(F1w$2Ee@S}Ms;7yk5z{rS89r=R;P)j4Bl{o#`4`Opun z>=l1cGyb4h;(_uiSMwVBLv%lU2I%r{#QNvf|7#xmaj^Vcs+z5GoHraWg=9$s!hOJY z1#8-lC!DF&CRC>E9GzYIB|0_nPY+H0xp;|Qhn}stmtv&efQq;?*5Bk)v98xnrqEDzi)hFjE@OM5)`?CJ-meG z&ASw9+Nl0P(m>^*sYpz3Tajdh2kqV*AD_~ApkmtBm$OZ+>usuQsRK>H_pa_c5GBp2 zk7Zy#$_N}rvm*%|&abaayrn7SsyOe1aSQN3xT*JHr)8xz+n_H}sMkPlPLvi6M{E#F zNh}L*p7Tk)1Zy*@?E7BB6K~xK3ao z3Kcst2gTlJbmwY$(Fb!D69)yQ7czKjVwFF;WI)JKU9QC|6%cYysQd+AO5tDGhm;geNZ%L+}cGtRE|-GxiPwT%eLm*gV--F9Jfu#2^jt3pYBjf zA-u)+>jGKFg-zs)j3e}!luK(VxuZ9u>F9FA2it=m1U>AcVj&5N#oq$8s=nQ6qI2_k zZb@R4J6fKam$>_k<<^ZYED4l9JG#o&x9M4hB%${lYx42{MVrQ`|5esI# z0=?6&3q{($8?>F)sibR)Cgo=&x58lW&B%4ny0I&)zxQlB=kS@9Id5`TudA^=eyqr$ z4>P*>(y_T5p2R>dxvroFS3I&39JW-O^y;D(>1uDgTsgMJo)9JYotL)K=nkhIgSg}c)ZyHDAJAMN(g1V`WKkq%o4FBcRJjIir9&!78h~E#mcaQ+tG-$)SpfewZguG8`}t22mW7SLB|)8QyUdM*Vfvntj9JSj!Z z_NP5ZVahUMp)28`#CJI25MU;2Kr_E@4hqQe0*+~fUq$zUXq`uUQhcd66okrC%Ed z6K+@E0UN()acIR;ck5zUAO%ZNoL0{(JCHW!#fZ~9#D5t&^RV6QyGuGf0Y2#d^BoVr zV=m7a_K+b^l6~e+iPya&-R8Ojim9WUMoB?QFJ5C4OEUF0))mpXf*C|SqkXc#9(0;E zB=Zb+jB*=oloITiK@pn3+!~Hi^O){jV*~JnSiB56Y#2@Wwyk4zomqsiFI~b zTO;A{etb;mqx(lh4f!E|Vj_2JAUQfHojwt?S!>5mkCC*doB8bPp>fiJXBkT7Q3lqI zD`9pP#y@%1!Sv-W{`j4lWRZ0v$oywv{lhh>9rjC+0zW{`F-J4&VFwHap3SSwMhT+PQ@m zupBS<-D$|rAbW$q9tt|4!D+pg13WFA%B*4VG0VuVwYmP0hg8Z=Cyq-mGsM+h3EXB$ z!Ai;#YxSs};63R{ic`gJOd(6y3!h7QC(;&a?mx8EryYfrsy^tsKJvPXXiO% z9)54Eo#lgEq>g728hlL9Tek~|h(8YP7JllNa5qP-j`DVewA znEju(a*tXZnIjG#SS;LU^v|nHZQH}P8Dh>SyvGg}4htL3&mjJ$f_+b3(Nvz6_7+r2 zj#>z$iOstLxgbCJ$$(w6`v}juj#hcct8?+ep9Uo-0YUo6{{VfM_`rZuawc(0aI`{% zb4yotMub8{gQb$Stx8Z4Yqy|~3d2=wb0Ls@?%Z`^uP3X)_F3FINzLJHL5iCd#Ce|n zLn$;ai{(OK37fheH%ph=>pu3T`tN917oNebau|We;7I)4paBq0jw05FggzG+@(&$- zwD06VWo^K8#m^#8-rSCtyWKdfjcPI6qM)EqusYIK&Uuq4)-^v}5lQk@1ER?X+Ep1? z{l1f&e9)9(%t?(Yhtr9z0P_3>q8|t6a5)}yhYwLXv`7Rc4Y|ZBt>4JP>l|kC$Hl*+ z>_|^ZrbG9YGPW80u1O?lHAx!01_AoEh}m7yfQ%F40X$8<2^_7sgP`sycl$r~rG13b{y+WTNHE zcpv&2Fjicy(Wa_w;s6(nxTb30Hlr6yLXQp=6&uxNx_e6&4&!LetWAFStVT_!_@sRi zEyoA>Aw1BUtMBD7W?@b=WjuSFWfUpLhe%BHEcA*jya-OB!gKST3}uVx)q$u5F2@;@ zAaurPMJ4rP&_xYZK~%CoMB8kWx%@uy@Z4wmLhS-!7x+;;c#YmktN} z);KNZ?exslA~PD$Ey|}Z+j7KFVtE7o-!)utK0)3;xeGoGA;v3`4Ah~#YH}X{=|tQk zGTL-zMXV19SCc>RaV9OqKXk`cIf(w;G>qkU?uwe&*6^3v=}vYoA$k}4ssk()gh)p` z)F$nGD4#6e4Vr8Y)g7-n)1ND*61`P`&Mr3qQuVhy?T9&xZ|CA&SKu;pRBY9jGn2nC zc+Gfn(wc?q`t4Rz9X=`SmXcXZLC zY3ko{3smP*l4;V!w1W_G*N{*A06Bb4o>}a>O@&Kl@rslU_eST}<%igg4_WHucnoYi zN7oNsq&xEWv^cqfoL}2OQg8|Qip7UCjMvZ>CQzF{#m0;CvPmGVf4mXY(Wz&LMh{_L zx&!v>5BOe*TjaTVae6*uh#3Qs(XR!JR9{TJ{@AxC%loMtWTPEMpY4oTvjG zxCK2ZXsj0WxN(H#Q&asXH4V)=yEn;f`cf5WWjkhxTm%NuZW;ceAO_^i=ccRu#66^& zTmg@1Ik*bkvxr_EiL$Y*)?t%^jKAd{soP1;_I(UA7V{y#tyF39j?zyc!)FT&!mN8! zSD~*&HZZYGdYBWt!!@#IMT6*+(OCm6@|vp4-Q>od=z3BQhiR9~tn?w+bRGJ=b{AZI zS}nvkTUs!ZhXMcVqZ&t|S4R3ptu6MeM_D)4N67uP%B?;%n4xsdE-n)7- zUA?7T_$?9@O?`31*FXLinZDXAFL|1d$;i>ia&XO-n( z3M5`b>VS*SIA=`Bq@y-Ot8SvV_Yvz}E`g+V(2#MUDt)X)GLA)4lL2$MSgxy1R9n7F zQ&mR5vmRrT`YSW=WJT{xa>h1I()~Ltq)S#esIt(t#^_P1w&Z(T)1~R%p|@UhJtc`dzee_BZUW&kR_bG`-w#OONU!Y z529O+sAQl)!6b{8Bsw=P`o;z$sRtpxai6U~JJiMb$e8Oeulo(xt2_O)5A-N+_~;_A zK(fLhM*}7IWEbvL9JZTBRna)tp&FmDe1Y`zmT5cZb3?xpM;*L(ZypCFGCm7r{akrv zp>)+_o=kCcJDE?E*{lelq+XY_$NF9_4P)F_4wtR;PwjI$WjV~5ewm6g&YmO0wm3Sg zUy8N?S8fVCm>eQQt~9TG&~CN7BLHIHc}zL;YlftO0=-|9#bBih-`wZGj>>tV(EPxg z9qxvKmUTQtn+^opWn3?=3VC#uEzhMs8Pe8-fZx}1%*V6zl?rljjlVfrAdl@V%0b2iMc(CwS!vils zCe!mvCZmx9?M7DxYLo1;$A;tgEe-bErQdynCYjma`J3whANA+I3=RJE+kp~bxto8J z%HIKRVgAJj;a`94?_CrA{PaI@lE};ggvfVf&(;9K$4sEWAGujXP>Ws%3c)WAUj6_n zls*ssOSUGQxtr6 z_zDsZ{YC@OQTz!}Jkh>CK)vwt)aGad0KjHA`2li#J#+mS&_~Y#STOX!-E9)3gM86G zg~&WQ_yK~Pe)BK?B72MvRLnlV{sE#;l7=E6ll{_ve*NdrMa39=Ev>z2Yf%@;8EP6FPbw{1yub%ns4AC?*!C+YBuBx=uVGu zElLb{_TzS};Cm-XSw)-YMhmB%U>6}APMOm;OG|fUP)VaRDm#b7pF~CG)d(wF%tJ||t%icVS<5i&TL@kJ0+g+6K~PJEOWfxSX9v*pG*H{*@e$U?oUYTp zBB|+v1|^Jw{`7J>A0%foyo(UvB}BrI3-E$(1B*MBKq+4BJ_^MPu-i?Pq8X;TP{C=h zk=GEwpqB7=M}g)H{6P6VKO1NbNC7bD0h>BtZ5w{92~?3He%Utt_JV9czZ>Y^UtT=E zK4NZ;s7?>VeY=Ge02P0~_WrIlTRAbX#8($VCxIEkvGunZMJ}ZE14O#_7O1!J z0hSXb%at`S(MC~#y~oip4$N2(AV*zA{+has&B|+4@3~os=7j8--A0UP83q%}9k9t0 z#y1}8P~WS$H>)KYFZ7(-vB0+Tp=Gndi_X@WdF=1Vk)8s-Z%rs8XbV6?G@OB-`$Nmx zWtW-LIEz^ABx6LLhKuc*Sb>cM_QY-&Vcc=6W{V7(GD(4s1e7p%A)nhAZF|AYxbqV` zpTzWMi09gEouchezIC{*oNV`1AyHKzDk_6)il9B8 z|J=G+P3`Wylhd%v`R=-v&E#XF%{pz?q@x9s54Yd-t&H@lBtK&i+@;hG_$Cz;qsDq5 zR=&0PeXVRKe$lu-MazZk^ToRUimF%YDp#~Cq(AR3`Yg8v2=?jF?nylDU)Ao}}ts3z6%B$Y^-TowA$_r_RO66*0Kqu+Y4fwnyTV(X*fp1+ccYfKa1X;yyjADWjF|1I<6GO^aPew1gaZfyNilJykI7{=4VmnPhK+5>)h zOVOoE{gakM@8U!;1mXOA1b#9G8Cwr4lTtYy?S_ezRJT!4Q_eLA?nUz4Q0tO0`zE## z?4m5Wi@00_O0%KZKz(xJ)#=PGVxpUA40pcLRog3`@|0&WRZx-gu*H87q7F$T)W(<; z7PI)AwyJ@TnCG&|FqcueFpoZbnPRrI zA?12s$LlNP5(OiDUw3$|^qji%+DjB|zEqpiI(qhLT=m2LCG%E1EU2!3{#D98 zv=wrE{g}6W{=5-tYGt!@7(m;Q6yY|N;t*EBZ#AgF#x{N?HBqaR`=LSjB0+7w?s86f zEv3EA!Jj-TcP99rkY{f7K>9Hg1?BeeK}Kqklc_0i)gKQ{6v#ZF+hbpkkFLf-KNUyp z1~1^0E_>&sJ-{tSw51o>$}@PIIoPk3OVOCXW!o=jE8NF`P^tWgRn6ksXnMZqPKHIZ zP45GA9A;gQ$Ja^$=&sK7VoU33riT%z8mGOT)@B+L+49W*38KDY6G9>ricjI3l48&1 zJ{yU6mZ;S)e`16cJc_;`q1b~VomekPCz~mOE+pCG!gkHtgA?wdH&ZwCq7bjq@kyJt ztn86v*Y`KKwG82DKR~0(PVvRj3#EJB} zM5zQ2o5Tb2#`J!2jA>ec2&$>a$+4g*Q$B4=DB7u}O5)>PDm|@ht`_&rgy^?rFO<5l z;H5E^T=0qxw%OxnyXS0A#sK&7J^&CMaL_Wv=jlpd2%{94k;$RU3*GiSWD*(eeB}y2 zq70nl4pSWo$fJG3p3j~Wm$M_l{E+00qv<+2G30HjrZE9r&v{R$o1=34mfG%9bwt2z zr07M>6k4fYvw0Spyk_;j>Nq60zcZg&)H54rx8M~sVX%t$V{r6 zx6{$4X`>4!5_L)gh5%=}vF|w2yKB1R=FOq1snsvY_6$Cc#|`$cDNr(SVG1T>1bpLA z6fg2Zj13(@C*bRPkj6tR&YB4xM)TWS@qOIM^n$eE#gAw&b6(89(Zk;oE2aB1--!Bn zIkpa~QMmdz29TFZ1JpP4@@7?Si{{(tH+P!~-%|U~Kl;Smh#A(Uu;eU#mpik3`6=tz z@JmBct><@L>@cdts*;7+Ljpa$+cp?7hZ$5N+}xDxrUSgLBAQFCOi&C(Ng^qQ(?u0W z)DO~BZJE<1rV8J5ek+ar(&-r@biDX(D!#V%mvHQPKL{_2?NQ_WEZMGsSmRHy8ME^(+IT> z89TOC1@`XWZlHK6ACMY{LSX!VwXMQQ2+#9=LFEV&&hnu{@#jBn{~{z9e}KZ>0CHJ5 z<-g^@j*gyA*(jZ`LZBE1Mlp0<0)H_W;M9@*2?(;BlbRe?DVsqL3MTIoXczO3s6kf zW;r!eP}_$j$!8u5I6VaN7p*J_jnW!LIi*Nh{J>f}D<@mhIHMdcS4qjco{Z$%fg0#j zX4=oUlY&R)iTd&l`Yg%bDYj91UKp`hJ)Pm>YuUr5J5p=>Y+cVy_9psueri*t;}cMp zfXY_8Ez7NzHHNpJfYZAvotzsT5^f*B*9B2TNZ#IPCdcJlWG!zyzpJk>WTrn&2<=|G z9Io*?z81L(gq_}mR4Q8`pgDbTUq`7u7MS>uw#_ckGTzM4UWq5cl6zxj?bTavwzEjm zSUw!%T^3K4r!Jc+Gs24~N=cuaE*1sKBIJFzip)eD15`<9(R_+a8nhk-ynebwXPyGP z*W!%xbclYEHpHV4Z5RI8-WA=q;em6jKx0{M+1o9{+#x;Op>=#!l(TM}8W{~~n~y5Mn4Ug5sCKAj{2CVt?} z#+ITeb+AZ_3kn4qAKWVOioO3rD@>^#7I8P@A&n+@P~*`WFy?Y6a}D;pxJe=vNlb|` zTxOx-=ErOa+e#;A4rd_lqz|UTD>E%HE|HoxKH8Xj^L~WAA^9zYRyJpLo~IQ+Q^&8V zoi~HN(UghHz9(Po$ENYdhfPQFr;6+xhDSB}TGH|F-k)?fwAZT}IsT~pY9h@coj5Y^ zK(4r5W=U(bMOmTve_p z4g}@6I%7XabU=v-FTeRw0VY+}<&KLvB96D?PE2H;DBdM`XdHAVe-C@huJB-hdvyf9 zpCE^I@NMy|Ckx&C*y(C*7~JG5iafLdElAU#E`-3Ch|;9%dz{-3%Pg^-m9rPXC#`h0 zMuo;)yY?lw`SoWM9BAmiFugWon*@0j*Xw8g`X{6R_HB?8ebf)oi!_jE48X7XtOjxm zU^DY5y;)8{|N815ayR#PT{+OjI}I_kfBiVkuQvkm|Hsz}nsk_IaTFXUni|G<@_Q%- z{2o{p{{{gGzIY_Nk~|LG1{i5c?qzV00;Y-r0OHJ>89tAus1t!h9kn?A5;3uH2?Z^ zfw}4$pd&96j=?u-Cy~d1lQYAU*PaZs-qC#kG{y(4f3oU8?Qs%vHu@6;@YklBf;y~7 z@^)Rfqi!K3QGO=SMb)1|?vsaJ=Kt-_)KhZJTQFmy$qhyhW;V<7)7*F)(H!=SR=>qXzofl7O4 zsO(DWnCx~N1CqR!NI0(g7s{#_1hB(S#_N2AJHFFZv4hnmtO8NBNw#9GHJ)a773*&E zWh{Q@F*n#uEB#vaNZ4-it8T(h-C$FA5 z_w)ClUu{f|e#jGVlbY-Q*0xe{o>rVvse*dnOc39>?z6+a?&tL^p4H+$BStLY*~c=1 z1GNmE+qh&_m{kq|EGT>U(KaAZ$h_9kdgD_CF!xK~XQNQSkN3|P|Fto|dDs8I+e9=T z%=&N;XGbFsqzWX{zs0+8>Dd?#l%LC5?=?uknFo2x8$|6aV+)o z7C3z2{lg!{+y0@G^1m!|{b31A-~~{KynQlx4M=V78+H+0i}+IMUCqfr6Sy~J53zxV zrraCo;Z3Bcv1IyMh8MX~@bS9O!&>ZLMjXG78!@y2Cv-rt@&a(r$Co1pqDrb6!s}q5 zd=a35#4kjP0l*P0Am;xHPjdWQFp}NCFFQqTEqjRgS#x8mbesF;_p3YrbO=Fb`yzYD zYXWVNJr*u;VQ9C`PJ%YKZ(ImC+(gN1K|e8|!c`ieXvg9Q(0wv#$ht|I1_usHr{`UJ z-zA;&4K^1jsYG3rm6vUyiShHWb?$M;C-NC`nqm&kM$*_)8zA)3n`>?0XZ{hv179mU zHQ=PV7mqDf_Bv@PDB?D4%Z#^(YZQ5Fl%H2*%e{Ka@twwbHNL}RHREoXl6AR8=E=EF znBOcEGP%z1J!$GrR`TO6781c?fgTpQ9MO5q`v4p4+YPD>O0nCY-p9VH`h-6ezDh!4 zr>f+a_?9T=$Q+tjuX|NROYbadnXu!Wy>A4&#sW$`ee<6j35ho+sXvVYp_^ZG4*t5L zyw#RS=$r(-N>G>STjqVvtdz!25Ur*}y96U)RGt&DJWcWRbXb-0i)0z2)vV(@I;ZVR zre-cRwlMqM)ptYT2*dFJpeg8$&jxI`lxuh}t!Vz9mIA+RBm~x1zEMnUBKy$`)v)P6 zX?UJCdMbQ{-*omk*^2Mpfgrmk4l8V@tG}5BK8e0ZamU{kY$@DpG?zeHM3~%77Ez&% zg+qC@S|&OAuBzeaXTRt0#_GG7qzZON8JTPoQNQk1u5PJlafbk>)Lpi4ucG2fb9Y(ESf-^&Z#MO zuhj~SpD#`qUZnUb()34$deBB?!w6o-XSqz~E9`TAFby-FjEd+i8>z7hWTl~kSOzPt z*-+{Ftii^aju?>C9#aC?J&ZlHSCKJ=^fd_!DEI~n>MdOcG@o{QtIm6CR+7=qu5iL3 zAIrn|QOPno4-KPL;?c{OqeYyJKyDMb_^ovl>3O^H;8xw&XRs@-AtwjC7@=?qam}c% zfq1_2&G8uD)W&?ItO#7bwhC4E=^4Hwl@sx(k=;AL*Ulfr?`>cjynIojNYF|Di8eg9 z9O(;9yMt62-a0dknm=idBnX~IS7HunulLk0NNAl7bm?Ln&6D-YysS;QI=OD@^;J!D z*emCF?)#+Tk#48WbpE}Z^eT>x$VkCRl+dxZ*UaMj{t;}2EkMTsfSHhs*#t3VbKMDH zD`|(ej#OEpWD1-F9p>?0lxSMkHts|{(K)Mw`#~nNB;6z(#xAeb9-h4OVYGemG32I{ zGnxBLYo?=^w9NU?s`^YGfS!Z^3B2S5W$c!o{Ui7c#k#y7f->#v14$`lDj_2BJ$#pB zB2gG|1j#X%7H^6uT^W$3-(-z`;Afr;5g|u0!rRt(xnxckhey>9){n2D;96@ZNc#b0 z#%&ib7tZMgnkTSm?Z#V_iW_(x$!m03QF&EZ3fd+Ne*T-bXYiCcw$b_MV8z>atfWF% zo;-0-s1Y-$aXph^va>UxSKeO^TfoRzHZByz;;0894eC+5HlwFyoDQFnpSSI{G^XI? z%VX;*laoWG#tN8USB3OkIxDy<_0niBmw2atk;YV428vX^H1XcW3 z_nwXr;u{Y%%R1=Dd^ORAv7|B>!d1O$MbFwsUSh)ZG>c-DupL*h)WIx%&g_N;r%0gK zvL$lj1V2GSjQxa7 zWs>I!K8!|-R`gAXl?Ey!m){f@7+%$X+5PsWhqj!^!<;#Pj^84$`Y`h7zTS0!-Ve}g zG|}(<+|RiuHJcT##Oho>>pqPn2@zN4uaAsmFdl<9LxoT_(tt>usH@#`pEgd_$BTu_ z>MjjwhvK6>&Jc{u)K!*Mq2%O4*s}E{BMN@+>*vJeNk#p#GF`e|#yUI<^LIr{j^Zro z#EKf~spR3U7RS%Eg%#s+IY2y9eSYa6Sthw##s;N8N8KY;W^9(%O9HfOmXXdbkv3lC^5yoG8T^e?{{XSN!?N$Q|ZUK z$>61>m-t(IENOJ=$#E3x;pJMcJsuOMv)xAeE}oFZ4(;4%`pW6&%Y4L~w8B%u;yxQ{ z@uV(5D+BQQfkL`awDiSaGI#1_I_nzOrm8P4x(D|K`@7WNA~_tYc1q9n>0w8AzbtpJ z%#diqwMb1Lfek2nOnSZBB9S9!)p3(Tdnn%khS!?DaQFd()AFpOpX$e_@fI*GA6JG% z`VwWpr?M~OCH=U4ya_eb1Kuq$S20xlHWF%4eI@Sj*?ML+VA15WsbKWsi5n27gyC= zN^one9=*E|zc65P5yO+hRHF}jZofh+-hWWUR z*=gf?xUeSzZwK$bexn$FSvBNBYx<&+wcg}o5{SH~RWhhk!WS@VTQBlqP0C89)U~C4 z5T&(f*2ib6P9Slq^_6wG#$|dZb$iQcoiIYJI%fOuc+2I-q-|8r_5s6C*>Re>=9_Knb0N3A-*|Gs#So#c z*!6%Z6~*=unxyo-PJrw*<;1<`Y3Y@~@p=3Gq9c z>U4>gV%v4E_7e8s4}O3&eMJLad73g+*4HKP`8Be0Cwqp99OFenFG^;+^S|_S1KA%$3jOfU1_K0%O2Cxj9OloZ;$0{lieP4$fzrZ6megto1 zS;E=?6ki`MAz4O7#540oruXjD)Q5YAwRoosWOitoeG>jnkr-3j(1+W-XXDk%1LI&t zfI{tA>V2u0!jt1w*1o3r1*^}>Vh@Lg)Dcm2qsyLl6)R9=Rq0{e(}aF!zM;sc8-O0c z(rCL%DEv%!Sl*W9uq7Uu!-eNpWuOv>b?Yc$=FL{p z%3$`767en8EO#!wC@)T2V%BUhZGM znd}K8rkT}CzA@c@+hfk9lRwi`rsmx)(%40>wx{$&RT;C%&1AZ?{~(N2R?4vt?iAMOb$^+2o@e;xf~u1$s~Hf zG(V?&Q?M=5H|ZSxB4xpHB-*HwY7z+^67OQ%$iFctz`hC9=-@65GtwU&o#$cDuGW7# z*n_u4R^jaI2I#G&Me+N>TN4FhpF{>rP*c}Ml6)=%qP3st_y7J(8=d(-)BoweoNe3a zq%X@+8Rkcjmvap-6p6&oq#9Z7n$5PO$%M#nM8EgR!jY2Ap0)8*WRDnd6Aa^V%wufY zPmfpEpmUbKidP23bXZNQ-6t08uI||SAkHAEFGBFeLd>*2$CeFgKkRPP>1SKpS6(Zi zMmA?fWya~|M5Qptzd`!A{w>auCpyN{;iUISASP?XF0Mw^!Z$BtAOwpaj9Y1S?{Rix zXp3hkdIxw}C@!fYQF$pW*5NK=8bYXTXi7H&u=8Jz#~&%e{VeU*F>Av1SV@>Ad)pKe zVz_v<;FaQEl+=7V0S}y7>P7YK%O9X%gYU;FdZLqFdLqH|FA6`%kt^WCT*L_8C@s)c z?i;#0H9CENU^u|j9WF~aSNgdyFYAbx$!66)Ly#qEh)%}iI_i;oxJlYIF|Z07c_ksC zL_a{&6vHgMpqjKNqPW_6Rwh-Sm*jDMXwd-ar7*XN>zT6u;^Z36^kQ}WtSq70b2F@m zPl?o7=3H-roe%``ZbPHR0fzz4ArbI3_D!dhWu%Q_19>)Pld=;Fgp2&(VVGq5x;?`!gWQ~JLM*|OWP_tS+91f3fTTbwVL%9pU_+eWskwm1 z=9Z}1i*pQ=rkwMuM zFZm{ZQ9T3^?d@1#`VzQzAGdPR&uiH~vNXYI3<3!EX=~vpd3(TBwbW%$!-=&_Id^$* zgyK>{OFEA!Uxf65qs8u|0TvgfaE45c)@CDA!y@AFWV5VzQy>OkqkuOt;ZZ!EPxMwv zM`qKsu+j;6;f_dUMg~4W2nQD%8clR}IaK{_ zi;ARx$R4sajPf9w64|CvL&6U}$Qu#18mn3x zFv-P9(uN|7e$<@RHIai_7A?_ z;5hiF>&x#MAb%(V`p1^Gum2*!2>us4>z!fv8X3h^9DqFMek}OTdq0x`b@2Er>RAYo zyMT4KwW_O~Qv^%w+ZkyO*}<{TCn!j`_>4bxZ{QXasDVuWiEhL`UWqs~?kku{-ZC=Y z8GAep6uxpg`qiY&F)PFp^eJ90TV4!fBmd!tWeZ6Y4UHy7L&(gaGUJVW-5zwd?Bfru zu9j|&m3_<_x1xz3lo*@y3Ap+N2tiasYAgCAuQ*ShRW`ytJrT3S3u=)$7cwe@WLx}1 z`q5=gS!`erXm6zxosfcZR7RpYDliiI!^q}eY>GWjr-$!k_9ob}@x0+KHtFU50lKmD z6o+glZ^hts0$o3x+1gf8zSG%v?D;@hi@L)LnTi2U93Asm#ibrTvo1;+w|MpCXz>9_ zhmC?0q(fP2z-K)ayqvpTvvyc$K6v+;c1s2BkqoINmuEr%q`j_eYp1K3C|CZ8Q@FTsR1x0*?zTrJjDX2{!)N$9Dew-00sSD zc=*O8K^oDU&_{t#L=#X713hq;79*DWRR05%50HVt8oHx9rS6Sk%h6i5?>u>%zJziI z*MW32vw+nD+mRie^ABnb|391%uRqS4PD6S;@@M?ZRyd{G@D8`v^OvMg_qt47S~unJ zzatk)OCd6~uGC{HHrI`uiVRYLRhi<*L9tUd`Vz3U$&=VAd6$=V!rjV2vYhxOIvRys zq?T|M;-->ofQNN%2agrCscV7@%A9Tr86aLNM2|3s>6I$`JpUD5BXES5lTg0`|(1JbXYOPapVHGl9@^ri^ZNK-8nau3*5STyQtJ2 zhWfnUk+@erx>&xV1Do_vgH2Xpc00Fb$0(B-b;e_ES4sUd6X&C1?G?o5o@9JUT}SNL?ZU)Q}c0Sga%? zade*nSzE1i0Go~(6@IT^ULAb%frv9}lYrokak7Fq-cto|wtU(|egDAg1fZO`uTl_~$xghA*_L#rWd&CLMap6#qtl=dXjrPS z{%dgh<%W|lwL=+X6WTg^@QngcZXk^g;ob3yk=`6AjQh01@+@vSbREi(m297t=QEbp z!=A6K)_(nbTzW{$^GY?#dL`+d9 z=A9GIg&ANCnsnlqw`mN3OrCsF=bX3Lvx!W5H4&=Zp@Dm!p$8SsBI~0(xNpd|mp^GM z`)L}(1J-vyg)E2C#lMSENZJTr(0LoFnXAwqf0NXV0WyX%yT;29L8 z6u#W$?RrsG&db9qtXXzyxvm%E_%&YP2s|Tz1s>!-a+Lt_zFvou!ukF4jv!(1a%eZf zcKY>uDA7amb{>14J>l6+K&)O9In$BV78l3V|CY+#@hu(y#0S+g*Ar+w@2=A2)>DJr z(|Dtcv8_|c0Z*OAu@MQ+y5=}d~L8eH|ux1DYyz+49(8M z<0aV?m8gwi4b5@0^rGS>jeFEx0&Q5Lmp|E(^uj=Ey7aTnAjz0f?R(dA@0s!*3)kQ@ zRi|>xG5U!(3%Xww68kXg|0eVj{eeqZ)9%auS(ul2m$4@L88luEq$I>|d~bM&Sd}DF zKq6F^erfn?+v)AP%IX>&Bcq3mxHq(D&7BF^C{J3h3w^(}ys@R$ud_4HpMFCJtGS0c zGq9z|pN4ih=k9Czo_aS%qgEb~T2WDWfzxC99tY^SdooA} zRz?#peFLANJv%Ir>mgGl7i6n*8G&oEDS?qQ0%-M61?ZnTJP=S_unKFo5~o zP2Y!VUIp-d1rymIU)po{S$IbI5%*UBtobcl^f!U}KSB42RDnblc?5__h5v#3f)@ki z!rirh(RwnQsFwfU!O8ls4o)=GLvGnSi}$ZTqMQAkyl5|^-9bb1z?FqqzCqDQX92m~NkRSvJ%^H!4r9 z5G%#NBzsI`LJAP_eDvXGVVCg!|J?uxQKCSS8E#xK;eEL=+j&x^F`>hw^|tYqM}%|b z3>;Ta{KPx~iH}hSbg1jB3bNBIiF&~e-R}jsJM@EevHnf~>@3T$(0;|M{!TPWzg;Lzs>#Y{e7zjpwj=J!H;j`{Q#Lb{S1(YsRLPm>PKrB zE-<=K*O`|znpjF<&^5zx_)ihvf0&8}mLrls+mqccM|IcygoXb-NdMRI=zlzN{f~X} ze?Civ9gSTE*@XnSHPht3hUz~B$Ny(;3fjMtKY25Dp7qb@}4E%RkR<{--B0Xo0t1?$1FdA;>rz@R-vf%OQNi zK{B9zCGhr0cA!lqW0+i=AfMG$ztTYZ2}-|H>I!~N zl{Y%ktM$v52i;OStoyET-Y=pB^G6SQzRet6b0cLsL@ztD$t(R?1X`FXVd-z)8WHGN znCb6zx-PsI1d4S!SJTk70n&*gsF86q!AB^4CHZ@gQ(IMub^W+ROq(^cdaeL7%k4S( z;37LHCyE>(e;JL)oL=|NxWjx0Prd zFAUWFxpZ$*;_jF>o%;9pO6udeYE@J1oa#B}&fntw1Z|{Xti9=061$IiwKpF;>HiTbXelSuy z@`53t-J`D!>;05jovNz2*Z9y$$QAX7)?O~|r!(Y9&%M|`hg=73LV>3p)EzpY3-+9G z2qr0V@hlJ&y;SE@Yz_JWLX*aP#K7@#Rs&fZ?R!N2`i;jUfDGxL#w#+R6lFmmS{w{c z-C#NdPbs(Tw=2&K`ODG({r+5fdoJwGp(bz4#!pCivI{#;gGzTb2TN~8eKFOlL2Jog zP2X$Xj2jS}>8rLo&_dN+m9Y8EmSzGgsNs9}0zUB{AfPtFF<9Qpt0>{PD;O1TJF798 zF*EA-vcNz=oWBYb>3M<~bQQiD7;xeslBCC0?E4eXhIIZ3rVy*sI~ef_@O8Uc_7>=npi#Sxq9jXGLZPR>tZ`loMk-%L5P zm=X3%W(aP#HGe>CUesRNT|`gD$7Fu9x6!){8Bb6slBcyVjAt?le`pUpuiYE8&aQ%+ zUyO9&2~3jHXX01V$;3Q4tj&2<$f|u&7ernxq0sU;JFB8#J41sQ-2;W0ySxaXkKXnP zk7}CJ*MN6WlRmBI4IP&Q?`sFAL{#WfdS;#~M&A!6*JWt&&B%4>;IUAR(>KRI!_&6OW+q5X&qKLQ_h5)Zso|*;cVkfk$*=wn*BPp#5gX4 zP%me-UYz5M{#c+ zqiOZXpzvXh`jg@cyM7@4sZQy94zZws(tfp}Iz>Pl3Af5ZTe0j;t+JSnL|dV6-y7i8 zZKf*<7c~TXt~M6Dl*{trU=yR?TURQtlB=&`kAC0DX+X2dGjKtZ`$a28;__mvq?^y7 zu#qUUC^hzcH+uNp?xEAJmqHosNyFNqMU~M>f31wdpnSLJ@D3L@sS?c{OBP59A#qwG zNk-;+77#K;U^(VU=#tCCZA<9_FvtWk-KWMNh~mU{ydO1NU zWUecFbx>iUCwIJq)D+2hjw_a*SYQOobcL~SgDRP&h5v&yelw;Wr7C}3#5o;5fYWK# zf#f$vg}-&SWEU-($YzN(-`fgrPOHwqNr($gKLHh16d=;*($vUY4T~lsGEv4u>gZMu zdYs5%Wk;0*qMsKPUq5ISYFrPE;H4t9OZM6OY-TSzh;BIKI+;GKUjF=I+%Ut$@ZNdd z=XWebj{{yRv*_c?zb=joQO2Q#Vh6F6mzI|(t8?k`e2iYw%fiLm7taDcz@ufjG$LlV zSOz!A?S$%;?kkA;EzEQL3``PdJFWxZdUSC%y28dVVxD?9;b

ZY#ZS3C|f-;f`;! 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℞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ν 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%0AGD}0?CE(u_9spyTL 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�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 z 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 literal 0 HcmV?d00001 diff --git a/Sino.cfg b/Sino.cfg new file mode 100644 index 0000000000000000000000000000000000000000..30cfda0d869a8b9a2b02875866081187a5f7e6f4 GIT binary patch literal 43 pcmXruGB7X$ViPVyF1?ui(vpJGk{H+2f};Ffy^PcfE(17Z008Tr3Q_<7 literal 0 HcmV?d00001 diff --git a/code_app/Initial.c b/code_app/Initial.c new file mode 100644 index 0000000..e2bd66c --- /dev/null +++ b/code_app/Initial.c @@ -0,0 +1,589 @@ +/******************************************************************************** +Copyright (C), Sinowealth Electronic. Ltd. +Author: Sino +Version: V0.0 +Date: 2020/04/26 +History: + V2.0 2020/04/26 Preliminary +********************************************************************************/ +#include "Main.h" + + +/************************************************************************************************* +* : InitVar +* : +* ֵ: +* : ʼҪǷ0ClrRam()УѽXdata/Idata/Dataȫ +*************************************************************************************************/ +void InitVar(void) +{ + ucBalanceStep = BALANCE_ENABLE; + MemorySet((U8 xdata *)slCadcCurBuf, 0, sizeof(slCadcCurBuf)); + MemorySet((U8 xdata *)Info.uiVCell, 0, sizeof(Info.uiVCell)); + Info.uiTS[0] = 2731; + Info.uiTS[1] = 2731; + + bSlowDischarge = 0; + bMidDischarge = 0; + ucDsgingSpeed = 2; + bFastDischarge = 1; + bPorSelfTestFlg = 1; + + ucTempeMiddle = 80; +} + +/************************************************************************************************* +* : SysParaInit +* : +* ֵ: +* : MCU FlashȡݣԲֱгʼ +*************************************************************************************************/ +void SysParaInit(void) +{ + if(McuFlashCheckFlg(MCUFLASH_BK1_FLG_ADDR)) + { + McuFlashRead(MCUFLASH_BK1_ADDR, XRAM_MAP_ADDR, 512); + if(!McuFlashCheckFlg(MCUFLASH_BK2_FLG_ADDR)) + { + McuFlashWrite(MCUFLASH_BK2_ADDR, XRAM_MAP_ADDR); //±2 + } + } + else if(McuFlashCheckFlg(MCUFLASH_BK2_FLG_ADDR)) + { + McuFlashRead(MCUFLASH_BK2_ADDR, XRAM_MAP_ADDR, 512); + McuFlashWrite(MCUFLASH_BK1_ADDR, XRAM_MAP_ADDR); //±1 + } + else + { + bMcuFlashErr = 1; + return; + } + + uiPackConfig = E2uiPackConfigMap; + Info.uiPackConfig = uiPackConfig; + Info.ulFCC = E2ulFCC; + Info.uiCycleCount = E2uiCycleCount; + + ucCellNum = (uiPackConfig&0x0007)+3; //óʼоOffset + + if(ucCellNum==5 || ucCellNum==10) + { + ucCellNumOffset = 0; + } + else if(ucCellNum==4 || ucCellNum==9) + { + ucCellNumOffset = 1; + } + else + { + ucCellNumOffset = 2; + } +} + +/************************************************************************************************* +* : InitIRQ +* : +* ֵ: +* : ʼж +*************************************************************************************************/ +void InitIRQ(void) +{ + IrqDis(); //رжԴ + #if (UART0_DEFINE != 0) + IrqUart0En(); //ʼUART0жʹܣݾʹUARTģѡ //UART0Ƿλָ + #endif + #if (UART1_DEFINE != 0) + IrqUart1En(); //ʼUART1жʹܣݾʹUARTģѡ + #endif + #if (UART2_DEFINE != 0) + IrqUart2En(); //ʼUART2жʹܣݾʹUARTģѡ + #endif + + IrqTimer3FlgClr(); //ʹTimer3ж + IrqTimer3En(); + + IrqINT4xChEn(INT4_EXS45 | INT4_EXS46); + IrqINT4Trig(INT4_TRIG_FALLING); //½ش + IrqINT4FlgClr(); //ⲿжϱ־ + IrqINT4En(); //ʹⲿж4 + + IrqEn(); +} + + +/************************************************************************************************* +* : InitGPIO +* : +* ֵ: +* : ʼI/O˿ڣδʹõI/OĬΪ͵ƽMCU +P0.7[TXD], P0.6[RXD], P0.5[SCL], P0.4[SDA], P0.3[BLPW], P0.2[], P0.1[], P0.0[], +P0.7ST[1], P0.6ST[1], P0.5ST[1], P0.4ST[1], P0.3ST[1], P0.2ST[0], P0.1ST[0], P0.0ST[0], P0 = 0xF8; +P0.7CR[1], P0.6CR[0], P0.5CR[0], P0.4CR[0], P0.3CR[1], P0.2CR[1], P0.1CR[1], P0.0CR[1], P0CR = 0x8F; +P0.7PC[1], P0.6PC[1], P0.5PC[0], P0.4PC[0], P0.3PC[1], P0.2PC[0], P0.1PC[0], P0.0PC[0], P0PCR = 0xC8; + +P1.7[RESET],P1.6[], P1.5[], P1.4[], P1.3[], P1.2[], P1.1[], P1.0[], +P1.7ST[1], P1.6ST[0], P1.5ST[0], P1.4ST[0], P1.3ST[0], P1.2ST[0], P1.1ST[0], P1.0ST[0], P1 = 0x80; +P1.7CR[0], P1.6CR[1], P1.5CR[1], P1.4CR[1], P1.3CR[1], P1.2CR[1], P1.1CR[1], P1.0CR[1], P1CR = 0x7F; +P1.7PC[1], P1.6PC[0], P1.5PC[0], P1.4PC[0], P1.3PC[0], P1.2PC[0], P1.1PC[0], P1.0PC[0], P1PCR = 0x80; + +P2.7[KEY_M],P2.6[ALARM],P2.5[CTLD], P2.4[LED5], P2.3[LED4], P2.2[LED3], P2.1[LED2], P2.0[LED1], +P2.7ST[1], P2.6ST[1], P2.5ST[1], P2.4ST[0], P2.3ST[0], P2.2ST[0], P2.1ST[0], P2.0ST[0], P2 = 0xE0; +P2.7CR[0], P2.6CR[0], P2.5CR[1], P2.4CR[1], P2.3CR[1], P2.2CR[1], P2.1CR[1], P2.0CR[1], P2CR = 0x3F; +P2.7PC[1], P2.6PC[1], P2.5PC[0], P2.4PC[0], P2.3PC[0], P2.2PC[0], P2.1PC[0], P2.0PC[0], P2PCR = 0xC0; + +P3.7[], P3.6[], P3.5[LED6], P3.4[XTAL1],P3.3[XTAL2],P3.2[], P3.1[], P3.0[KLED], +P3.7ST[0], P3.6ST[0], P3.5ST[0], P3.4ST[1], P3.3ST[1], P3.2ST[0], P3.1ST[0], P3.0ST[1], P3 = 0x19; +P3.7CR[1], P3.6CR[1], P3.5CR[1], P3.4CR[0], P3.3CR[0], P3.2CR[1], P3.1CR[1], P3.0CR[0], P3CR = 0xE6; +P3.7PC[0], P3.6PC[0], P3.5PC[0], P3.4PC[1], P3.3PC[1], P3.2PC[0], P3.1PC[0], P3.0PC[1], P3PCR = 0x19; +*************************************************************************************************/ +/************************************************************************************************* +* : InitGPIO_SL +* : +* ֵ: +* : ʼI/O˿ڣδʹõI/OĬΪ͵ƽMCU +P0.7[TX], P0.6[RX], P0.5[SCL], P0.4[SDA], P0.3[], P0.2[], P0.1[], P0.0[], IO״̬:P0.[7,6,5,4,3]Ч +P0.7ST[1], P0.6ST[1], P0.5ST[1], P0.4ST[1], P0.3ST[0], P0.2ST[0], P0.1ST[0], P0.0ST[0], P0 = 0xF0; IO״̬:P0.[7,6,5,4,3]Ч +P0.7CR[1], P0.6CR[0], P0.5CR[0], P0.4CR[0], P0.3CR[1], P0.2CR[1], P0.1CR[1], P0.0CR[1], P0CR = 0x8F; IO:P0.[7,6,5,4,3]Ч,10 +P0.7PC[1], P0.6PC[1], P0.5PC[0], P0.4PC[0], P0.3PC[0], P0.2PC[0], P0.1PC[0], P0.0PC[0], P0PCR = 0xC0; ڲ:10ر + +P1.7[RESET],P1.6[], P1.5[], P1.4[], P1.3[], P1.2[], P1.1[], P1.0[], IO״̬:P1.[7,6,5,4,3,2]Ч +P1.7ST[1], P1.6ST[0], P1.5ST[0], P1.4ST[0], P1.3ST[0], P1.2ST[0], P1.1ST[0], P1.0ST[0], P1 = 0x80; IO״̬:P1.[7,6,5,4,3,2]Ч +P1.7CR[0], P1.6CR[1], P1.5CR[1], P1.4CR[1], P1.3CR[1], P1.2CR[1], P1.1CR[1], P1.0CR[1], P1CR = 0x7F; IO:P1.[7,6,5,4,3,2]Ч,10 +P1.7PC[1], P1.6PC[0], P1.5PC[0], P1.4PC[0], P1.3PC[0], P1.2PC[0], P1.1PC[0], P1.0PC[0], P1PCR = 0x80; ڲ:10ر + +P2.7[], P2.6[ALARM],P2.5[], P2.4[LED], P2.3[], P2.2[], P2.1[], P2.0[485_DE], IO״̬:P2.[7,6,5,4,3,2,1,0]Ч +P2.7ST[0], P2.6ST[1], P2.5ST[0], P2.4ST[0], P2.3ST[0], P2.2ST[1], P2.1ST[1], P2.0ST[0], P2 = 0x46; IO״̬:P2.[7,6,5,4,3,2,1,0]Ч +P2.7CR[1], P2.6CR[0], P2.5CR[1], P2.4CR[1], P2.3CR[1], P2.2CR[0], P2.1CR[1], P2.0CR[1], P2CR = 0xBB; IO:P2.[7,6,5,4,3,2,1,0]Ч,10 +P2.7PC[0], P2.6PC[1], P2.5PC[0], P2.4PC[0], P2.3PC[0], P2.2PC[1], P2.1PC[1], P2.0PC[1], P2PCR = 0x46; ڲ:10ر + +P3.7[], P3.6[], P3.5[BAT_V_C], P3.4[XTAL1],P3.3[XTAL2],P3.2[], P3.1[], P3.0[BAT_V], IO״̬:P3.[5,4,3,...,0]Ч +P3.7ST[0], P3.6ST[0], P3.5ST[0], P3.4ST[1], P3.3ST[1], P3.2ST[0], P3.1ST[0], P3.0ST[0], P3 = 0x18; IO״̬:P3.[5,4,3,...,0]Ч +P3.7CR[1], P3.6CR[1], P3.5CR[1], P3.4CR[0], P3.3CR[0], P3.2CR[1], P3.1CR[1], P3.0CR[0], P3CR = 0xE6; IO:P3.[5,4,3,...,0]Ч,10 +P3.7PC[0], P3.6PC[0], P3.5PC[0], P3.4PC[1], P3.3PC[1], P3.2PC[0], P3.1PC[0], P3.0PC[0], P3PCR = 0x18; ڲ:10ر +*************************************************************************************************/ +void InitGPIO(void) +{ + + P0 = 0xF0; + P0CR = 0x8F; + P0PCR = 0xC0; + + P1 = 0x80; + P1CR = 0x7F; + P1PCR = 0x80; + + P2 = 0x46; + P2CR = 0xBB; + P2PCR = 0x46; + + P3 = 0x18; + P3CR = 0xE6; + P3PCR = 0x18; + +//UART0IO ڹӳʱעӦIOڵļĴֵ֤ܿʵ + #if (UART0_DEFINE == 1) + P0 |= 0xC0; + P0PCR |= 0x80; + #endif + + #if (UART0_DEFINE == 2) + P0 |= 0x40; + P2 |= 0x10; + P2PCR |= 0x10; + #endif + + #if (UART0_DEFINE == 3) + P0 |= 0x40; + P2 |= 0x20; + P2PCR |= 0x20; + #endif + + #if (UART0_DEFINE == 4) + P0 |= 0x41; + P0PCR |= 0x01; + #endif + + #if (UART0_DEFINE == 5) + P0 |= 0x42; + P0PCR |= 0x02; + #endif + + #if (UART0_DEFINE == 6) + P0 |= 0xC0; + P0PCR |= 0x40; + #endif + + #if (UART0_DEFINE == 7) + P0 |= 0x80; + P2 |= 0x10; + P2PCR |= 0x10; + #endif + + #if (UART0_DEFINE == 8) + P0 |= 0x80; + P2 |= 0x20; + P2PCR |= 0x20; + #endif + + #if (UART0_DEFINE == 9) + P0 |= 0x81; + P0PCR |= 0x01; + #endif + + #if (UART0_DEFINE == 10) + P0 |= 0x82; + P0PCR |= 0x02; + #endif + + #if (UART0_DEFINE == 11) + P0 |= 0x40; + P2 |= 0x10; + P0PCR |= 0x40; + #endif + + #if (UART0_DEFINE == 12) + P0 |= 0x80; + P2 |= 0x10; + P0PCR |= 0x80; + #endif + + #if (UART0_DEFINE == 13) + P2 |= 0x30; + P2PCR |= 0x20; + #endif + + #if (UART0_DEFINE == 14) + P0 |= 0x01; + P2 |= 0x10; + P0PCR |= 0x01; + #endif + + #if (UART0_DEFINE == 15) + P0 |= 0x02; + P2 |= 0x10; + P0PCR |= 0x02; + #endif + + #if (UART0_DEFINE == 16) + P0 |= 0x40; + P2 |= 0x20; + P0PCR |= 0x40; + #endif + + #if (UART0_DEFINE == 17) + P0 |= 0x80; + P2 |= 0x20; + P0PCR |= 0x80; + #endif + + #if (UART0_DEFINE == 18) + P2 |= 0x30; + P2PCR |= 0x10; + #endif + + #if (UART0_DEFINE == 19) + P0 |= 0x01; + P2 |= 0x20; + P0PCR |= 0x01; + #endif + + #if (UART0_DEFINE == 20) + P0 |= 0x02; + P2 |= 0x20; + P0PCR |= 0x02; + #endif + + #if (UART0_DEFINE == 21) + P0 |= 0x81; + P0PCR |= 0x80; + #endif + + #if (UART0_DEFINE == 22) + P0 |= 0x01; + P2 |= 0x10; + P2PCR |= 0x10; + #endif + + #if (UART0_DEFINE == 23) + P0 |= 0x01; + P2 |= 0x20; + P2PCR |= 0x20; + #endif + + #if (UART0_DEFINE == 24) + P0 |= 0x41; + P0PCR |= 0x40; + #endif + + #if (UART0_DEFINE == 25) + P0 |= 0x03; + P0PCR |= 0x02; + #endif + + #if (UART0_DEFINE == 26) + P0 |= 0x82; + P0PCR |= 0x80; + #endif + + #if (UART0_DEFINE == 27) + P0 |= 0x02; + P2 |= 0x10; + P2PCR |= 0x10; + #endif + + #if (UART0_DEFINE == 28) + P0 |= 0x02; + P2 |= 0x20; + P2PCR |= 0x20; + #endif + + #if (UART0_DEFINE == 29) + P0 |= 0x42; + P0PCR |= 0x40; + #endif + + #if (UART0_DEFINE == 30) + P0 |= 0x03; + P0PCR |= 0x01; + #endif + +//UART1IO + #if (UART1_DEFINE == 1) + P1 |= 0x03; + P1PCR |= 0x02; + #endif + + #if (UART1_DEFINE == 2) + P1 |= 0x01; + P3 |= 0x08; + P3PCR |= 0x08; + #endif + + #if (UART1_DEFINE == 3) + P1 |= 0x01; + P3 |= 0x10; + P3PCR |= 0x10; + #endif + + #if (UART1_DEFINE == 4) + P1 |= 0x01; + P2 |= 0x40; + P2PCR |= 0x40; + #endif + + #if (UART1_DEFINE == 5) + P1 |= 0x01; + P2 |= 0x80; + P2PCR |= 0x80; + #endif + + #if (UART1_DEFINE == 6) + P1 |= 0x03; + P1PCR |= 0x01; + #endif + + #if (UART1_DEFINE == 7) + P1 |= 0x02; + P3 |= 0x08; + P3PCR |= 0x08; + #endif + + #if (UART1_DEFINE == 8) + P1 |= 0x02; + P3 |= 0x10; + P3PCR |= 0x10; + #endif + + #if (UART1_DEFINE == 9) + P1 |= 0x02; + P2 |= 0x40; + P2PCR |= 0x40; + #endif + + #if (UART1_DEFINE == 10) + P1 |= 0x02; + P2 |= 0x80; + P2PCR |= 0x80; + #endif + + #if (UART1_DEFINE == 11) + P1 |= 0x01; + P3 |= 0x08; + P1PCR |= 0x01; + #endif + + #if (UART1_DEFINE == 12) + P1 |= 0x02; + P3 |= 0x08; + P1PCR |= 0x01; + #endif + + #if (UART1_DEFINE == 13) + P3 |= 0x18; + P3PCR |= 0x10; + #endif + + #if (UART1_DEFINE == 14) + P3 |= 0x08; + P2 |= 0x40; + P2PCR |= 0x40; + #endif + + #if (UART1_DEFINE == 15) + P3 |= 0x08; + P2 |= 0x80; + P2PCR |= 0x80; + #endif + + #if (UART1_DEFINE == 16) + P1 |= 0x01; + P3 |= 0x10; + P1PCR |= 0x01; + #endif + + #if (UART1_DEFINE == 17) + P1 |= 0x02; + P3 |= 0x10; + P1PCR |= 0x02; + #endif + + #if (UART1_DEFINE == 18) + P3 |= 0x18; + P3PCR |= 0x08; + #endif + + #if (UART1_DEFINE == 19) + P3 |= 0x10; + P2 |= 0x40; + P2PCR |= 0x40; + #endif + + #if (UART1_DEFINE == 20) + P3 |= 0x10; + P2 |= 0x80; + P2PCR |= 0x80; + #endif + + #if (UART1_DEFINE == 21) + P1 |= 0x01; + P2 |= 0x40; + P1PCR |= 0x01; + #endif + + #if (UART1_DEFINE == 22) + P1 |= 0x02; + P2 |= 0x40; + P1PCR |= 0x02; + #endif + + #if (UART1_DEFINE == 23) + P2 |= 0x40; + P3 |= 0x08; + P3PCR |= 0x08; + #endif + + #if (UART1_DEFINE == 24) + P3 |= 0x10; + P2 |= 0x40; + P3PCR |= 0x10; + #endif + + #if (UART1_DEFINE == 25) + P2 |= 0xC0; + P2PCR |= 0x80; + #endif + + #if (UART1_DEFINE == 26) + P1 |= 0x01; + P2 |= 0x80; + P1PCR |= 0x01; + #endif + + #if (UART1_DEFINE == 27) + P1 |= 0x02; + P2 |= 0x80; + P1PCR |= 0x02; + #endif + + #if (UART1_DEFINE == 28) + P2 |= 0x80; + P3 |= 0x08; + P3PCR |= 0x08; + #endif + + #if (UART1_DEFINE == 29) + P3 |= 0x10; + P2 |= 0x80; + P3PCR |= 0x10; + #endif + + #if (UART1_DEFINE == 30) + P2 |= 0xC0; + P2PCR |= 0x40; + #endif + +//UART2IOãǰdemo˴LEDʾܣִ֧ͨѶdemoΪʹuart2ڹ + #if (UART2_DEFINE == 1) + P2 |= 0x06; + P2PCR |= 0x04; + #endif +} + +/************************************************************************************************* +* : Initial +* : +* ֵ: +* : ʼ +*************************************************************************************************/ +void Initial(void) +{ + McuClockSet(MCU_CLK_24MHz); //ϵͳ24MHz + + InitGPIO(); //ʼGPIO + +// ClrRam(); //MCU RAMXDATAIDATADATA + + SysParaInit(); //ʼϵͳ + + InitVar(); //ʼ + + McuTimer3Set(TIM_CLK_128KHz, 5); //ʼTimer128KHzþΪ5mS + + #if (UART0_DEFINE != 0) + UART0Init(); //ʼUART0ģ飬9600Bps + #endif + + #if (UART1_DEFINE != 0) + UART1Init(); //ʼUART0ģ飬9600Bps + #endif + + #if (UART2_DEFINE != 0) + UART2Init(); //ʼUART0ģ飬9600Bps + #endif + + TwiInit(); //ʼTWIģ飬ͨѶƵΪ100Khz + + McuPWM2Set(4000, 100); //ʼPWM2ռձ100% + + AFEInitReg(); //ʼAFEĴ + if(!AFEInit()) //ʼAFEMCUAFEV33ģMCUʱAFEѾ׼ͨѶ + { + bAfeErr = 1; + } + AFEClrFlg(); //AFE״̬Ĵ + + if(bEnEEPRomBK) + { + if(!E2PRomInit()) + { + bE2PRErr = 1; //EEPROMģ + } + + if(!RTCInitTime(&RTC)) + { + bRTCErr = 1; //RTCģ + } + } + + InitIRQ(); //ʼж +} diff --git a/code_app/InterruptApp.c b/code_app/InterruptApp.c new file mode 100644 index 0000000..99a44a9 --- /dev/null +++ b/code_app/InterruptApp.c @@ -0,0 +1,70 @@ +/******************************************************************************** +Copyright (C), Sinowealth Electronic. Ltd. +Author: Sino +Version: V0.0 +Date: 2020/04/26 +History: + V2.0 2020/04/26 Preliminary +********************************************************************************/ +#include "Main.h" + + +BOOL bTimer5msFlg; +BOOL bTimer50msFlg; +BOOL bTimer1sFlg; +U8 ucTimer50ms; +U8 ucTimer1s; + +/************************************************************************************************* +* : InterruptINT4App +* : IntSourceⲿж4жԴ +* ֵ: +* : ⲿжϴALARMжϺͰжϣڵ͹Ļϵͳ +*************************************************************************************************/ +void InterruptINT4App(U8 IntSource) +{ + if(IntSource == INT4_EXS45) //Alarm + { + if(bPDFlg || bSleepFlg) + { + McuClockSet(MCU_CLK_24MHz); + bWakeupFlg = 1; + } + } + else if(IntSource == INT4_EXS46) //Key wakeup + { + if(bPDFlg || bSleepFlg) + { + McuClockSet(MCU_CLK_24MHz); + bWakeupFlg = 1; + } + } +} + + +/************************************************************************************************* +* : InterruptTimer3App +* : +* ֵ: +* : ʱΪ5mS5mS50mS1S־ +*************************************************************************************************/ +void InterruptTimer3App(void) +{ + + bTimer5msFlg = 1; //5ms־ΪԤ־ + + if(++ucTimer50ms >= TIME_5MS_50MS) + { + ucTimer50ms = 0; + bTimer50msFlg = 1; + } + + if(++ucTimer1s >= TIME_5MS_1S) + { + ucTimer1s = 0; + bTimer1sFlg = 1; + } + + KeyScan(); //ɨ谴 +} + diff --git a/code_app/KeyApp.c b/code_app/KeyApp.c new file mode 100644 index 0000000..c6e5bf0 --- /dev/null +++ b/code_app/KeyApp.c @@ -0,0 +1,101 @@ +/******************************************************************************** +Copyright (C), Sinowealth Electronic. Ltd. +Author: Sino +Version: V0.0 +Date: 2020/04/26 +History: + V2.0 2020/04/26 Preliminary +********************************************************************************/ +#include "Main.h" + + +U8 xdata ucDsgingSpeed; + +/************************************************************************************************* +* : KeySwitchSpeed +* : +* ֵ: +* : ٣Ϊ +*************************************************************************************************/ +void KeySwitchSpeed(void) +{ + bSlowDischarge = 0; + bMidDischarge = 0; + bFastDischarge = 0; + if(bDSGING) + { + if(ucDsgingSpeed == 0) + { + ucDsgingSpeed = 1; + bMidDischarge = 1; + McuPWM2Set(E2uiDSG1PWMFreq ,E2ucDSG1PWMRatioH); + McuPWM2En(); + } + else if(ucDsgingSpeed == 1) + { + ucDsgingSpeed = 2; + bFastDischarge = 1; + McuPWM2Set(E2uiDSG1PWMFreq, 100); + McuPWM2En(); + } + else + { + ucDsgingSpeed = 0; + bSlowDischarge = 1; + McuPWM2Set(E2uiDSG1PWMFreq ,E2ucDSG1PWMRatioL); + McuPWM2En(); + } + } + else + { + bSlowDischarge = 0; + bMidDischarge = 0; + bFastDischarge = 0; + } +} + + +/************************************************************************************************* +* : KeyProcess +* : +* ֵ: +* : ⵽Ч󣬴Ӧ +*************************************************************************************************/ +void KeyProcess(void) +{ + if(bKeyFlg) + { + bKeyFlg = 0; //ͬһһֱ£ʱ㹻ȴ󴥷Ŀǰûõ״̬ + switch(ucKeyValue) + { + case KEY_ON_S: + KeySwitchSpeed(); + break; + + case KEY_LED_S: + bLedDisFlg = 1; + ucLedTimeCnt = 0; + break; + + case KEY_LED_L: //LEDPDģʽ + bPDFlg = 1; + break; + + case KEY_ON_L: //Ѱ2SԴ/ر + bLedDisBleFlg = ~bLedDisBleFlg; + if(bLedDisBleFlg) + { + BlueToothPowerEn(); + } + else + { + BlueToothPowerDis(); + } + break; + + default: + break; + } + } +} + diff --git a/code_app/Led.c b/code_app/Led.c new file mode 100644 index 0000000..f2a1cee --- /dev/null +++ b/code_app/Led.c @@ -0,0 +1,155 @@ +/******************************************************************************** +Copyright (C), Sinowealth Electronic. Ltd. +Author: Sino +Version: V0.0 +Date: 2020/04/26 +History: + V2.0 2020/04/26 Preliminary +********************************************************************************/ +#include "Main.h" + + +BOOL bLedDisFlg; //LEDʾ־ +BOOL bLedDisBleFlg; //ʱʾ +U8 xdata ucLedTimeCnt; +U8 xdata ucLedChgFlickCnt; +U8 xdata ucLedBleFlickCnt; + +/************************************************************************************************* +* : LedGetDisNum +* : Rsocʣٷֱ +* ֵ: +* : ʣٷֱȣ㵱ǰʾLED +*************************************************************************************************/ +U8 LedGetDisNum(U16 Rsoc) +{ + if(Rsoc > 80) + { + return 5; + } + else if(Rsoc > 60) + { + return 4; + } + else if(Rsoc > 40) + { + return 3; + } + else if(Rsoc > 20) + { + return 2; + } + else if(Rsoc > 0) + { + return 1; + } + else + { + return 0; + } +} + + +/************************************************************************************************* +* : LedAutoOff +* : +* ֵ: +* : ʾLED5S󣬹رLEDʾ +*************************************************************************************************/ +void LedAutoOff(void) +{ + if(bLedDisFlg) + { + if(++ucLedTimeCnt >= 100) //100*50mS + { + ucLedTimeCnt = 0; + bLedDisFlg = 0; + } + } +} + +/************************************************************************************************* +* : LedDisplay +* : +* ֵ: +* : ʾLED + ʱLEDָʾ500mS˸ + ʱָʾ250mS˸ + ʾʱLED5sԶϨ +*************************************************************************************************/ +void LedDisplay(void) +{ + U8 LedDisNum; + + if(bCHGING) //ʾ״̬ + { + if(++ucLedChgFlickCnt >= 10) //10*50mS + { + ucLedChgFlickCnt = 0; + IO_LED_CHARGE ^= 1; + } + } + else + { + IO_LED_CHARGE = 0; + } + + if(bLedDisBleFlg) //ʾ״̬ + { + if(++ucLedBleFlickCnt >= 5) //5*50mS + { + ucLedBleFlickCnt = 0; +// IO_LED_BLE ^= 1; + } + } + else + { +// IO_LED_BLE = 0; + } + + if(bLedDisFlg) //ʾϢ + { + LedDisNum = LedGetDisNum(Info.uiRSOC); + if(LedDisNum == 0) + { +// LEDAllOff(); + } + if(LedDisNum == 1) + { +// LED1On(); + } + else if(LedDisNum == 2) + { +// LED1On(); + LED2On(); + } + else if(LedDisNum == 3) + { +// LED1On(); + LED2On(); + LED3On(); + } + else if(LedDisNum == 4) + { +// LED1On(); + LED2On(); + LED3On(); + LED4On(); + } + else if(LedDisNum == 5) + { +// LEDAllOn(); + } + } + else + { +// LEDAllOff(); + } + + LedAutoOff(); //ʱ5sرLEDʾ +} + + + + + diff --git a/code_app/LowPower.c b/code_app/LowPower.c new file mode 100644 index 0000000..72831eb --- /dev/null +++ b/code_app/LowPower.c @@ -0,0 +1,225 @@ +/******************************************************************************** +Copyright (C), Sinowealth Electronic. Ltd. +Author: Sino +Version: V0.0 +Date: 2020/04/26 +History: + V2.0 2020/04/26 Preliminary +********************************************************************************/ +#include "Main.h" + + +BOOL bSleepFlg; //ϵͳIDLE־ +BOOL bPDFlg; +BOOL bWakeupFlg; +BOOL bPCEnterPDFlg; //PC֪ͨϵͳSLEEP־ +U8 xdata ucSleepTimerCnt; +U8 xdata ucPDTimerCnt; +U8 xdata ucResetFlag; + +/************************************************************************************************* +* : WakeUpProcess +* : +* ֵ: +* : SleepģʽѣͨͰ +*************************************************************************************************/ +void WakeUpProcess(void) +{ + if(bWakeupFlg) + { + bWakeupFlg = 0; + if(bSleepFlg) + { + McuClockSet(MCU_CLK_24MHz); + IrqEn(); + + bSleepFlg = 0; + ucSleepTimerCnt = 0; + Delay1ms(1); + + #if (UART0_DEFINE != 0) + IrqUart0En(); //uart0ж + #endif + IrqTimer3En(); //Timer3ж + McuTwiEn(); //MCU Twiģ + + AfeAlarmDis(AFE_ALARM_SC | AFE_ALARM_OV | AFE_ALARM_CD); + AfeTempADCEn(); //AFE¶Ȳɼ + AfeWDTEn(); //AFE WDT + } + ucSleepTimerCnt = 0; + ucPDTimerCnt = 0; + ucUart0TimeoutCnt = 0; + ucUart1TimeoutCnt = 0; + ucUart2TimeoutCnt = 0; + } +} + + +/************************************************************************************************* +* : SystemIntoPD +* : +* ֵ: +* : ϵͳģʽ +*************************************************************************************************/ +void SystemIntoPD(void) +{ + while(1) + { + McuWDTClear(); //Ź + + IrqDis(); //رжԴ +// LEDAllOff(); //رLEDʾ + BlueToothPowerDis(); //رģ + AFEMosCtl(0); //رMOS + + AFEEnterPD(); //ر3.3VԴ + } +} + + +/************************************************************************************************* +* : SystemIntoSleep +* : +* ֵ: +* : ͹ĴIDLEPD +*************************************************************************************************/ +void SystemIntoSleep(void) +{ +// LEDAllOff(); //رLEDʾ + BlueToothPowerDis(); //رģ + bLedDisBleFlg = 0; + + AfeWDTDis(); //رAFE WDT + AfeTempADCDis(); //رAFE¶Ȳɼ + AfeAlarmEn(AFE_ALARM_SC | AFE_ALARM_OV | AFE_ALARM_CD); //SC,OV,CDAlarm + McuTwiDis(); //رMCU Twiģ齵͹ + McuPWM2Dis(); //رMCU PWMģ + if(bDSGMOS) //DSGʱֱߵƽ + { + IO_DSG_PWM = 1; + } + else + { + IO_DSG_PWM = 0; + } + Delay1ms(1); + + IrqDis(); //رжԴ + #if (UART0_DEFINE != 0) + IrqUart0Dis(); + #endif + #if (UART1_DEFINE != 0) + IrqUart1Dis(); + #endif + #if (UART2_DEFINE != 0) + IrqUart2Dis(); + #endif + IrqTimer3Dis(); //رTimer3ж + IrqINT4FlgClr(); //ⲿж4־ + McuClockSet(MCU_CLK_128KHz); //ϵͳʱΪ128KHz + IrqEn(); + + McuIntoPD(); //MCUPDͨⲿALARMѡϵͳsleepûйDSG MOSΪСоĿգǣAFEڲԤFUSEVDDѹ4VʱرLDOʹV33ϵ硣 +} + + + + +/************************************************************************************************* +* : LowPowerCheck +* : +* ֵ: +* : ǷIDLEPD +*************************************************************************************************/ +void LowPowerCheck(void) +{ + if(bPCEnterPDFlg && (bUart0SndAckFlg||bUart1SndAckFlg||bUart2SndAckFlg)) //λǿƽPD + { + bPCEnterPDFlg = 0; + bPDFlg = 1; + } + else if(bCTO) //ߺʱPD + { + if(++ucPDTimerCnt >= E2ucLowPowerDeley) + { + ucPDTimerCnt = E2ucLowPowerDeley; + bPDFlg = 1; + } + } + else if(!bLedDisFlg) //LEDʾرպʼ͹ + { + if(!bCHGING && !bDSGING) //dzǷ״̬ + { + if(bUV) //ǷѹʱPD + { + if(++ucPDTimerCnt >= E2ucLowPowerDeley) + { + ucPDTimerCnt = E2ucLowPowerDeley; + bPDFlg = 1; + } + } + else //δǷѹδʱIDLE + { + ucPDTimerCnt = 0; + if(!(bOTC | bUTC | bOV | bOCC | bOTD | bUTD | bUV | bOCD1 | bOCD2 | bAFE_SC | bLedDisBleFlg)) + { + if(++ucSleepTimerCnt >= E2ucLowPowerDeley) + { + ucSleepTimerCnt = E2ucLowPowerDeley; + bSleepFlg = 1; + } + } + else + { + ucSleepTimerCnt = 0; + } + } + } + else + { + ucSleepTimerCnt = 0; + ucPDTimerCnt = 0; + } + } + else + { + ucSleepTimerCnt = 0; + ucPDTimerCnt = 0; + } +} + + +/************************************************************************************************* +* : LowPowerProcess +* : +* ֵ: +* : ͹ĴIDLEPD +*************************************************************************************************/ +void LowPowerProcess(void) +{ + if(!bSleepFlg && !bPDFlg) + { + IrqDis(); + if(!(bKeyFlg | bCaliFlg | bMcuFlashWrFlg | bWakeupFlg | bISPFlg | bTimer50msFlg | bTimer1sFlg) && (ucResetFlag!=0x12)) + { + IrqEn(); + McuIntoIdle(); + } + IrqEn(); + } + else if(bPDFlg) + { + bMcuFlashWrFlg = 1; + McuFlashProcess(); + SystemIntoPD(); + } + else if(bSleepFlg) + { + SystemIntoSleep(); + } + + WakeUpProcess(); //ϵͳӵ͹Ļ +} + + diff --git a/code_app/Main.c b/code_app/Main.c new file mode 100644 index 0000000..cce9d0a --- /dev/null +++ b/code_app/Main.c @@ -0,0 +1,137 @@ +/******************************************************************************** +Copyright (C), Sinowealth Electronic. Ltd. +Author: Sino +Version: V0.0 +Date: 2020/04/26 +History: + V2.0 2020/04/26 Preliminary +********************************************************************************/ +#include "Main.h" +#include "stdio.h" + +// ַ +char putchar(char c) +{ + REN = 0; // + IO_485_DE = 1; // 485 + SBUF = c; // + while(!TI); + IO_485_DE = 0; // ر485 + TI = 0; + return c; +} + +/************************************************************************************************* +* : main +* : +* ֵ: +* : ʼ󣬳While(1)ѭ + 1.ͨʱģִ + 2.ͨжԴӦģִ +*************************************************************************************************/ +void main(void) +{ + Initial(); //ʼϵͳ + + printf("SystemClock: 8MHz"); + + while(1) + { + //KeyProcess(); // + + if(bTimer50msFlg) //50mSAFEصݲɼ㡢 + { + McuWDTClear(); //ʱ幷 + + bTimer50msFlg = 0; + AFEInfoProcess(); //ȡAFEϢѹ¶ȡ + + BalanceProcess(); //ƽ⼰ߴ + + ProtectProcess(); //ѹ¶ȱ + + PorSelfTest(); //һϵ籣⣨ʱ϶̣ݶ50mSһμ⣩ + + LoadCheck(); //⸺Ƿͷ + + ChgerCheck(); //Ƿͷ + + MosCtrl(); //MOS״̬⼰ + + ProtectOCRecover(); //Իָ + + //LedDisplay(); //LEDʾ + + #if (UART0_DEFINE != 0) + Uart0Check(); //UART0Ƿλָ + #endif + + #if (UART1_DEFINE != 0) + Uart1Check(); //UART1Ƿλָ + #endif + + #if (UART2_DEFINE != 0) + Uart2Check(); //UART2Ƿλָ + #endif + } + + if(bTimer1sFlg) //1sʱ + { + IO_LED = ~IO_LED; //LED + + printf("\r\n"); + printf("BAT0:%.2f mV\r\n", AFE.uiCell[0]*1.0*CALIVOL/E2uiVPackGain); + printf("BAT1:%.2f mV\r\n", AFE.uiCell[1]*1.0*CALIVOL/E2uiVPackGain); + printf("BAT2:%.2f mV\r\n", AFE.uiCell[2]*1.0*CALIVOL/E2uiVPackGain); + printf("BAT3:%.2f mV\r\n", AFE.uiCell[3]*1.0*CALIVOL/E2uiVPackGain); + printf("BAT4:%.2f mV\r\n", AFE.uiCell[4]*1.0*CALIVOL/E2uiVPackGain); + printf("TOTAL:%.2f mV\r\n",(AFE.uiCell[1]+AFE.uiCell[2]+AFE.uiCell[3]+AFE.uiCell[4])*1.0*CALIVOL/E2uiVPackGain); + printf("\r\n"); + printf("TEMP0:%.2f C\r\n", AFE.uiICTempe[0]*17.0/100.0-270); +// printf("TEMP1:%.2f C\r\n", (CalcuTemp(AFE.uiTS[0]) + E2siTS0Offset)*1.0); + printf("TEMP1.0:%.2f C\r\n", AFE.uiTS[0]*1.0); + printf("TEMP1.1:%.2f C\r\n", AFE.uiTS[1]*1.0); + + bTimer1sFlg = 0; + GasGaugeManage(); //Calculate the battery charge and discharge capacity + + AFERamCheck(); //AFEĴǷд + + AFETwiCheck(); //AFE5SͨѶ + E2PRomTwiCheck(); //EEPROM5SͨѶ + RTCTwiCheck(); //RTC5SͨѶ + + if(!RamCheckProcess()) //Ƿд + { + SysParaInit(); + } + + McuFlashWrWaitCheck(); //ǷҪ²MCU Flash + + E2PRomBKCheck(); //EEPROM + + //LowPowerCheck(); //͹ļ + + + } + + SystemResetProcess(); //ϵͳλ + + ISPProcess(); // + + CaliProcess(); //У׼ + + McuFlashProcess(); //ݲMCU Flash + + E2PRomBKProcess(); //EEPROM + + //LowPowerProcess(); //͹Ĵ + + Info.uiPackStatus = uiPackStatus; //PACKBatteryϢͨUART + Info.uiBatStatus = uiBatStatus; + + } +} + + + \ No newline at end of file diff --git a/code_app/Memory.c b/code_app/Memory.c new file mode 100644 index 0000000..fb26bdf --- /dev/null +++ b/code_app/Memory.c @@ -0,0 +1,190 @@ +/******************************************************************************** +Copyright (C), Sinowealth Electronic. Ltd. +Author: Sino +Version: V0.0 +Date: 2020/04/26 +History: + V2.0 2020/04/26 Preliminary +********************************************************************************/ +#include "Main.h" + + +//*****************************DATA MEMORY START***************************// +U8 idata STACK[0x100-STACK_ADDR] _at_ STACK_ADDR; //ջ + +//*****************************BIT MEMORY START***************************// +U16 bdata uiPackConfig; +sbit bCellNum1 = uiPackConfig^8; +sbit bCellNum2 = uiPackConfig^9; +sbit bCellNum3 = uiPackConfig^10; +sbit bLEDNum0 = uiPackConfig^11; //Ԥδʹ +sbit bLEDNum1 = uiPackConfig^12; +sbit bTempNum = uiPackConfig^13; +sbit bChgerLock = uiPackConfig^14; //Ƿֳ֧ +sbit bLoadLock = uiPackConfig^15; //Ƿָ֧ + +sbit bSC_EN = uiPackConfig^0; //00101011 +sbit bOV_EN = uiPackConfig^1; +sbit bOCRC_EN = uiPackConfig^2; //auto reset or nor when OCC +sbit bBAL_EN = uiPackConfig^3; +sbit bPF_EN = uiPackConfig^4; //disable +sbit bCTO_EN = uiPackConfig^5; //cell on +sbit bOCPM = uiPackConfig^6; //disable +sbit bEnEEPRomBK = uiPackConfig^7; + +U16 bdata uiPackStatus; +sbit bCHGMOS = uiPackStatus^8; +sbit bDSGMOS = uiPackStatus^9; +sbit bCHGING = uiPackStatus^10; +sbit bDSGING = uiPackStatus^11; +sbit bSlowDischarge = uiPackStatus^12; +sbit bMidDischarge = uiPackStatus^13; +sbit bFastDischarge = uiPackStatus^14; + +sbit bFC = uiPackStatus^0; +sbit bFD = uiPackStatus^1; +sbit bVDQ = uiPackStatus^2; + + +U16 bdata uiBatStatus; +sbit bOV = uiBatStatus^8; +sbit bUV = uiBatStatus^9; +sbit bOCC = uiBatStatus^10; +sbit bOCD1 = uiBatStatus^11; +sbit bOCD2 = uiBatStatus^12; + +sbit bOTC = uiBatStatus^0; +sbit bOTD = uiBatStatus^1; +sbit bUTC = uiBatStatus^2; +sbit bUTD = uiBatStatus^3; +sbit bAFE_OV = uiBatStatus^4; +sbit bAFE_SC = uiBatStatus^5; +sbit bCTO = uiBatStatus^6; + +U8 bdata ucAFEStatus; +sbit bAfeChger = ucAFEStatus^0; +sbit bAfeLoad = ucAFEStatus^1; +sbit bAfeChging = ucAFEStatus^2; +sbit bAfeDsging = ucAFEStatus^3; +sbit bAfeCHG = ucAFEStatus^4; +sbit bAfeDSG = ucAFEStatus^5; + +/**************************************************************************************/ +//DataFlashַ +/**************************************************************************************/ +//ϵͳϢʼ SubClassID=0x00 langth=48 +U16 xdata E2uiPackConfigMap _at_ SYS_PARA_MAP_ADDR; +U16 xdata E2uiVOC[10] _at_ SYS_PARA_MAP_ADDR+2; +U32 xdata E2ulDesignCapacity _at_ SYS_PARA_MAP_ADDR+22; +U32 xdata E2ulFCC _at_ SYS_PARA_MAP_ADDR+26; +U32 xdata E2ulCycleThreshold _at_ SYS_PARA_MAP_ADDR+30; +U16 xdata E2uiCycleCount _at_ SYS_PARA_MAP_ADDR+34; +U16 xdata E2uiLearnLowTempe _at_ SYS_PARA_MAP_ADDR+36; +U16 xdata E2Reserve _at_ SYS_PARA_MAP_ADDR+38;//λӦԤռλ +S16 xdata E2siDfilterCur _at_ SYS_PARA_MAP_ADDR+40; +U8 xdata E2ucLowPowerDeley _at_ SYS_PARA_MAP_ADDR+42; +U8 xdata E2ucChgBKDelay _at_ SYS_PARA_MAP_ADDR+43; +S16 xdata E2siChgBKCur _at_ SYS_PARA_MAP_ADDR+44; +U8 xdata E2ucRTCBKDelay _at_ SYS_PARA_MAP_ADDR+46; +U8 xdata E2ucRamCheckFlg0 _at_ SYS_PARA_MAP_ADDR+47; //ucRamCheckFlg + SubClassID + +//ûԶʼ SubClassID=0x01 langth=50 +U16 xdata E2uiSWVersion _at_ SYSINFO_MAP_ADDR; +U16 xdata E2uiHWVersion _at_ SYSINFO_MAP_ADDR+2; +U8 xdata E2ucID _at_ SYSINFO_MAP_ADDR+4; +U8 xdata E2ucMNFName[12] _at_ SYSINFO_MAP_ADDR+5; +U32 xdata E2ulMNFDate _at_ SYSINFO_MAP_ADDR+17; +U16 xdata E2uiSerialNum _at_ SYSINFO_MAP_ADDR+21; +U8 xdata E2ucDeviceName[12] _at_ SYSINFO_MAP_ADDR+23; +U8 xdata E2ucDeviceChem[12] _at_ SYSINFO_MAP_ADDR+35; +U16 xdata E2uiChemID _at_ SYSINFO_MAP_ADDR+47; +U8 xdata E2ucRamCheckFlg1 _at_ SYSINFO_MAP_ADDR+49; + +//ʼ SubClassID=0x02 langth=18 +U16 xdata E2uiOVvol _at_ CHG_PARA_MAP_ADDR; +U16 xdata E2uiOVRvol _at_ CHG_PARA_MAP_ADDR+2; +U8 xdata E2ucOVDelay _at_ CHG_PARA_MAP_ADDR+4; +U8 xdata E2ucOVRDelay _at_ CHG_PARA_MAP_ADDR+5; +U16 xdata E2uiChgEndVol _at_ CHG_PARA_MAP_ADDR+6; +S16 xdata E2siChgEndCurr _at_ CHG_PARA_MAP_ADDR+8; +U8 xdata E2ucChgEndDelay _at_ CHG_PARA_MAP_ADDR+10; +S32 xdata E2slOCCCurrent _at_ CHG_PARA_MAP_ADDR+11; +U8 xdata E2ucOCCDelay _at_ CHG_PARA_MAP_ADDR+15; +U8 xdata E2ucOCCRDelay _at_ CHG_PARA_MAP_ADDR+16; +U8 xdata E2ucRamCheckFlg2 _at_ CHG_PARA_MAP_ADDR+17; + +//ŵʼ SubClassID=0x03 langth=21 +U16 xdata E2uiUVvol _at_ DSG_PARA_MAP_ADDR; +U16 xdata E2uiUVRvol _at_ DSG_PARA_MAP_ADDR+2; +U8 xdata E2ucUVDelay _at_ DSG_PARA_MAP_ADDR+4; //all the delay unit is 500mS +U8 xdata E2ucUVRDelay _at_ DSG_PARA_MAP_ADDR+5; +U16 xdata E2uiDsgEndVol _at_ DSG_PARA_MAP_ADDR+6; +U8 xdata E2ucDsgEndDelay _at_ DSG_PARA_MAP_ADDR+8; +S32 xdata E2slOCD1Current _at_ DSG_PARA_MAP_ADDR+9; +U8 xdata E2ucOCD1Delay _at_ DSG_PARA_MAP_ADDR+13; +S32 xdata E2slOCD2Current _at_ DSG_PARA_MAP_ADDR+14; +U8 xdata E2ucOCD2Delay _at_ DSG_PARA_MAP_ADDR+18; +U8 xdata E2ucLoadRDelay _at_ DSG_PARA_MAP_ADDR+19; +U8 xdata E2ucRamCheckFlg3 _at_ DSG_PARA_MAP_ADDR+20; + +//Ԥʼ SubClassID=0x04 +//Reserved + +//ŵPWMʼ SubClassID=0x05 langth=5 +U16 xdata E2uiDSG1PWMFreq _at_ DSG_PWM_PARA_MAP_ADDR; +U8 xdata E2ucDSG1PWMRatioL _at_ DSG_PWM_PARA_MAP_ADDR+2; +U8 xdata E2ucDSG1PWMRatioH _at_ DSG_PWM_PARA_MAP_ADDR+3; +U8 xdata E2ucRamCheckFlg5 _at_ DSG_PWM_PARA_MAP_ADDR+4; + +//¶ȱʼ SubClassID=0x06 langth=11 +U16 xdata E2uiTempOTC _at_ CHG_TEMP_PARA_MAP_ADDR; +U16 xdata E2uiTempOTCR _at_ CHG_TEMP_PARA_MAP_ADDR+2; +U16 xdata E2uiTempUTC _at_ CHG_TEMP_PARA_MAP_ADDR+4; +U16 xdata E2uiTempUTCR _at_ CHG_TEMP_PARA_MAP_ADDR+6; +U8 xdata E2ucTempDelay _at_ CHG_TEMP_PARA_MAP_ADDR+8; +U8 xdata E2ucTempRDelay _at_ CHG_TEMP_PARA_MAP_ADDR+9; +U8 xdata E2ucRamCheckFlg6 _at_ CHG_TEMP_PARA_MAP_ADDR+10; + +//ŵ¶ȱʼ SubClassID=0x07 langth=9 +U16 xdata E2uiTempOTD _at_ DSG_TEMP_PARA_MAP_ADDR; +U16 xdata E2uiTempOTDR _at_ DSG_TEMP_PARA_MAP_ADDR+2; +U16 xdata E2uiTempUTD _at_ DSG_TEMP_PARA_MAP_ADDR+4; +U16 xdata E2uiTempUTDR _at_ DSG_TEMP_PARA_MAP_ADDR+6; +U8 xdata E2ucRamCheckFlg7 _at_ DSG_TEMP_PARA_MAP_ADDR+8; + +//ƽʼ SubClassID=0x08 langth=8 +U16 xdata E2uiBalanceVol _at_ BAL_PARA_MAP_ADDR; +U16 xdata E2uiBalanceVolDiff _at_ BAL_PARA_MAP_ADDR+2; +S16 xdata E2siBalCurrent _at_ BAL_PARA_MAP_ADDR+4; +U8 xdata E2ucBalanceDelay _at_ BAL_PARA_MAP_ADDR+6; +U8 xdata E2ucRamCheckFlg8 _at_ BAL_PARA_MAP_ADDR+7; + +//ͳƲʼ SubClassID=0x09 length=17 +U8 xdata E2ucSOC _at_ SOC_PARA_MAP_ADDR; +U32 xdata E2ulDfRC _at_ SOC_PARA_MAP_ADDR+1; +S32 xdata E2slDsgEndCurr _at_ SOC_PARA_MAP_ADDR+5; //ŵֹ +U32 xdata E2ulCycleThresholdCount _at_ SOC_PARA_MAP_ADDR+9; +U16 xdata E2uiLastCCount _at_ SOC_PARA_MAP_ADDR+13; +U8 xdata E2ucDsgEndFlg _at_ SOC_PARA_MAP_ADDR+15; //ŵ־ +U8 xdata E2ucRamCheckFlg9 _at_ SOC_PARA_MAP_ADDR+16; + + +//AFEʼ SubClassID=0x0A langth=4 +U8 xdata E2ucAFEProtectConfig _at_ AFE_PARA_MAP_ADDR; +U16 xdata E2uiAFEOVvol _at_ AFE_PARA_MAP_ADDR+1; +U8 xdata E2ucRamCheckFlgA _at_ AFE_PARA_MAP_ADDR+3; + +//У׼ʼ SubClassID=0x0B langth=12 +U16 xdata E2uiVPackGain _at_ CALI_PARA_MAP_ADDR; +S16 xdata E2siCadcGain _at_ CALI_PARA_MAP_ADDR+2; +S16 xdata E2siCadcOffset _at_ CALI_PARA_MAP_ADDR+4; +S16 xdata E2siTS0Offset _at_ CALI_PARA_MAP_ADDR+6; +S16 xdata E2siTS1Offset _at_ CALI_PARA_MAP_ADDR+8; +U8 xdata E2ucCalibrated _at_ CALI_PARA_MAP_ADDR+10; +U8 xdata E2ucRamCheckFlgB _at_ CALI_PARA_MAP_ADDR+11; + +U8 xdata Reserved[RESERVED_DATA_LEN] _at_ RESERVED_DATA_MAP_ADDR; + +//DataflashCheck +U16 xdata E2uiCheckFlag _at_ XRAM_MAP_ADDR+510; + diff --git a/code_app/UartApp.c b/code_app/UartApp.c new file mode 100644 index 0000000..877a237 --- /dev/null +++ b/code_app/UartApp.c @@ -0,0 +1,2127 @@ +/******************************************************************************** +Copyright (C), Sinowealth Electronic. Ltd. +Author: Sino +Version: V0.0 +Date: 2020/04/26 +History: + V2.0 2020/04/26 Preliminary +********************************************************************************/ +#include "Main.h" + + +BOOL bISPFlg; //ISP־ISP +BOOL bUart0ReadFlg; +BOOL bUart0WriteFlg; +BOOL bUart0SndAckFlg; //UARTѾACK + +BOOL bUart1ReadFlg; +BOOL bUart1WriteFlg; +BOOL bUart1SndAckFlg; //UARTѾACK + +BOOL bUart2ReadFlg; +BOOL bUart2WriteFlg; +BOOL bUart2SndAckFlg; //UARTѾACK + +U8 xdata ucSubClassID; +U8 xdata ucUart0Buf[150] _at_ 0x400; //UARTݵBUF +U8 xdata ucUart0BufPT; //UARTָ +U8 xdata ucUart0SndLength; //UARTݳ +U8 xdata ucUart0TimeoutCnt; //UARTͨѶʱ + +U8 xdata ucUart1Buf[150] _at_ 0x4a0; //UARTݵBUF +U8 xdata ucUart1BufPT; //UARTָ +U8 xdata ucUart1SndLength; //UARTݳ +U8 xdata ucUart1TimeoutCnt; //UARTͨѶʱ + +U8 xdata ucUart2Buf[150] _at_ 0x540; //UARTݵBUF +U8 xdata ucUart2BufPT; //UARTָ +U8 xdata ucUart2SndLength; //UARTݳ +U8 xdata ucUart2TimeoutCnt; //UARTͨѶʱ + +U16 xdata uiReceCheckSum; //֡ͷжȷ +U8 xdata ucUartErrCode; + + +/******************************************************************************* +Function: Page1WrRdFuncTable() +Description: +Input: NULL +Output: NULL +Others: NULL +*******************************************************************************/ +U16 code Page1WrRdFuncTable[18]= +{ + SYS_PARA_MAP_ADDR, //SubClassID 0x00 + SYSINFO_MAP_ADDR, //0x01 + CHG_PARA_MAP_ADDR, //0x02 + DSG_PARA_MAP_ADDR, //0x03 + 0x00, //0x04 + DSG_PWM_PARA_MAP_ADDR, //0x05 + CHG_TEMP_PARA_MAP_ADDR, //0x06 + DSG_TEMP_PARA_MAP_ADDR, //0x07 + BAL_PARA_MAP_ADDR, //0x08 + SOC_PARA_MAP_ADDR, //0x09 + AFE_PARA_MAP_ADDR, //0x0A + CALI_PARA_MAP_ADDR, //0x0B + DataflashCheck_Map_ADDR, //0x0C + 0x00, //0x0D + 0x00, //0x0E + 0x00, //0x0F + 0x00, //0x10 + 0x00, //0x11 +}; + +/******************************************************************************* +Function: Page2WrRdFuncTable() +Description: +Input: NULL +Output: NULL +Others: NULL +*******************************************************************************/ +U16 code Page2WrRdFuncTable[18]= +{ + SYS_PARA_MAP_ADDR+32, //SubClassID 0x00 + SYSINFO_MAP_ADDR+32, //0x01 + CHG_PARA_MAP_ADDR+32, //0x02 + DSG_PARA_MAP_ADDR+32, //0x03 + 0x00, //0x04 + DSG_PWM_PARA_MAP_ADDR+32, //0x05 + CHG_TEMP_PARA_MAP_ADDR+32, //0x06 + DSG_TEMP_PARA_MAP_ADDR+32, //0x07 + BAL_PARA_MAP_ADDR+32, //0x08 + SOC_PARA_MAP_ADDR+32, //0x09 + AFE_PARA_MAP_ADDR+32, //0x0A + CALI_PARA_MAP_ADDR+32, //0x0B + DataflashCheck_Map_ADDR+32, //0x0C + 0x00, //0x0D + 0x00, //0x0E + 0x00, //0x0F + 0x00, //0x10 + 0x00, //0x11 +}; + +#if (UART0_DEFINE != 0) +/************************************************************************************************* +* : Uart0Handshake +* : +* ֵ: +* : UART0ͨѶЭ +*************************************************************************************************/ +void Uart0Handshake(void) +{ + if(ucUart0Buf[2] == 0x00) //Testing equipment is properly + { + Uart0SendAck(); + } + else + { + Uart0SendNack(); + } +} +#endif + +#if (UART1_DEFINE != 0) +/************************************************************************************************* +* : Uart1Handshake +* : +* ֵ: +* : UART1ͨѶЭ +*************************************************************************************************/ +void Uart1Handshake(void) +{ + if(ucUart1Buf[2] == 0x00) //Testing equipment is properly + { + Uart1SendAck(); + } + else + { + Uart1SendNack(); + } +} +#endif + +#if (UART2_DEFINE != 0) +/************************************************************************************************* +* : Uart2Handshake +* : +* ֵ: +* : UART2ͨѶЭ +*************************************************************************************************/ +void Uart2Handshake(void) +{ + if(ucUart2Buf[2] == 0x00) //Testing equipment is properly + { + Uart2SendAck(); + } + else + { + Uart2SendNack(); + } +} +#endif + +#if (UART0_DEFINE != 0) +/************************************************************************************************* +* : Uart0WriteInfo +* : ptrҪдʼַ +* ֵ: +* : UART0д +*************************************************************************************************/ +void Uart0WriteInfo(U8 xdata *ptr) +{ + U8 i; + + if(ucUart0Buf[3+ucUart0Buf[UART_LENGTH]] == CRC8cal(&ucUart0Buf, ucUart0Buf[UART_LENGTH]+3)) + { + for(i=0; i 140) + { + ucUart0Buf[UART_LENGTH] = 0; + } + for(i=0; i 140) + { + ucUart1Buf[UART_LENGTH] = 0; + } + for(i=0; i 140) + { + ucUart2Buf[UART_LENGTH] = 0; + } + for(i=0; i= 128) + { + bE2PProcessFlg = 1; + bUart0E2PRdData = 1; + } + else if(ucUart0Buf[UART_CMD_NO] == SUB_PAGE1 && ucSubClassID == RTC_SUBID) + { + bE2PProcessFlg = 1; + bUart0RTCRdTime = 1; + } + else if(ucUart0Buf[UART_CMD_NO] == SUB_PAGE1) + { + rdaddr = (U8 xdata *)Page1WrRdFuncTable[ucSubClassID]; + Uart0ReadInfo(rdaddr); + } + else if(ucUart0Buf[UART_CMD_NO] == SUB_PAGE2) + { + rdaddr = (U8 xdata *)Page2WrRdFuncTable[ucSubClassID]; + Uart0ReadInfo(rdaddr); + } + break; + } +} +#endif + +#if (UART1_DEFINE != 0) +/************************************************************************************************* +* : Uart0RdCmdProcess +* : +* ֵ: +* : UART +*************************************************************************************************/ +void Uart1RdCmdProcess(void) +{ + U8 xdata *rdaddr; + + switch(ucUart1Buf[UART_CMD_NO]) + { + case CELL1: + case CELL2: + case CELL3: + case CELL4: + case CELL5: + case CELL6: + case CELL7: + case CELL8: + case CELL9: + case CELL10: + Uart1ReadInfo((U8 xdata *)&Info.uiVCell[ucUart1Buf[UART_CMD_NO]-1]); + break; + + case TOTAL_VOLTAGE: + Uart1ReadInfo((U8 xdata *)&Info.ulVoltage); + break; + + case CADC_CURRENT: + Uart1ReadInfo((U8 xdata *)&Info.slCurr); + break; + + case EXT_TEMP1: + Uart1ReadInfo((U8 xdata *)&Info.uiTS[0]); + break; + + case EXT_TEMP2: + Uart1ReadInfo((U8 xdata *)&Info.uiTS[1]); + break; + + case DIE_TEMP1: + Uart1ReadInfo((U8 xdata *)&Info.uiICTempe[0]); + break; + + case DIE_TEMP2: + Uart1ReadInfo((U8 xdata *)&Info.uiICTempe[1]); + break; + + case FULL_CHG_CAP: + Uart1ReadInfo((U8 xdata *)&Info.ulFCC); + break; + + case REMAIN_CAP: + Uart1ReadInfo((U8 xdata *)&Info.ulRC); + break; + + case R_SOC: + Uart1ReadInfo((U8 xdata *)&Info.uiRSOC); + break; + + case CYCLE_COUNT: + Uart1ReadInfo((U8 xdata *)&Info.uiCycleCount); + break; + + case PACK_STATUS: + Uart1ReadInfo((U8 xdata *)&Info.uiPackStatus); + break; + + case BATTERY_STATUS: + Uart1ReadInfo((U8 xdata *)&Info.uiBatStatus); + break; + + case PACK_CONFIG: + Uart1ReadInfo((U8 xdata *)&Info.uiPackConfig); + break; + + case MANUFACTURE_COMMAND: + Uart1ReadInfo((U8 xdata *)&Info.uiManuCommand); + break; + + default: //read extern EEPRom data + if(ucUart1Buf[UART_LENGTH] >= 128) + { + bE2PProcessFlg = 1; + bUart1E2PRdData = 1; + } + else if(ucUart1Buf[UART_CMD_NO] == SUB_PAGE1 && ucSubClassID == RTC_SUBID) + { + bE2PProcessFlg = 1; + bUart1RTCRdTime = 1; + } + else if(ucUart1Buf[UART_CMD_NO] == SUB_PAGE1) + { + rdaddr = (U8 xdata *)Page1WrRdFuncTable[ucSubClassID]; + Uart1ReadInfo(rdaddr); + } + else if(ucUart1Buf[UART_CMD_NO] == SUB_PAGE2) + { + rdaddr = (U8 xdata *)Page2WrRdFuncTable[ucSubClassID]; + Uart1ReadInfo(rdaddr); + } + break; + } +} +#endif + +#if (UART2_DEFINE != 0) +/************************************************************************************************* +* : Uart0RdCmdProcess +* : +* ֵ: +* : UART +*************************************************************************************************/ +void Uart2RdCmdProcess(void) +{ + U8 xdata *rdaddr; + + switch(ucUart2Buf[UART_CMD_NO]) + { + case CELL1: + case CELL2: + case CELL3: + case CELL4: + case CELL5: + case CELL6: + case CELL7: + case CELL8: + case CELL9: + case CELL10: + Uart2ReadInfo((U8 xdata *)&Info.uiVCell[ucUart2Buf[UART_CMD_NO]-1]); + break; + + case TOTAL_VOLTAGE: + Uart2ReadInfo((U8 xdata *)&Info.ulVoltage); + break; + + case CADC_CURRENT: + Uart2ReadInfo((U8 xdata *)&Info.slCurr); + break; + + case EXT_TEMP1: + Uart2ReadInfo((U8 xdata *)&Info.uiTS[0]); + break; + + case EXT_TEMP2: + Uart2ReadInfo((U8 xdata *)&Info.uiTS[1]); + break; + + case DIE_TEMP1: + Uart2ReadInfo((U8 xdata *)&Info.uiICTempe[0]); + break; + + case DIE_TEMP2: + Uart2ReadInfo((U8 xdata *)&Info.uiICTempe[1]); + break; + + case FULL_CHG_CAP: + Uart2ReadInfo((U8 xdata *)&Info.ulFCC); + break; + + case REMAIN_CAP: + Uart2ReadInfo((U8 xdata *)&Info.ulRC); + break; + + case R_SOC: + Uart2ReadInfo((U8 xdata *)&Info.uiRSOC); + break; + + case CYCLE_COUNT: + Uart2ReadInfo((U8 xdata *)&Info.uiCycleCount); + break; + + case PACK_STATUS: + Uart2ReadInfo((U8 xdata *)&Info.uiPackStatus); + break; + + case BATTERY_STATUS: + Uart2ReadInfo((U8 xdata *)&Info.uiBatStatus); + break; + + case PACK_CONFIG: + Uart2ReadInfo((U8 xdata *)&Info.uiPackConfig); + break; + + case MANUFACTURE_COMMAND: + Uart2ReadInfo((U8 xdata *)&Info.uiManuCommand); + break; + + default: //read extern EEPRom data + if(ucUart2Buf[UART_LENGTH] >= 128) + { + bE2PProcessFlg = 1; + bUart2E2PRdData = 1; + } + else if(ucUart2Buf[UART_CMD_NO] == SUB_PAGE1 && ucSubClassID == RTC_SUBID) + { + bE2PProcessFlg = 1; + bUart2RTCRdTime = 1; + } + else if(ucUart2Buf[UART_CMD_NO] == SUB_PAGE1) + { + rdaddr = (U8 xdata *)Page1WrRdFuncTable[ucSubClassID]; + Uart2ReadInfo(rdaddr); + } + else if(ucUart2Buf[UART_CMD_NO] == SUB_PAGE2) + { + rdaddr = (U8 xdata *)Page2WrRdFuncTable[ucSubClassID]; + Uart2ReadInfo(rdaddr); + } + break; + } +} +#endif + +#if (UART0_DEFINE != 0) +/************************************************************************************************* +* : Uart0CaliCurrent +* : +* ֵ: +* : UART0ͨѶУ׼ܵѹ +*************************************************************************************************/ +void Uart0CaliVoltage(void) +{ + if(ucUart0Buf[3+ucUart0Buf[UART_LENGTH]] == CRC8cal(&ucUart0Buf, ucUart0Buf[UART_LENGTH]+3)) + { + ulExtVPack = ((U16)ucUart0Buf[3]<<8)|ucUart0Buf[4]; + + if(!ulExtVPack) + { + Uart0SendNack(); + } + else + { + bCaliFlg = 1; + ucExtcaliSwitch1 |= 0x01; + Uart0SendAck(); + } + } + else + { + Uart0SendNack(); + } +} +#endif + +#if (UART1_DEFINE != 0) +/************************************************************************************************* +* : Uart1CaliCurrent +* : +* ֵ: +* : UART1ͨѶУ׼ܵѹ +*************************************************************************************************/ +void Uart1CaliVoltage(void) +{ + if(ucUart1Buf[3+ucUart1Buf[UART_LENGTH]] == CRC8cal(&ucUart1Buf, ucUart1Buf[UART_LENGTH]+3)) + { + ulExtVPack = ((U16)ucUart1Buf[3]<<8)|ucUart1Buf[4]; + + if(!ulExtVPack) + { + Uart1SendNack(); + } + else + { + bCaliFlg = 1; + ucExtcaliSwitch1 |= 0x01; + Uart1SendAck(); + } + } + else + { + Uart1SendNack(); + } +} +#endif + +#if (UART2_DEFINE != 0) +/************************************************************************************************* +* : Uart2CaliCurrent +* : +* ֵ: +* : UART2ͨѶУ׼ܵѹ +*************************************************************************************************/ +void Uart2CaliVoltage(void) +{ + if(ucUart2Buf[3+ucUart2Buf[UART_LENGTH]] == CRC8cal(&ucUart2Buf, ucUart2Buf[UART_LENGTH]+3)) + { + ulExtVPack = ((U16)ucUart2Buf[3]<<8)|ucUart2Buf[4]; + + if(!ulExtVPack) + { + Uart2SendNack(); + } + else + { + bCaliFlg = 1; + ucExtcaliSwitch1 |= 0x01; + Uart2SendAck(); + } + } + else + { + Uart2SendNack(); + } +} +#endif + +#if (UART0_DEFINE != 0) +/************************************************************************************************* +* : Uart0CaliCurrentUart0CaliCurOffset +* : +* ֵ: +* : UART0ͨѶУ׼ɼ&Offset +*************************************************************************************************/ +void Uart0CaliCurrent(void) +{ + if(ucUart0Buf[3+ucUart0Buf[UART_LENGTH]] == CRC8cal(&ucUart0Buf, ucUart0Buf[UART_LENGTH]+3)) + { + slExtCur = ((U32)ucUart0Buf[3]<<24) + | ((U32)ucUart0Buf[4]<<16) + | ((U32)ucUart0Buf[5]<<8) + | ((U32)ucUart0Buf[6]); + + if((!AFE.siCurr) || (!slExtCur)) + { + Uart0SendNack(); + } + else + { + bCaliFlg = 1; + ucExtcaliSwitch1 |= 0x10; + Uart0SendAck(); + } + } + else + { + Uart0SendNack(); + } +} + + +void Uart0CaliCurOffset(void) +{ + if(ucUart0Buf[3+ucUart0Buf[UART_LENGTH]] == CRC8cal(&ucUart0Buf, ucUart0Buf[UART_LENGTH]+3)) + { + bCaliFlg = 1; //Calibration offset Current + ucExtcaliSwitch1 |= 0x20; + + Uart0SendAck(); + } + else + { + Uart0SendNack(); + } +} +#endif + +#if (UART1_DEFINE != 0) +/************************************************************************************************* +* : Uart1CaliCurrentUart1CaliCurOffset +* : +* ֵ: +* : UART1ͨѶУ׼ɼ&Offset +*************************************************************************************************/ +void Uart1CaliCurrent(void) +{ + if(ucUart1Buf[3+ucUart1Buf[UART_LENGTH]] == CRC8cal(&ucUart1Buf, ucUart1Buf[UART_LENGTH]+3)) + { + slExtCur = ((U32)ucUart1Buf[3]<<24) + | ((U32)ucUart1Buf[4]<<16) + | ((U32)ucUart1Buf[5]<<8) + | ((U32)ucUart1Buf[6]); + + if((!AFE.siCurr) || (!slExtCur)) + { + Uart1SendNack(); + } + else + { + bCaliFlg = 1; + ucExtcaliSwitch1 |= 0x10; + Uart1SendAck(); + } + } + else + { + Uart1SendNack(); + } +} + + +void Uart1CaliCurOffset(void) +{ + if(ucUart1Buf[3+ucUart1Buf[UART_LENGTH]] == CRC8cal(&ucUart1Buf, ucUart1Buf[UART_LENGTH]+3)) + { + bCaliFlg = 1; //Calibration offset Current + ucExtcaliSwitch1 |= 0x20; + + Uart1SendAck(); + } + else + { + Uart1SendNack(); + } +} +#endif + +#if (UART2_DEFINE != 0) +/************************************************************************************************* +* : Uart2CaliCurrentUart2CaliCurOffset +* : +* ֵ: +* : UART2ͨѶУ׼ɼ&Offset +*************************************************************************************************/ +void Uart2CaliCurrent(void) +{ + if(ucUart2Buf[3+ucUart2Buf[UART_LENGTH]] == CRC8cal(&ucUart2Buf, ucUart2Buf[UART_LENGTH]+3)) + { + slExtCur = ((U32)ucUart2Buf[3]<<24) + | ((U32)ucUart2Buf[4]<<16) + | ((U32)ucUart2Buf[5]<<8) + | ((U32)ucUart2Buf[6]); + + if((!AFE.siCurr) || (!slExtCur)) + { + Uart2SendNack(); + } + else + { + bCaliFlg = 1; + ucExtcaliSwitch1 |= 0x10; + Uart2SendAck(); + } + } + else + { + Uart2SendNack(); + } +} + + +void Uart2CaliCurOffset(void) +{ + if(ucUart2Buf[3+ucUart2Buf[UART_LENGTH]] == CRC8cal(&ucUart2Buf, ucUart2Buf[UART_LENGTH]+3)) + { + bCaliFlg = 1; //Calibration offset Current + ucExtcaliSwitch1 |= 0x20; + + Uart2SendAck(); + } + else + { + Uart2SendNack(); + } +} +#endif + +#if (UART0_DEFINE != 0) +/************************************************************************************************* +* : Uart0CaliTS1Uart0CaliTS2 +* : +* ֵ: +* : UART0ͨѶУ׼TS1/TS2 +*************************************************************************************************/ +void Uart0CaliTS1(void) +{ + if(ucUart0Buf[3+ucUart0Buf[UART_LENGTH]] == CRC8cal(&ucUart0Buf, ucUart0Buf[UART_LENGTH]+3)) + { + bCaliFlg = 1; //Calibration TS1 + uiExtTemp1 = ((U16)ucUart0Buf[3]<<8)|ucUart0Buf[4]; + ucExtcaliSwitch1 |= 0x04; + + Uart0SendAck(); + } + else + { + Uart0SendNack(); + } +} + + +void Uart0CaliTS2(void) +{ + if(ucUart0Buf[3+ucUart0Buf[UART_LENGTH]] == CRC8cal(&ucUart0Buf, ucUart0Buf[UART_LENGTH]+3)) + { + bCaliFlg = 1; //Calibration TS2 + uiExtTemp2 = ((U16)ucUart0Buf[3]<<8)|ucUart0Buf[4]; + ucExtcaliSwitch1 |= 0x08; + + Uart0SendAck(); + } + else + { + Uart0SendNack(); + } +} +#endif + +#if (UART1_DEFINE != 0) +/************************************************************************************************* +* : Uart1CaliTS1Uart1CaliTS2 +* : +* ֵ: +* : UART1ͨѶУ׼TS1/TS2 +*************************************************************************************************/ +void Uart1CaliTS1(void) +{ + if(ucUart1Buf[3+ucUart1Buf[UART_LENGTH]] == CRC8cal(&ucUart1Buf, ucUart1Buf[UART_LENGTH]+3)) + { + bCaliFlg = 1; //Calibration TS1 + uiExtTemp1 = ((U16)ucUart1Buf[3]<<8)|ucUart1Buf[4]; + ucExtcaliSwitch1 |= 0x04; + + Uart1SendAck(); + } + else + { + Uart1SendNack(); + } +} + + +void Uart1CaliTS2(void) +{ + if(ucUart1Buf[3+ucUart1Buf[UART_LENGTH]] == CRC8cal(&ucUart1Buf, ucUart1Buf[UART_LENGTH]+3)) + { + bCaliFlg = 1; //Calibration TS2 + uiExtTemp2 = ((U16)ucUart1Buf[3]<<8)|ucUart1Buf[4]; + ucExtcaliSwitch1 |= 0x08; + + Uart1SendAck(); + } + else + { + Uart1SendNack(); + } +} +#endif + +#if (UART2_DEFINE != 0) +/************************************************************************************************* +* : Uart2CaliTS1Uart2CaliTS2 +* : +* ֵ: +* : UART2ͨѶУ׼TS1/TS2 +*************************************************************************************************/ +void Uart2CaliTS1(void) +{ + if(ucUart2Buf[3+ucUart2Buf[UART_LENGTH]] == CRC8cal(&ucUart2Buf, ucUart2Buf[UART_LENGTH]+3)) + { + bCaliFlg = 1; //Calibration TS1 + uiExtTemp1 = ((U16)ucUart2Buf[3]<<8)|ucUart2Buf[4]; + ucExtcaliSwitch1 |= 0x04; + + Uart2SendAck(); + } + else + { + Uart2SendNack(); + } +} + + +void Uart2CaliTS2(void) +{ + if(ucUart2Buf[3+ucUart2Buf[UART_LENGTH]] == CRC8cal(&ucUart2Buf, ucUart2Buf[UART_LENGTH]+3)) + { + bCaliFlg = 1; //Calibration TS2 + uiExtTemp2 = ((U16)ucUart2Buf[3]<<8)|ucUart2Buf[4]; + ucExtcaliSwitch1 |= 0x08; + + Uart2SendAck(); + } + else + { + Uart2SendNack(); + } +} +#endif + +#if (UART0_DEFINE != 0) +/************************************************************************************************* +* : Uart0CaliRTC +* : +* ֵ: +* : UART0ͨѶУ׼RTC +*************************************************************************************************/ +void Uart0CaliRTC(void) +{ + U8 i; + + if(ucUart0Buf[3+ucUart0Buf[UART_LENGTH]] == CRC8cal(&ucUart0Buf, ucUart0Buf[UART_LENGTH]+3)) + { + for(i=0; i<7; i++) + { + ucExtRTC[i] = ucUart0Buf[3+i]; + } + bCaliFlg = 1; + ucExtcaliSwitch1 |= 0x80; + Uart0SendAck(); + } + else + { + Uart0SendNack(); + } +} +#endif + +#if (UART1_DEFINE != 0) +/************************************************************************************************* +* : Uart1CaliRTC +* : +* ֵ: +* : UART1ͨѶУ׼RTC +*************************************************************************************************/ +void Uart1CaliRTC(void) +{ + U8 i; + + if(ucUart1Buf[3+ucUart1Buf[UART_LENGTH]] == CRC8cal(&ucUart1Buf, ucUart1Buf[UART_LENGTH]+3)) + { + for(i=0; i<7; i++) + { + ucExtRTC[i] = ucUart1Buf[3+i]; + } + bCaliFlg = 1; + ucExtcaliSwitch1 |= 0x80; + Uart1SendAck(); + } + else + { + Uart1SendNack(); + } +} +#endif + +#if (UART2_DEFINE != 0) +/************************************************************************************************* +* : Uart2CaliRTC +* : +* ֵ: +* : UART2ͨѶУ׼RTC +*************************************************************************************************/ +void Uart2CaliRTC(void) +{ + U8 i; + + if(ucUart2Buf[3+ucUart2Buf[UART_LENGTH]] == CRC8cal(&ucUart2Buf, ucUart2Buf[UART_LENGTH]+3)) + { + for(i=0; i<7; i++) + { + ucExtRTC[i] = ucUart2Buf[3+i]; + } + bCaliFlg = 1; + ucExtcaliSwitch1 |= 0x80; + Uart2SendAck(); + } + else + { + Uart2SendNack(); + } +} +#endif + +#if (UART0_DEFINE != 0) +/************************************************************************************************* +* : Uart0WrCmdProcess +* : +* ֵ: +* : UART0д +*************************************************************************************************/ +void Uart0WrCmdProcess(void) +{ + U8 xdata *rdaddr; + switch(ucUart0Buf[UART_CMD_NO]) + { + case MANUFACTURE_COMMAND: + Uart0WriteManufacture(); + break; + case DATA_FLASH_COMMAND: + Uart0ReadSubClassID(); //accept command is dataflashcommand 0x77 + break; + case CALI_CUR_COMMAND: + Uart0CaliCurrent(); + break; + case CALI_VOL_COMMAND: + Uart0CaliVoltage(); + break; + case CALI_ZERO_CUR_COMMAND: + Uart0CaliCurOffset(); + break; + case CALI_TS1_COMMAND: + Uart0CaliTS1(); + break; + case CALI_TS2_COMMAND: + Uart0CaliTS2(); + break; + + case CALI_RTC_COMMAND: + Uart0CaliRTC(); + break; + case SUB_PAGE1: + rdaddr = (U8 xdata *)Page1WrRdFuncTable[ucSubClassID]; + Uart0WriteInfo(rdaddr); + break; + case SUB_PAGE2: + rdaddr = (U8 xdata *)Page2WrRdFuncTable[ucSubClassID]; + Uart0WriteInfo(rdaddr); + break; + + case CMD_E2PROM_ERASE: + if(ucUart0Buf[UART_DATA] == 0x55) //Testing equipment is properly + { + bE2PProcessFlg = 1; + bE2PErase = 1; + Uart0SendAck(); + } + else + { + Uart0SendNack(); + } + break; + } +} +#endif + +#if (UART1_DEFINE != 0) +/************************************************************************************************* +* : Uart1WrCmdProcess +* : +* ֵ: +* : UART1д +*************************************************************************************************/ +void Uart1WrCmdProcess(void) +{ + U8 xdata *rdaddr; + switch(ucUart1Buf[UART_CMD_NO]) + { + case MANUFACTURE_COMMAND: + Uart1WriteManufacture(); + break; + case DATA_FLASH_COMMAND: + Uart1ReadSubClassID(); //accept command is dataflashcommand 0x77 + break; + case CALI_CUR_COMMAND: + Uart1CaliCurrent(); + break; + case CALI_VOL_COMMAND: + Uart1CaliVoltage(); + break; + case CALI_ZERO_CUR_COMMAND: + Uart1CaliCurOffset(); + break; + case CALI_TS1_COMMAND: + Uart1CaliTS1(); + break; + case CALI_TS2_COMMAND: + Uart1CaliTS2(); + break; + + case CALI_RTC_COMMAND: + Uart1CaliRTC(); + break; + case SUB_PAGE1: + rdaddr = (U8 xdata *)Page1WrRdFuncTable[ucSubClassID]; + Uart1WriteInfo(rdaddr); + break; + case SUB_PAGE2: + rdaddr = (U8 xdata *)Page2WrRdFuncTable[ucSubClassID]; + Uart1WriteInfo(rdaddr); + break; + + case CMD_E2PROM_ERASE: + if(ucUart1Buf[UART_DATA] == 0x55) //Testing equipment is properly + { + bE2PProcessFlg = 1; + bE2PErase = 1; + Uart1SendAck(); + } + else + { + Uart1SendNack(); + } + break; + } +} +#endif + +#if (UART2_DEFINE != 0) +/************************************************************************************************* +* : Uart2WrCmdProcess +* : +* ֵ: +* : UART2д +*************************************************************************************************/ +void Uart2WrCmdProcess(void) +{ + U8 xdata *rdaddr; + switch(ucUart2Buf[UART_CMD_NO]) + { + case MANUFACTURE_COMMAND: + Uart2WriteManufacture(); + break; + case DATA_FLASH_COMMAND: + Uart2ReadSubClassID(); //accept command is dataflashcommand 0x77 + break; + case CALI_CUR_COMMAND: + Uart2CaliCurrent(); + break; + case CALI_VOL_COMMAND: + Uart2CaliVoltage(); + break; + case CALI_ZERO_CUR_COMMAND: + Uart2CaliCurOffset(); + break; + case CALI_TS1_COMMAND: + Uart2CaliTS1(); + break; + case CALI_TS2_COMMAND: + Uart2CaliTS2(); + break; + + case CALI_RTC_COMMAND: + Uart2CaliRTC(); + break; + case SUB_PAGE1: + rdaddr = (U8 xdata *)Page1WrRdFuncTable[ucSubClassID]; + Uart2WriteInfo(rdaddr); + break; + case SUB_PAGE2: + rdaddr = (U8 xdata *)Page2WrRdFuncTable[ucSubClassID]; + Uart2WriteInfo(rdaddr); + break; + + case CMD_E2PROM_ERASE: + if(ucUart2Buf[UART_DATA] == 0x55) //Testing equipment is properly + { + bE2PProcessFlg = 1; + bE2PErase = 1; + Uart2SendAck(); + } + else + { + Uart2SendNack(); + } + break; + } +} +#endif + +#if (UART0_DEFINE != 0) +/************************************************************************************************* +* : Uart0IapCheckHandshake +* : +* ֵ: +* : IAPISPЭ +*************************************************************************************************/ +void Uart0IapCheckHandshake(void) +{ + U8 i, databak; + U16 checksum = 0; + + if(ucUart0BufPT == 2) + { + if(ucUart0Buf[HEARD2] != 0xA5) + { + ucUart0BufPT = 0; + } + else + { + uiReceCheckSum = 0; //֡ͷжȷ + ucUartErrCode = 0; + } + } + else + { + if(ucUart0BufPT < (ucUart0Buf[LENGTH]+9)) + { + if(ucUart0BufPT <= (ucUart0Buf[LENGTH]+7)) + { + uiReceCheckSum += ucUart0Buf[ucUart0BufPT-1]; + } + if(ucUart0BufPT == (TARGET+1)) //ID + { + if(ucUart0Buf[TARGET] != IAP_BMSID) + { + ucUart0BufPT = 0; + } + } + else if(ucUart0BufPT == (COMMAND+1)) //COMMAND + { + if((ucUart0Buf[COMMAND] != IAP_CMD_HANDSHAKE)) + { + ucUartErrCode |= IAPERROR_CMD; + } + } + } + else + { + ucUart0BufPT = 0; + if(uiReceCheckSum != ((ucUart0Buf[ucUart0Buf[LENGTH]+8]<<8) + ucUart0Buf[ucUart0Buf[LENGTH]+7])) + { + ucUartErrCode |= IAPERROR_CHECKSUM; + } + + if(ucUartErrCode != 0) //дִ + { + ucUart0Buf[INDEXES] = ucUartErrCode; + } + else + { + bISPFlg = 1; //תBOOT + ucUart0Buf[INDEXES] = 0; + } + + ucUart0Buf[LENGTH] = 0; + ucUart0Buf[COMMAND] = 0x0B; + + databak = ucUart0Buf[SOURCE]; //ԴIDĿID + ucUart0Buf[SOURCE] = ucUart0Buf[TARGET]; + ucUart0Buf[TARGET] = databak; + + for(i=2; i<(ucUart0Buf[LENGTH]+7); i++) + { + checksum += ucUart0Buf[i]; + } + + ucUart0Buf[7+ucUart0Buf[LENGTH]] = checksum%256; + ucUart0Buf[8+ucUart0Buf[LENGTH]] = checksum/256; + + Uart0SendAck(); + } + } +} +#endif + +#if (UART1_DEFINE != 0) +/************************************************************************************************* +* : Uart1IapCheckHandshake +* : +* ֵ: +* : IAPISPЭ +*************************************************************************************************/ +void Uart1IapCheckHandshake(void) +{ + U8 i, databak; + U16 checksum = 0; + + if(ucUart1BufPT == 2) + { + if(ucUart1Buf[HEARD2] != 0xA5) + { + ucUart1BufPT = 0; + } + else + { + uiReceCheckSum = 0; //֡ͷжȷ + ucUartErrCode = 0; + } + } + else + { + if(ucUart1BufPT < (ucUart1Buf[LENGTH]+9)) + { + if(ucUart1BufPT <= (ucUart1Buf[LENGTH]+7)) + { + uiReceCheckSum += ucUart1Buf[ucUart1BufPT-1]; + } + if(ucUart1BufPT == (TARGET+1)) //ID + { + if(ucUart1Buf[TARGET] != IAP_BMSID) + { + ucUart1BufPT = 0; + } + } + else if(ucUart1BufPT == (COMMAND+1)) //COMMAND + { + if((ucUart1Buf[COMMAND] != IAP_CMD_HANDSHAKE)) + { + ucUartErrCode |= IAPERROR_CMD; + } + } + } + else + { + ucUart1BufPT = 0; + if(uiReceCheckSum != ((ucUart1Buf[ucUart1Buf[LENGTH]+8]<<8) + ucUart1Buf[ucUart1Buf[LENGTH]+7])) + { + ucUartErrCode |= IAPERROR_CHECKSUM; + } + + if(ucUartErrCode != 0) //дִ + { + ucUart1Buf[INDEXES] = ucUartErrCode; + } + else + { + bISPFlg = 1; //תBOOT + ucUart1Buf[INDEXES] = 0; + } + + ucUart1Buf[LENGTH] = 0; + ucUart1Buf[COMMAND] = 0x0B; + + databak = ucUart1Buf[SOURCE]; //ԴIDĿID + ucUart1Buf[SOURCE] = ucUart1Buf[TARGET]; + ucUart1Buf[TARGET] = databak; + + for(i=2; i<(ucUart1Buf[LENGTH]+7); i++) + { + checksum += ucUart1Buf[i]; + } + + ucUart1Buf[7+ucUart1Buf[LENGTH]] = checksum%256; + ucUart1Buf[8+ucUart1Buf[LENGTH]] = checksum/256; + + Uart1SendAck(); + } + } +} +#endif + +#if (UART2_DEFINE != 0) +/************************************************************************************************* +* : Uart2IapCheckHandshake +* : +* ֵ: +* : IAPISPЭ +*************************************************************************************************/ +void Uart2IapCheckHandshake(void) +{ + U8 i, databak; + U16 checksum = 0; + + if(ucUart2BufPT == 2) + { + if(ucUart2Buf[HEARD2] != 0xA5) + { + ucUart2BufPT = 0; + } + else + { + uiReceCheckSum = 0; //֡ͷжȷ + ucUartErrCode = 0; + } + } + else + { + if(ucUart2BufPT < (ucUart2Buf[LENGTH]+9)) + { + if(ucUart2BufPT <= (ucUart2Buf[LENGTH]+7)) + { + uiReceCheckSum += ucUart2Buf[ucUart2BufPT-1]; + } + if(ucUart2BufPT == (TARGET+1)) //ID + { + if(ucUart2Buf[TARGET] != IAP_BMSID) + { + ucUart2BufPT = 0; + } + } + else if(ucUart2BufPT == (COMMAND+1)) //COMMAND + { + if((ucUart2Buf[COMMAND] != IAP_CMD_HANDSHAKE)) + { + ucUartErrCode |= IAPERROR_CMD; + } + } + } + else + { + ucUart2BufPT = 0; + if(uiReceCheckSum != ((ucUart2Buf[ucUart2Buf[LENGTH]+8]<<8) + ucUart2Buf[ucUart2Buf[LENGTH]+7])) + { + ucUartErrCode |= IAPERROR_CHECKSUM; + } + + if(ucUartErrCode != 0) //дִ + { + ucUart2Buf[INDEXES] = ucUartErrCode; + } + else + { + bISPFlg = 1; //תBOOT + ucUart2Buf[INDEXES] = 0; + } + + ucUart2Buf[LENGTH] = 0; + ucUart2Buf[COMMAND] = 0x0B; + + databak = ucUart2Buf[SOURCE]; //ԴIDĿID + ucUart2Buf[SOURCE] = ucUart2Buf[TARGET]; + ucUart2Buf[TARGET] = databak; + + for(i=2; i<(ucUart2Buf[LENGTH]+7); i++) + { + checksum += ucUart2Buf[i]; + } + + ucUart2Buf[7+ucUart2Buf[LENGTH]] = checksum%256; + ucUart2Buf[8+ucUart2Buf[LENGTH]] = checksum/256; + + Uart2SendAck(); + } + } +} +#endif + +#if (UART0_DEFINE != 0) +/************************************************************************************************* +* : InterruptUart0AppRx +* : RxDataUart0յݣSBUF0ȡ +* ֵ: +* : UARTжϷӿڣжϴøú +ucUart0Buf[0]--Slave Addr +ucUart0Buf[1]--CMD No. +ucUart0Buf[2]--Offset +ucUart0Buf[3]--Data Length +ucUart0Buf[4...]--Data +*************************************************************************************************/ +void InterruptUart0AppRx(U8 RxData) +{ + ucUart0Buf[ucUart0BufPT] = RxData; + ucUart0BufPT++; + if(ucUart0BufPT >= 140) + { + ucUart0BufPT = 0; + } + if(ucUart0BufPT == 1) + { + if((ucUart0Buf[UART_SLAVE_ADDR]&0xFE) == SADDR) //յĵһֽǷUARTַƥ + { + if((ucUart0Buf[UART_SLAVE_ADDR]&0x01)==0) //bit7R/W־0--R, 1--W + { + bUart0ReadFlg = 1; + bUart0WriteFlg = 0; + } + else + { + bUart0WriteFlg = 1; + bUart0ReadFlg = 0; + } + } + else if(ucUart0Buf[HEARD1] != 0x5A) //жǷΪIAP/ISPʼ֡ + { + ucUart0BufPT = 0; //֡ͷλָ + } + } + + if(bUart0ReadFlg) + { + if(ucUart0BufPT==3) + { + Uart0RdCmdProcess(); //Read the command process + } + } + else if(bUart0WriteFlg) + { + if(ucUart0BufPT > (ucUart0Buf[UART_LENGTH]+3)) //If a write operation, and complete all the data has been received + { + Uart0WrCmdProcess(); //Write the command peocess + bUart0WriteFlg = 0; //PC write MCU communiaction over + ucUart0BufPT = 0; + } + } + else //ǶдʱΪISPIAPbegin + { + Uart0IapCheckHandshake(); + } + bUart0SndAckFlg = 0; + + ucSleepTimerCnt = 0; //UARTͨѶ͹ļUARTλ + ucPDTimerCnt = 0; + ucUart0TimeoutCnt = 0; +} + + +/************************************************************************************************* +* : InterruptUart0AppTx +* : +* ֵ: +* : UART0жϷӿڣжϴøú +*************************************************************************************************/ +void InterruptUart0AppTx(void) +{ + if((ucUart0Buf[HEARD1] == 0x5A) && (ucUart0Buf[HEARD2] == 0xA5) || bISPFlg) + { + if(ucUart0BufPT >= (ucUart0Buf[LENGTH]+8)) + { + Uart0RxEn(); //Allow UART receive data + ucUart0BufPT = 0; + bUart0ReadFlg = 0; //PC read MCU communication over + ucUart0Buf[0] = 0; + ucUart0Buf[1] = 0; + ucUart0Buf[2] = 0; + ucUart0Buf[3] = 0; + bUart0SndAckFlg = 1; + } + else + { + ucUart0BufPT++; + Uart0TxEn(ucUart0Buf[ucUart0BufPT]); //20220620 + } + } + else if((ucUart0BufPT==0) || (ucUart0BufPT>=ucUart0Buf[UART_LENGTH]+3)) + { + Uart0RxEn(); //UART + ucUart0BufPT = 0; + bUart0ReadFlg = 0; + ucUart0Buf[0] = 0; + ucUart0Buf[1] = 0; + ucUart0Buf[2] = 0; + ucUart0Buf[3] = 0; + bUart0SndAckFlg = 1; //UARTѷ͹ݣҪҪȴACKܽһĹ + } + else + { + ucUart0BufPT++; + Uart0TxEn(ucUart0Buf[ucUart0BufPT]); + } + + ucSleepTimerCnt = 0; //UARTͨѶ͹ļUARTλ + ucPDTimerCnt = 0; + ucUart0TimeoutCnt = 0; +} + + +/************************************************************************************************* +* : InterruptUart0AppTx +* : +* ֵ: +* : UART0жϷӿڣжϴøú +*************************************************************************************************/ +void Uart0Check(void) +{ + if(++ucUart0TimeoutCnt >= 4) //4*50mSûUARTͨѶλָлģʽ + { + ucUart0TimeoutCnt = 0; + ucUart0BufPT = 0; + Uart0RxEn(); //UART + } +} +#endif + +#if (UART1_DEFINE != 0) +/************************************************************************************************* +* : InterruptUart1AppRx +* : RxDataUart1յݣSBUF1ȡ +* ֵ: +* : UART1жϷӿڣжϴøú +ucUart1Buf[0]--Slave Addr +ucUart1Buf[1]--CMD No. +ucUart1Buf[2]--Offset +ucUart1Buf[3]--Data Length +ucUart1Buf[4...]--Data +*************************************************************************************************/ +void InterruptUart1AppRx(U8 RxData) +{ + ucUart1Buf[ucUart1BufPT] = RxData; + ucUart1BufPT++; + if(ucUart1BufPT >= 140) + { + ucUart1BufPT = 0; + } + if(ucUart1BufPT == 1) + { + McuBank1Sel(); + if((ucUart1Buf[UART_SLAVE_ADDR]&0xFE) == SADDR1) //յĵһֽǷUARTַƥ + { + McuBank0Sel(); + if((ucUart1Buf[UART_SLAVE_ADDR]&0x01)==0) //bit7R/W־0--R, 1--W + { + bUart1ReadFlg = 1; + bUart1WriteFlg = 0; + } + else + { + bUart1WriteFlg = 1; + bUart1ReadFlg = 0; + } + } + else if(ucUart1Buf[HEARD1] != 0x5A) //жǷΪIAP/ISPʼ֡ + { + ucUart1BufPT = 0; //֡ͷλָ + } + } + + if(bUart1ReadFlg) + { + if(ucUart1BufPT==3) + { + Uart1RdCmdProcess(); //Read the command process + } + } + else if (bUart1WriteFlg) + { + if(ucUart1BufPT > (ucUart1Buf[UART_LENGTH]+3)) //If a write operation, and complete all the data has been received + { + Uart1WrCmdProcess(); //Write the command peocess + bUart1WriteFlg = 0; //PC write MCU communiaction over + ucUart1BufPT = 0; + } + } + else //ǶдʱΪISPIAPbegin + { + Uart1IapCheckHandshake(); + } + bUart1SndAckFlg = 0; + + ucSleepTimerCnt = 0; //UARTͨѶ͹ļUARTλ + ucPDTimerCnt = 0; + ucUart1TimeoutCnt = 0; +} + + +/************************************************************************************************* +* : InterruptUart1AppTx +* : +* ֵ: +* : UART1жϷӿڣжϴøú +*************************************************************************************************/ +void InterruptUart1AppTx(void) +{ + if((ucUart1Buf[HEARD1] == 0x5A) && (ucUart1Buf[HEARD2] == 0xA5) || bISPFlg) + { + if(ucUart1BufPT >= (ucUart1Buf[LENGTH]+8)) + { + Uart1RxEn(); //Allow UART receive data + ucUart1BufPT = 0; + bUart1ReadFlg = 0; //PC read MCU communication over + ucUart1Buf[0] = 0; + ucUart1Buf[1] = 0; + ucUart1Buf[2] = 0; + ucUart1Buf[3] = 0; + bUart1SndAckFlg = 1; + } + else + { + ucUart1BufPT++; + Uart1TxEn(ucUart1Buf[ucUart1BufPT]); //20220620 + } + } + else if((ucUart1BufPT==0) || (ucUart1BufPT>=ucUart1Buf[UART_LENGTH]+3)) + { + Uart1RxEn(); //UART + ucUart1BufPT = 0; + bUart1ReadFlg = 0; + ucUart1Buf[0] = 0; + ucUart1Buf[1] = 0; + ucUart1Buf[2] = 0; + ucUart1Buf[3] = 0; + bUart1SndAckFlg = 1; //UARTѷ͹ݣҪҪȴACKܽһĹ + } + else + { + ucUart1BufPT++; + Uart1TxEn(ucUart1Buf[ucUart1BufPT]); + } + + ucSleepTimerCnt = 0; //UARTͨѶ͹ļUARTλ + ucPDTimerCnt = 0; + ucUart1TimeoutCnt = 0; +} + + +/************************************************************************************************* +* : InterruptUart1AppTx +* : +* ֵ: +* : UART1жϷӿڣжϴøú +*************************************************************************************************/ +void Uart1Check(void) +{ + if(++ucUart1TimeoutCnt >= 4) //4*50mSûUARTͨѶλָлģʽ + { + ucUart1TimeoutCnt = 0; + ucUart1BufPT = 0; + Uart1RxEn(); //UART + } +} +#endif + +#if (UART2_DEFINE != 0) +/************************************************************************************************* +* : InterruptUart2AppRx +* : RxDataUart2յݣSBUF2ȡ +* ֵ: +* : UART2жϷӿڣжϴøú +ucUart2Buf[0]--Slave Addr +ucUart2Buf[1]--CMD No. +ucUart2Buf[2]--Offset +ucUart2Buf[3]--Data Length +ucUart2Buf[4...]--Data +*************************************************************************************************/ +void InterruptUart2AppRx(U8 RxData) +{ + ucUart2Buf[ucUart2BufPT] = RxData; + ucUart2BufPT++; + if(ucUart2BufPT >= 140) + { + ucUart2BufPT = 0; + } + if(ucUart2BufPT == 1) + { + McuBank1Sel(); + if((ucUart2Buf[UART_SLAVE_ADDR]&0xFE) == SADDR2) //յĵһֽǷUARTַƥ + { + McuBank0Sel(); + if((ucUart2Buf[UART_SLAVE_ADDR]&0x01)==0) //bit7R/W־0--R, 1--W + { + bUart2ReadFlg = 1; + bUart2WriteFlg = 0; + } + else + { + bUart2WriteFlg = 1; + bUart2ReadFlg = 0; + } + } + else if(ucUart2Buf[HEARD1] != 0x5A) //жǷΪIAP/ISPʼ֡ + { + ucUart2BufPT = 0; //֡ͷλָ + } + } + + if(bUart2ReadFlg) + { + if(ucUart2BufPT==3) + { + Uart2RdCmdProcess(); //Read the command process + } + } + else if(bUart2WriteFlg) + { + if(ucUart2BufPT > (ucUart2Buf[UART_LENGTH]+3)) //If a write operation, and complete all the data has been received + { + Uart2WrCmdProcess(); //Write the command peocess + bUart2WriteFlg = 0; //PC write MCU communiaction over + ucUart2BufPT = 0; + } + } + else //ǶдʱΪISPIAPbegin + { + Uart2IapCheckHandshake(); + } + bUart2SndAckFlg = 0; + + ucSleepTimerCnt = 0; //UARTͨѶ͹ļUARTλ + ucPDTimerCnt = 0; + ucUart2TimeoutCnt = 0; +} + + +/************************************************************************************************* +* : InterruptUartAppTx +* : +* ֵ: +* : UARTжϷӿڣжϴøú +*************************************************************************************************/ +void InterruptUart2AppTx(void) +{ + if((ucUart2Buf[HEARD1] == 0x5A) && (ucUart2Buf[HEARD2] == 0xA5) || bISPFlg) + { + if(ucUart2BufPT >= (ucUart2Buf[LENGTH]+8)) + { + Uart2RxEn(); //Allow UART receive data + ucUart2BufPT = 0; + bUart2ReadFlg = 0; //PC read MCU communication over + ucUart2Buf[0] = 0; + ucUart2Buf[1] = 0; + ucUart2Buf[2] = 0; + ucUart2Buf[3] = 0; + bUart2SndAckFlg = 1; + } + else + { + ucUart2BufPT++; + Uart2TxEn(ucUart2Buf[ucUart2BufPT]); //20220620 + } + } + else if((ucUart2BufPT==0) || (ucUart2BufPT>=ucUart2Buf[UART_LENGTH]+3)) + { + Uart2RxEn(); //UART + ucUart2BufPT = 0; + bUart2ReadFlg = 0; + ucUart2Buf[0] = 0; + ucUart2Buf[1] = 0; + ucUart2Buf[2] = 0; + ucUart2Buf[3] = 0; + bUart2SndAckFlg = 1; //UARTѷ͹ݣҪҪȴACKܽһĹ + } + else + { + ucUart2BufPT++; + Uart2TxEn(ucUart2Buf[ucUart2BufPT]); + } + + ucSleepTimerCnt = 0; //UARTͨѶ͹ļUARTλ + ucPDTimerCnt = 0; + ucUart2TimeoutCnt = 0; +} + + +/************************************************************************************************* +* : InterruptUart0AppTx +* : +* ֵ: +* : UARTжϷӿڣжϴøú +*************************************************************************************************/ +void Uart2Check(void) +{ + if(++ucUart2TimeoutCnt >= 4) //4*50mSûUARTͨѶλָлģʽ + { + ucUart2TimeoutCnt = 0; + ucUart2BufPT = 0; + Uart2RxEn(); //UART + } +} +#endif diff --git a/code_bootloader/Flash.c b/code_bootloader/Flash.c new file mode 100644 index 0000000..0082fc5 --- /dev/null +++ b/code_bootloader/Flash.c @@ -0,0 +1,210 @@ +/******************************************************************************** +Copyright (C), Sinowealth Electronic. Ltd. +Author: Sino +Version: V0.0 +Date: 2020/04/26 +History: + V2.0 2020/04/26 Preliminary +********************************************************************************/ +#include "MCURegister.h" +#include "C51_TYPE.H" +#include "Flash.h" +#include +#include + +U8 ucMcuFlashWrValid; + + +/************************************************************************************************* +* : McuFlashEraseSector +* : McuFlashAddrʼַMcuTypeCODEEEPROM +* ֵ: +* : Sector +*************************************************************************************************/ +void McuFlashEraseSector(U32 xdata McuFlashAddr, U8 xdata McuType) +{ + FLASHCON = McuType; + XPAGE = McuFlashAddr>>8; + + IB_CON1 = 0xE6; + if(!EA) //ֹд + { + IB_CON2 = 0x05; + if(FLASHCON == McuType) //ֹд + { + IB_CON3 = 0x0A; + if(ucMcuFlashWrValid == 0x55) //ֹд + { + IB_CON4 = 0x09; + if(XPAGE == (McuFlashAddr>>8)) //ֹд + { + IB_CON5 = 0x06; + _nop_(); + _nop_(); + _nop_(); + _nop_(); + } + } + } +} + + FLASHCON = MCU_TYPE_CODE; +} + + +/************************************************************************************************* +* : McuFlashBlankCheck +* : McuFlashAddrʼַ +* ֵ: 0ȫ0Eraseʧܣ1ȫ0Eraseɹ +* : Erase1SectorǷȫΪ0 +*************************************************************************************************/ +BOOL McuFlashBlankCheck(U32 xdata McuFlashAddr, U8 xdata McuType) +{ + BOOL Result = 1; + U16 i; + + FLASHCON = McuType; + for(i=0; i>8; + IB_OFFSET = McuFlashAddr % 256; + + IB_DATA = WrData; + IB_CON1 = 0x6E; + if(!EA) //ֹд + { + IB_CON2 = 0x05; + if(FLASHCON == McuType) //ֹд + { + IB_CON3 = 0x0A; + if(ucMcuFlashWrValid == 0x55) //ֹд + { + IB_CON4 = 0x09; + if(XPAGE == (McuFlashAddr>>8)) //ֹд + { + IB_CON5 = 0x06; + _nop_(); + _nop_(); + _nop_(); + _nop_(); + _nop_(); + } + } + } + } + + FLASHCON = MCU_TYPE_CODE; +} + + +/************************************************************************************************* +* : McuFlashRdOneByte +* : McuFlashAddrȡCODEĵַ +* ֵ: صǰCodeֽ +* : 1ֽ +*************************************************************************************************/ +U8 McuFlashRdOneByte(U32 xdata McuFlashAddr, U8 xdata McuType) +{ + U8 GetData = 0; + + FLASHCON = McuType; + GetData = CBYTE[McuFlashAddr]; + FLASHCON = MCU_TYPE_CODE; + return GetData; +} + + +/************************************************************************************************* +* : BootProgram +* : +* ֵ: +* : BootErase->Program->Verify + ÿ1SectorдݣУ +*************************************************************************************************/ +U8 BootProgram(void) +{ + U8 i, McuCode, McuFlashType; + U16 j; + U32 McuFlashAddr; + + for(i=0; iProgram->Verify +*************************************************************************************************/ +BOOL BootUpgradeCode(void) +{ + BOOL Result = 1; + + if(BootProgram() == BOOT_PGR_OK) + { + McuFlashEraseSector(BOOT_FLG_START_ADDR, MCU_TYPE_CODE); //дɹԶ־λ + Result = McuFlashBlankCheck(BOOT_FLG_START_ADDR, MCU_TYPE_CODE); //Ҫ + } + else + { + Result = 0; + } + + return Result; +} + diff --git a/code_bootloader/IapIsp.c b/code_bootloader/IapIsp.c new file mode 100644 index 0000000..c318d99 --- /dev/null +++ b/code_bootloader/IapIsp.c @@ -0,0 +1,788 @@ +/******************************************************************************** +Copyright (C), Sinowealth Electronic. Ltd. +Author: Sino +Version: V0.0 +Date: 2020/04/26 +History: + V2.0 2020/04/26 Preliminary +********************************************************************************/ +#include "MCURegister.h" +#include "C51_TYPE.H" +#include "Flash.h" +#include "IapIsp.h" + +BOOL bIapIspFlg; //0ʾǰִIAP1ʾǰִISP +BOOL bHandsheakOkFlg; +BOOL bUartSndOverFlg; +U16 uiUartRcvChkSum; +U8 ucUartErrCode; +U8 ucUartBufPT; +U32 ulIapDataPtr; +U32 ulIapChksum; +U32 ulIapRecDataLen; +U8 ucIapIndexBk; +U8 ucIapRestCommand; +U8 xdata ucUartBuf[150]; +U8 xdata ucIapBuf[MCU_CODE_SECTOR_SIZE]; + +extern void UARTInit(void); +/************************************************************************************************* +* : UartSendAck +* : +* ֵ: +* : Slaveݲɺ󣬿ʼ +*************************************************************************************************/ +void UartSendAck(void) +{ + U8 i, DataBak; + U16 CheckSum = 0; + + ucUartBuf[LENGTH] = 0x00; + ucUartBuf[COMMAND] = 0x0B; + + DataBak = ucUartBuf[SOURCE]; //ԴIDĿID + ucUartBuf[SOURCE] = ucUartBuf[TARGET]; + ucUartBuf[TARGET] = DataBak; + + for(i=2; i<(ucUartBuf[LENGTH]+7); i++) + { + CheckSum += ucUartBuf[i]; + } + + ucUartBuf[7+ucUartBuf[LENGTH]] = (U8)CheckSum; + ucUartBuf[8+ucUartBuf[LENGTH]] = (U8)(CheckSum>>8); + + bUartSndOverFlg = 0; + UartTxEn(ucUartBuf[ucUartBufPT]); +} + + +/************************************************************************************************* +* : IapHandShake +* : +* ֵ: +* : Э飬IAPISPд + bIapIspFlg: 0--IAP1--ISP +*************************************************************************************************/ +void IapHandShake(void) +{ + ucUartBuf[INDEXES] = 0; + if(ucUartBuf[DATA]=='I' && ucUartBuf[DATA+1]=='A' && ucUartBuf[DATA+2]=='P') + { + bIapIspFlg = IAP_MODE; + bHandsheakOkFlg = 1; + } + else if(ucUartBuf[DATA]=='I' && ucUartBuf[DATA+1]=='S' && ucUartBuf[DATA+2]=='P') + { + bIapIspFlg = ISP_MODE; + bHandsheakOkFlg = 1; + } + else + { + ucUartBuf[INDEXES] = IAPERROR_HANDSHAKE; //ʧ + bHandsheakOkFlg = 0; + } +} + + +/************************************************************************************************* +* : IapBeginAck +* : +* ֵ: +* : IAPISPʼCODEı30K +*************************************************************************************************/ +void IapBeginAck(void) +{ + U8 i, SectorNum, McuFlashType; + U32 McuFlashAddr; + + ulIapDataPtr = 0; + ulIapChksum = 0; + ulIapRecDataLen = 0; + ulIapRecDataLen = ((U32)ucUartBuf[DATA+3]<<24) //ݳ + | ((U32)ucUartBuf[DATA+2]<<16) + | ((U32)ucUartBuf[DATA+1]<<8) + | (U32)ucUartBuf[DATA]; + + if(!bHandsheakOkFlg) + { + ucUartBuf[INDEXES] = IAPERROR_HANDSHAKE; //ʧ + } + + if((ulIapRecDataLen > IAP_BK_CODE_SIZE) && (bIapIspFlg == IAP_MODE)) + { + ucUartBuf[INDEXES] = IAPERROR_SIZE; //ݳȲIAPISPȣĬΪ쳣 + } + else if((ulIapRecDataLen > ISP_CODE_SIZE) && (bIapIspFlg == ISP_MODE)) + { + ucUartBuf[INDEXES] = IAPERROR_SIZE; //ݳȲIAPISPȣĬΪ쳣 + } + else + { + ucUartBuf[INDEXES] = 0; //Ԥظɹ + ucIapIndexBk = 0; + +//1. ǰISPȲBOOTı־ȻBOOT_FLG_ISP_ADDдISP_FLG־0xA5 + ucMcuFlashWrValid = 0x55; //MCU Codeɲ־ֹд + McuFlashEraseSector(BOOT_FLG_START_ADDR, MCU_TYPE_CODE); + if(McuFlashBlankCheck(BOOT_FLG_START_ADDR, MCU_TYPE_CODE)) //Ҫ + { + if(bIapIspFlg == ISP_MODE) + { + McuFlashWrOneByte(BOOT_FLG_ISP_ADDR, ISP_FLG, MCU_TYPE_CODE); + if(McuFlashRdOneByte(BOOT_FLG_ISP_ADDR, MCU_TYPE_CODE) != ISP_FLG) + { + ucUartBuf[INDEXES] = IAPERROR_WR; //Writeʧ + } + } + } + else + { + ucUartBuf[INDEXES] = IAPERROR_ERASE; //Eraseʧ + } + ucMcuFlashWrValid = 0; + +//2. IAPISPȲSectorISPҪEEPROM + if(ucUartBuf[INDEXES] == 0) //ucUartBuf[INDEXES] + { + SectorNum = ulIapRecDataLen/MCU_CODE_SECTOR_SIZE; + for(i=0; i=(SectorNum-APP_PARA_SIZE/MCU_CODE_SECTOR_SIZE)) //EEPROMsector + { + McuFlashType = MCU_TYPE_E2P; + McuFlashAddr = (U16)(i+APP_PARA_SIZE/MCU_CODE_SECTOR_SIZE-SectorNum)*512; + } + } + + ucMcuFlashWrValid = 0x55; //MCU Codeɲ־ֹд + McuFlashEraseSector(McuFlashAddr, McuFlashType); + if(!McuFlashBlankCheck(McuFlashAddr, McuFlashType)) //Ҫ + { + ucUartBuf[INDEXES] = IAPERROR_ERASE; //Eraseʧ + } + ucMcuFlashWrValid = 0; + } + } + else + { + ucUartBuf[INDEXES] = IAPERROR_INDEX; + } + } +} + + +/************************************************************************************************* +* : IapWrSector +* : +* ֵ: +* : д1Sector +*************************************************************************************************/ +BOOL IapWrSector(void) +{ + BOOL Result = 1; + U16 i; + U32 McuFlashAddr; + U8 McuFlashType; + + for(i=0; i= (ulIapRecDataLen+BOOT_CODE_SIZE-APP_PARA_SIZE)) + { + McuFlashAddr = McuFlashAddr - (ulIapRecDataLen+BOOT_CODE_SIZE-APP_PARA_SIZE); + McuFlashType = MCU_TYPE_E2P; //ISPEEPROM + } + } + else + { + McuFlashAddr = IAP_BK_CODE_START_ADDR + ulIapDataPtr; + } + McuFlashWrOneByte(McuFlashAddr, ucIapBuf[i], McuFlashType); + if(ucIapBuf[i] != McuFlashRdOneByte(McuFlashAddr, McuFlashType)) + { + Result = 0; + break; + } + ulIapDataPtr++; + } + + return Result; +} + + +/************************************************************************************************* +* : IapReceiveData +* : +* ֵ: +* : ݣͬʱдMCU CODE +*************************************************************************************************/ +void IapReceiveData(void) +{ + U16 i; + U8 j; + U32 McuFlashAddr; + U8 McuFlashType; + + bHandsheakOkFlg = 0; + + if( ((ucUartBuf[INDEXES](ucIapIndexBk+4))) && (ucUartBuf[INDEXES] != 0) ) //yangweilei + { + ucUartBuf[INDEXES] = IAPERROR_INDEX; //жǷжǷ񳬳Χ + } + else + { + ucIapIndexBk = ucUartBuf[INDEXES]; + ucUartBuf[INDEXES] = 0; + if(ucUartBuf[LENGTH] == 0) + { + ulIapDataPtr += 512; //ݵijΪ0ʾǰ128ֽΪ0ָӣд(150mS/1K) + } + else + { + j = ucIapIndexBk % 4; //ĿǰݶsectorΪ512bytesÿδ128bytesԶΪ4 + for(i=0; i= MCU_CODE_SECTOR_SIZE) + { + ulIapDataPtr -= MCU_CODE_SECTOR_SIZE; //ָ뷵صSectorʼ + } + else + { + ulIapDataPtr = 0; + } + + McuFlashType = MCU_TYPE_CODE; //ĬCODE + if(bIapIspFlg == ISP_MODE) //ISP + { + McuFlashAddr = ISP_CODE_START_ADDR + ulIapDataPtr; + if(McuFlashAddr >= (ulIapRecDataLen+BOOT_CODE_SIZE-APP_PARA_SIZE)) + { + McuFlashAddr = McuFlashAddr - (ulIapRecDataLen+BOOT_CODE_SIZE-APP_PARA_SIZE); + McuFlashType = MCU_TYPE_E2P; //ISPEEPROM + } + } + else + { + McuFlashAddr = IAP_BK_CODE_START_ADDR + ulIapDataPtr; + } + ucMcuFlashWrValid = 0x55; + McuFlashEraseSector(McuFlashAddr, McuFlashType); + if(McuFlashBlankCheck(McuFlashAddr, McuFlashType)) //Ҫ + { + if(!IapWrSector()) //дδ򷵻ظλ쳣 + { + ucUartBuf[INDEXES] = IAPERROR_WR; //д + } + else + { + goto UpdateChksum; + } + } + else + { + ucUartBuf[INDEXES] = IAPERROR_ERASE; // + } + } + else //512BytesдȷŸchecksumֵ + { +UpdateChksum: + for(j=0; j= 1)&&(UART_DEFINE<= 30)) + { + if(RI) + { + //BootMcuWdtClear(); //ڸóѭУδյUARTͨѶжͨѶ쳣Ź + ucUartBuf[ucUartBufPT] = SBUF; + ucUartBufPT++; + if(ucUartBufPT >= 140) //ָ벻ᳬ140 + { + ucUartBufPT = 0; + } + if(ucUartBufPT == 1) + { + if(ucUartBuf[HEARD1] != 0x5A) //֡ͷǷWie0x5AA5 + { + ucUartBufPT = 0; + } + + } + else if(ucUartBufPT == 2) + { + + if(ucUartBuf[HEARD2] != 0xA5) + { + ucUartBufPT = 0; + } + else + { + uiUartRcvChkSum = 0; //֡ͷжȷ + ucUartErrCode = 0; + } + } + else + { + + if(ucUartBufPT < (ucUartBuf[LENGTH]+9)) + { + if(ucUartBufPT <= (ucUartBuf[LENGTH]+7)) + { + uiUartRcvChkSum += ucUartBuf[ucUartBufPT-1]; + } + + if(ucUartBufPT == (TARGET+1)) //ID + { + + if(ucUartBuf[TARGET] != IAP_BMSID) + { + ucUartBufPT = 0; + } + } + else if(ucUartBufPT == (COMMAND+1)) //COMMAND + { + if((ucUartBuf[COMMAND] != IAP_CMD_HANDSHAKE) + && (ucUartBuf[COMMAND] != IAP_CMD_BEGIN) + && (ucUartBuf[COMMAND] != IAP_CMD_TRANS) + && (ucUartBuf[COMMAND] != IAP_CMD_VERIFY) + && (ucUartBuf[COMMAND] != IAP_CMD_RESET)) + { + ucUartErrCode |= IAPERROR_CMD; + } + } + } + else + { + BootMcuWdtClear(); + UartCmdProcess(); + } + } + RI = 0; + } + + if(TI) + { + BootMcuWdtClear(); //ڸóѭУδյUARTͨѶжͨѶ쳣Ź + + if(ucUartBufPT >= (ucUartBuf[LENGTH]+8)) + { + UartRxEn(); //Allow UART receive data + ucUartBufPT = 0; + ucUartBuf[0] = 0; + ucUartBuf[1] = 0; + ucUartBuf[2] = 0; + bUartSndOverFlg = 1; + } + else + { + ucUartBufPT++; + UartTxEn(ucUartBuf[ucUartBufPT]); + } + + TI = 0; + } + + if(ucIapRestCommand == IAP_CMD_RESET) + { + BootMcuWdtClear(); + if(bUartSndOverFlg) //Reset֡ظ + { + bUartSndOverFlg = 0; + ucIapRestCommand = 0; + ((void(code*)(void))0x0000)(); + } + } + } + #elif ((UART_DEFINE >= 31)&&(UART_DEFINE<= 60)) + { + INSCON = 0x40; + if(RI1) + { + //BootMcuWdtClear(); //ڸóѭУδյUARTͨѶжͨѶ쳣Ź + ucUartBuf[ucUartBufPT] = SBUF1; + INSCON = 0x00; + ucUartBufPT++; + if(ucUartBufPT >= 140) //ָ벻ᳬ140 + { + ucUartBufPT = 0; + } + if(ucUartBufPT == 1) + { + if(ucUartBuf[HEARD1] != 0x5A) //֡ͷǷWie0x5AA5 + { + ucUartBufPT = 0; + } + + } + else if(ucUartBufPT == 2) + { + + if(ucUartBuf[HEARD2] != 0xA5) + { + ucUartBufPT = 0; + } + else + { + uiUartRcvChkSum = 0; //֡ͷжȷ + ucUartErrCode = 0; + } + } + else + { + + if(ucUartBufPT < (ucUartBuf[LENGTH]+9)) + { + if(ucUartBufPT <= (ucUartBuf[LENGTH]+7)) + { + uiUartRcvChkSum += ucUartBuf[ucUartBufPT-1]; + } + + if(ucUartBufPT == (TARGET+1)) //ID + { + + if(ucUartBuf[TARGET] != IAP_BMSID) + { + ucUartBufPT = 0; + } + } + else if(ucUartBufPT == (COMMAND+1)) //COMMAND + { + if((ucUartBuf[COMMAND] != IAP_CMD_HANDSHAKE) + && (ucUartBuf[COMMAND] != IAP_CMD_BEGIN) + && (ucUartBuf[COMMAND] != IAP_CMD_TRANS) + && (ucUartBuf[COMMAND] != IAP_CMD_VERIFY) + && (ucUartBuf[COMMAND] != IAP_CMD_RESET)) + { + ucUartErrCode |= IAPERROR_CMD; + } + } + } + else + { + BootMcuWdtClear(); + UartCmdProcess(); + } + } + INSCON = 0x40; + RI1 = 0; + INSCON = 0x00; + } + INSCON = 0x40; + + if(TI1) + { + INSCON = 0x00; + BootMcuWdtClear(); //ڸóѭУδյUARTͨѶжͨѶ쳣Ź + + if(ucUartBufPT >= (ucUartBuf[LENGTH]+8)) + { + UartRxEn(); //Allow UART receive data + ucUartBufPT = 0; + ucUartBuf[0] = 0; + ucUartBuf[1] = 0; + ucUartBuf[2] = 0; + bUartSndOverFlg = 1; + } + else + { + ucUartBufPT++; + UartTxEn(ucUartBuf[ucUartBufPT]); + } + INSCON = 0x40; + + TI1 = 0; + INSCON = 0x00; + } + + if(ucIapRestCommand == IAP_CMD_RESET) + { + BootMcuWdtClear(); + if(bUartSndOverFlg) //Reset֡ظ + { + bUartSndOverFlg = 0; + ucIapRestCommand = 0; + ((void(code*)(void))0x0000)(); + } + } + } + #elif ( UART_DEFINE == 61) + { + INSCON = 0x40; + if(RI2) + { + //BootMcuWdtClear(); //ڸóѭУδյUARTͨѶжͨѶ쳣Ź + ucUartBuf[ucUartBufPT] = SBUF2; + INSCON = 0x00; + ucUartBufPT++; + if(ucUartBufPT >= 140) //ָ벻ᳬ140 + { + ucUartBufPT = 0; + } + if(ucUartBufPT == 1) + { + if(ucUartBuf[HEARD1] != 0x5A) //֡ͷǷWie0x5AA5 + { + ucUartBufPT = 0; + } + + } + else if(ucUartBufPT == 2) + { + + if(ucUartBuf[HEARD2] != 0xA5) + { + ucUartBufPT = 0; + } + else + { + uiUartRcvChkSum = 0; //֡ͷжȷ + ucUartErrCode = 0; + } + } + else + { + + if(ucUartBufPT < (ucUartBuf[LENGTH]+9)) + { + if(ucUartBufPT <= (ucUartBuf[LENGTH]+7)) + { + uiUartRcvChkSum += ucUartBuf[ucUartBufPT-1]; + } + + if(ucUartBufPT == (TARGET+1)) //ID + { + + if(ucUartBuf[TARGET] != IAP_BMSID) + { + ucUartBufPT = 0; + } + } + else if(ucUartBufPT == (COMMAND+1)) //COMMAND + { + if((ucUartBuf[COMMAND] != IAP_CMD_HANDSHAKE) + && (ucUartBuf[COMMAND] != IAP_CMD_BEGIN) + && (ucUartBuf[COMMAND] != IAP_CMD_TRANS) + && (ucUartBuf[COMMAND] != IAP_CMD_VERIFY) + && (ucUartBuf[COMMAND] != IAP_CMD_RESET)) + { + ucUartErrCode |= IAPERROR_CMD; + } + } + } + else + { + BootMcuWdtClear(); + UartCmdProcess(); + } + } + INSCON = 0x40; + RI2 = 0; + INSCON = 0x00; + } + INSCON = 0x40; + + if(TI2) + { + INSCON = 0x00; + BootMcuWdtClear(); //ڸóѭУδյUARTͨѶжͨѶ쳣Ź + + if(ucUartBufPT >= (ucUartBuf[LENGTH]+8)) + { + UartRxEn(); //Allow UART receive data + ucUartBufPT = 0; + ucUartBuf[0] = 0; + ucUartBuf[1] = 0; + ucUartBuf[2] = 0; + bUartSndOverFlg = 1; + } + else + { + ucUartBufPT++; + UartTxEn(ucUartBuf[ucUartBufPT]); + } + INSCON = 0x40; + + TI2 = 0; + INSCON = 0x00; + } + + if(ucIapRestCommand == IAP_CMD_RESET) + { + BootMcuWdtClear(); + if(bUartSndOverFlg) //Reset֡ظ + { + bUartSndOverFlg = 0; + ucIapRestCommand = 0; + ((void(code*)(void))0x0000)(); + } + } + } + #endif + } +} + + + + + + + diff --git a/code_bootloader/Main.c b/code_bootloader/Main.c new file mode 100644 index 0000000..1fedc90 --- /dev/null +++ b/code_bootloader/Main.c @@ -0,0 +1,647 @@ +/******************************************************************************** +Copyright (C), Sinowealth Electronic. Ltd. +Author: Sino +Version: V0.0 +Date: 2020/04/26 +History: + V2.0 2020/04/26 Preliminary +********************************************************************************/ +#include "MCURegister.h" +#include "C51_TYPE.H" +#include "Flash.h" +#include "IapIsp.h" +#include "INTRINS.H" + + + +/************************************************************************************************* +* : InitGPIO +* : +* ֵ: +* : ֻҪʼ͹ϵͳصIO˿ +*************************************************************************************************/ +void InitGPIO(void) +{ + P0 = 0xF8; + P0CR = 0x8F; + P0PCR = 0xC8; + + P1 = 0x80; + P1CR = 0x7F; + P1PCR = 0x80; + + P2 = 0xE0; + P2CR = 0x3F; + P2PCR = 0xC0; + + P3 = 0x19; + P3CR = 0xE6; + P3PCR = 0x19; + + #if (UART_DEFINE == 1) + P0 |= 0xC0; + P0PCR |= 0x80; + #endif + + #if (UART_DEFINE == 2) + P0 |= 0x40; + P2 |= 0x10; + P2PCR |= 0x10; + #endif + + #if (UART_DEFINE == 3) + P0 |= 0x40; + P2 |= 0x20; + P2PCR |= 0x20; + #endif + + #if (UART_DEFINE == 4) + P0 |= 0x41; + P0PCR |= 0x01; + #endif + + #if (UART_DEFINE == 5) + P0 |= 0x42; + P0PCR |= 0x02; + #endif + + #if (UART_DEFINE == 6) + P0 |= 0xC0; + P0PCR |= 0x40; + #endif + + #if (UART_DEFINE == 7) + P0 |= 0x80; + P2 |= 0x10; + P2PCR |= 0x10; + #endif + + #if (UART_DEFINE == 8) + P0 |= 0x80; + P2 |= 0x20; + P2PCR |= 0x20; + #endif + + #if (UART_DEFINE == 9) + P0 |= 0x81; + P0PCR |= 0x01; + #endif + + #if (UART_DEFINE == 10) + P0 |= 0x82; + P0PCR |= 0x02; + #endif + + #if (UART_DEFINE == 11) + P0 |= 0x40; + P2 |= 0x10; + P0PCR |= 0x40; + #endif + + #if (UART_DEFINE == 12) + P0 |= 0x80; + P2 |= 0x10; + P0PCR |= 0x80; + #endif + + #if (UART_DEFINE == 13) + P2 |= 0x30; + P2PCR |= 0x20; + #endif + + #if (UART_DEFINE == 14) + P0 |= 0x01; + P2 |= 0x10; + P0PCR |= 0x01; + #endif + + #if (UART_DEFINE == 15) + P0 |= 0x02; + P2 |= 0x10; + P0PCR |= 0x02; + #endif + + #if (UART_DEFINE == 16) + P0 |= 0x40; + P2 |= 0x20; + P0PCR |= 0x40; + #endif + + #if (UART_DEFINE == 17) + P0 |= 0x80; + P2 |= 0x20; + P0PCR |= 0x80; + #endif + + #if (UART_DEFINE == 18) + P2 |= 0x30; + P2PCR |= 0x10; + #endif + + #if (UART_DEFINE == 19) + P0 |= 0x01; + P2 |= 0x20; + P0PCR |= 0x01; + #endif + + #if (UART_DEFINE == 20) + P0 |= 0x02; + P2 |= 0x20; + P0PCR |= 0x02; + #endif + + #if (UART_DEFINE == 21) + P0 |= 0x81; + P0PCR |= 0x80; + #endif + + #if (UART_DEFINE == 22) + P0 |= 0x01; + P2 |= 0x10; + P2PCR |= 0x10; + #endif + + #if (UART_DEFINE == 23) + P0 |= 0x01; + P2 |= 0x20; + P2PCR |= 0x20; + #endif + + #if (UART_DEFINE == 24) + P0 |= 0x41; + P0PCR |= 0x40; + #endif + + #if (UART_DEFINE == 25) + P0 |= 0x03; + P0PCR |= 0x02; + #endif + + #if (UART_DEFINE == 26) + P0 |= 0x82; + P0PCR |= 0x80; + #endif + + #if (UART_DEFINE == 27) + P0 |= 0x02; + P2 |= 0x10; + P2PCR |= 0x10; + #endif + + #if (UART_DEFINE == 28) + P0 |= 0x02; + P2 |= 0x20; + P2PCR |= 0x20; + #endif + + #if (UART_DEFINE == 29) + P0 |= 0x42; + P0PCR |= 0x40; + #endif + + #if (UART_DEFINE == 30) + P0 |= 0x03; + P0PCR |= 0x01; + #endif + +//UART1IO + #if (UART_DEFINE == 31) + P1 |= 0x03; + P1PCR |= 0x02; + #endif + + #if (UART_DEFINE == 32) + P1 |= 0x01; + P3 |= 0x08; + P3PCR |= 0x08; + #endif + + #if (UART_DEFINE == 33) + P1 |= 0x01; + P3 |= 0x10; + P3PCR |= 0x10; + #endif + + #if (UART_DEFINE == 34) + P1 |= 0x01; + P2 |= 0x40; + P2PCR |= 0x40; + #endif + + #if (UART_DEFINE == 35) + P1 |= 0x01; + P2 |= 0x80; + P2PCR |= 0x80; + #endif + + #if (UART_DEFINE == 36) + P1 |= 0x03; + P1PCR |= 0x01; + #endif + + #if (UART_DEFINE == 37) + P1 |= 0x02; + P3 |= 0x08; + P3PCR |= 0x08; + #endif + + #if (UART_DEFINE == 38) + P1 |= 0x02; + P3 |= 0x10; + P3PCR |= 0x10; + #endif + + #if (UART_DEFINE == 39) + P1 |= 0x02; + P2 |= 0x40; + P2PCR |= 0x40; + #endif + + #if (UART_DEFINE == 40) + P1 |= 0x02; + P2 |= 0x80; + P2PCR |= 0x80; + #endif + + #if (UART_DEFINE == 41) + P1 |= 0x01; + P3 |= 0x08; + P1PCR |= 0x01; + #endif + + #if (UART_DEFINE == 42) + P1 |= 0x02; + P3 |= 0x08; + P1PCR |= 0x01; + #endif + + #if (UART_DEFINE == 43) + P3 |= 0x18; + P3PCR |= 0x10; + #endif + + #if (UART_DEFINE == 44) + P3 |= 0x08; + P2 |= 0x40; + P2PCR |= 0x40; + #endif + + #if (UART_DEFINE == 45) + P3 |= 0x08; + P2 |= 0x80; + P2PCR |= 0x80; + #endif + + #if (UART_DEFINE == 46) + P1 |= 0x01; + P3 |= 0x10; + P1PCR |= 0x01; + #endif + + #if (UART_DEFINE == 47) + P1 |= 0x02; + P3 |= 0x10; + P1PCR |= 0x02; + #endif + + #if (UART_DEFINE == 48) + P3 |= 0x18; + P3PCR |= 0x08; + #endif + + #if (UART_DEFINE == 49) + P3 |= 0x10; + P2 |= 0x40; + P2PCR |= 0x40; + #endif + + #if (UART_DEFINE == 50) + P3 |= 0x10; + P2 |= 0x80; + P2PCR |= 0x80; + #endif + + #if (UART_DEFINE == 51) + P1 |= 0x01; + P2 |= 0x40; + P1PCR |= 0x01; + #endif + + #if (UART_DEFINE == 52) + P1 |= 0x02; + P2 |= 0x40; + P1PCR |= 0x02; + #endif + + #if (UART_DEFINE == 53) + P2 |= 0x40; + P3 |= 0x08; + P3PCR |= 0x08; + #endif + + #if (UART_DEFINE == 54) + P3 |= 0x10; + P2 |= 0x40; + P3PCR |= 0x10; + #endif + + #if (UART_DEFINE == 55) + P2 |= 0xC0; + P2PCR |= 0x80; + #endif + + #if (UART_DEFINE == 56) + P1 |= 0x01; + P2 |= 0x80; + P1PCR |= 0x01; + #endif + + #if (UART_DEFINE == 57) + P1 |= 0x02; + P2 |= 0x80; + P1PCR |= 0x02; + #endif + + #if (UART_DEFINE == 58) + P2 |= 0x80; + P3 |= 0x08; + P3PCR |= 0x08; + #endif + + #if (UART_DEFINE == 59) + P3 |= 0x10; + P2 |= 0x80; + P3PCR |= 0x10; + #endif + + #if (UART_DEFINE == 60) + P2 |= 0xC0; + P2PCR |= 0x40; + #endif + +//UART2IOãǰdemo˴LEDʾܣִ֧ͨѶdemoΪʹuart2ڹ + #if (UART_DEFINE == 61) + P2 |= 0x06; + P2PCR |= 0x02; + #endif +} + +/************************************************************************************************* +* : InitIRQ +* : +* ֵ: +* : رжϼ +*************************************************************************************************/ +void InitIRQ(void) +{ + IEN0 = 0x00; + IEN1 = 0x00; + IEN2 = 0x00; +} +#if ((UART_DEFINE >= 1)&&(UART_DEFINE<= 30)) +/************************************************************************************************* +* : UARTInit +* : Bps: UARTͨѶ +* ֵ: +* : ʼUARTģ +*************************************************************************************************/ +void UARTInit(void) +{ + #if UART_DEFINE == 1 + UART0CR = 0x32; + #elif UART_DEFINE == 2 + UART0CR = 0x42; + #elif UART_DEFINE == 3 + UART0CR = 0x52; + #elif UART_DEFINE == 4 + UART0CR = 0x02; + #elif UART_DEFINE == 5 + UART0CR = 0x12; + #elif UART_DEFINE == 6 + UART0CR = 0x23; + #elif UART_DEFINE == 7 + UART0CR = 0x43; + #elif UART_DEFINE == 8 + UART0CR = 0x53; + #elif UART_DEFINE == 9 + UART0CR = 0x03; + #elif UART_DEFINE == 10 + UART0CR = 0x13; + #elif UART_DEFINE == 11 + UART0CR = 0x24; + #elif UART_DEFINE == 12 + UART0CR = 0x34; + #elif UART_DEFINE == 13 + UART0CR = 0x54; + #elif UART_DEFINE == 14 + UART0CR = 0x04; + #elif UART_DEFINE == 15 + UART0CR = 0x14; + #elif UART_DEFINE == 16 + UART0CR = 0x25; + #elif UART_DEFINE == 17 + UART0CR = 0x35; + #elif UART_DEFINE == 18 + UART0CR = 0x45; + #elif UART_DEFINE == 19 + UART0CR = 0x05; + #elif UART_DEFINE == 20 + UART0CR = 0x15; + #elif UART_DEFINE == 21 + UART0CR = 0x30; + #elif UART_DEFINE == 22 + UART0CR = 0x40; + #elif UART_DEFINE == 23 + UART0CR = 0x50; + #elif UART_DEFINE == 24 + UART0CR = 0x20; + #elif UART_DEFINE == 25 + UART0CR = 0x10; + #elif UART_DEFINE == 26 + UART0CR = 0x31; + #elif UART_DEFINE == 27 + UART0CR = 0x41; + #elif UART_DEFINE == 28 + UART0CR = 0x51; + #elif UART_DEFINE == 29 + UART0CR = 0x21; + #elif UART_DEFINE == 30 + UART0CR = 0x01; + #endif + + PCON = 0x00; + SCON = 0x50; + SBRTH = UART_BPS_H; + SBRTL = UART_BPS_L; + SFINE = UART_BPS_F; + SBRTH |= 0x80; + SADDR = 0x0A; + SADEN = 0xFF; +} + +#elif ((UART_DEFINE >= 31)&&(UART_DEFINE<= 60)) +void UARTInit(void) +{ + INSCON = 0x00; + #if UART_DEFINE == 31 + UART1CR = 0x10; + #elif UART_DEFINE == 32 + UART1CR = 0x40; + #elif UART_DEFINE == 33 + UART1CR = 0x50; + #elif UART_DEFINE == 34 + UART1CR = 0x20; + #elif UART_DEFINE == 35 + UART1CR = 0x30; + #elif UART_DEFINE == 36 + UART1CR = 0x01; + #elif UART_DEFINE == 37 + UART1CR = 0x41; + #elif UART_DEFINE == 38 + UART1CR = 0x51; + #elif UART_DEFINE == 39 + UART1CR = 0x21; + #elif UART_DEFINE == 40 + UART1CR = 0x31; + #elif UART_DEFINE == 41 + UART1CR = 0x04; + #elif UART_DEFINE == 42 + UART1CR = 0x14; + #elif UART_DEFINE == 43 + UART1CR = 0x54; + #elif UART_DEFINE == 44 + UART1CR = 0x24; + #elif UART_DEFINE == 45 + UART1CR = 0x34; + #elif UART_DEFINE == 46 + UART1CR = 0x05; + #elif UART_DEFINE == 47 + UART1CR = 0x15; + #elif UART_DEFINE == 48 + UART1CR = 0x45; + #elif UART_DEFINE == 49 + UART1CR = 0x25; + #elif UART_DEFINE == 50 + UART1CR = 0x35; + #elif UART_DEFINE == 51 + UART1CR = 0x02; + #elif UART_DEFINE == 52 + UART1CR = 0x12; + #elif UART_DEFINE == 53 + UART1CR = 0x42; + #elif UART_DEFINE == 54 + UART1CR = 0x52; + #elif UART_DEFINE == 55 + UART1CR = 0x32; + #elif UART_DEFINE == 56 + UART1CR = 0x03; + #elif UART_DEFINE == 57 + UART1CR = 0x13; + #elif UART_DEFINE == 58 + UART1CR = 0x43; + #elif UART_DEFINE == 59 + UART1CR = 0x53; + #elif UART_DEFINE == 60 + UART1CR = 0x23; + #endif + INSCON = 0x40; + + PCON1 = 0x00; + SCON1 = 0x50; //Uartģʽ1 + SBRTH1 = UART_BPS_H; + SBRTL1 = UART_BPS_L; + SFINE1 = UART_BPS_F; + SBRTH1 |= 0x80; //ʹܲʷ + SADDR1 = 0x0A; //UARTַʼĬΪ0x0A + SADEN1 = 0xFF; + INSCON = 0x00; +} +#elif (UART_DEFINE == 61) +void UARTInit(void) +{ + INSCON = 0x40; + PCON2 = 0x00; + SCON2 = 0x50; //Uartģʽ1 + SBRTH2 = UART_BPS_H; //115200bps + SBRTL2 = UART_BPS_L; + SFINE2 = UART_BPS_F; + SBRTH2 |= 0x80; //ʹܲʷ + SADDR2 = 0x0A; //UARTַʼĬΪ0x0A + SADEN2 = 0xFF; + INSCON = 0x00; +} +#else +#Error: "UART_DEFINE ERROR" +#endif + + +/************************************************************************************************* +* : Initial +* : +* ֵ: +* : ʼϵͳ +*************************************************************************************************/ +void Initial(void) +{ + InitIRQ(); + InitGPIO(); + bHandsheakOkFlg = 0; +} + + +/************************************************************************************************* +* : main +* : +* ֵ: +* : Boot +*************************************************************************************************/ +void main(void) +{ + BootMcuWdtClear(); + Initial(); //ӲԴʼ + +//1.ȡԶ־λ״̬IAP־Ҫг + if(McuFlashRdOneByte(BOOT_FLG_IAP_ADDR, MCU_TYPE_CODE) == IAP_FLG) + { + bIapIspFlg = IAP_MODE; + ucMcuFlashWrValid = 0x55; //MCU Codeɲ־ֹд + if(BootUpgradeCode()) // + { + ucMcuFlashWrValid = 0; + ((void(code*)(void))IAP_CODE_START_ADDR)(); //ɹתӦó׵ַ + } + else if(BootUpgradeCode()) // + { + ucMcuFlashWrValid = 0; + ((void(code*)(void))IAP_CODE_START_ADDR)(); //ɹתӦó׵ַ + } + else + { + while(1) + { + ucMcuFlashWrValid = 0; + SUSLO = 0x55; + PCON |= 0x02; + _nop_(); + _nop_(); + _nop_(); + _nop_(); + _nop_(); + } + } + } +//2.жǷISPɹñ־ڱʾ֮ǰISPʧܣҪBOOTISP + else if(McuFlashRdOneByte(BOOT_FLG_ISP_ADDR, MCU_TYPE_CODE) == ISP_FLG) + { + bIapIspFlg = ISP_MODE; + BootIapIsp(); + } +//3.,ֱתӦó + else + { + ((void(code*)(void))IAP_CODE_START_ADDR)(); + } +} + + + diff --git a/code_bootloader/STARTUP.A51 b/code_bootloader/STARTUP.A51 new file mode 100644 index 0000000..39dc91c --- /dev/null +++ b/code_bootloader/STARTUP.A51 @@ -0,0 +1,110 @@ +$NOMOD51 +NAME ?C_STARTUP + +EXTRN CODE (?C_START) +PUBLIC ?C_STARTUP +IDATALEN EQU 100H +CLKCON EQU 0B2H +SSP_LEN EQU 0x1000 //ƫƵ4Kʼλ + + ISEG AT 0x80 +STACK: DS 128 + + CSEG AT 0 +?C_STARTUP: + LJMP STARTUP1 + + ?C_C51STARTUP SEGMENT CODE + RSEG ?C_C51STARTUP +STARTUP1: + MOV SP, #STACK-1 + MOV CLKCON, #08H ;SETB HFON + NOP + NOP + NOP + NOP + NOP + NOP + NOP + NOP + ORL CLKCON, #04H ;SETB FS, SYSCLK=24M + +IF IDATALEN <> 0 + MOV R0,#IDATALEN - 1 + CLR A +IDATALOOP: MOV @R0,A + DJNZ R0,IDATALOOP +ENDIF + + LJMP ?C_START + + + + + CSEG AT 00003H + LJMP SSP_LEN+00003H + + CSEG AT 0000BH + LJMP SSP_LEN+0000BH + + CSEG AT 00013H + LJMP SSP_LEN+00013H + + CSEG AT 0001BH + LJMP SSP_LEN+0001BH + + CSEG AT 00023H + LJMP SSP_LEN+00023H + + CSEG AT 0002BH + LJMP SSP_LEN+0002BH + + CSEG AT 00033H + LJMP SSP_LEN+00033H + + CSEG AT 0003BH + LJMP SSP_LEN+0003BH + + CSEG AT 00043H + LJMP SSP_LEN+00043H + + CSEG AT 0004BH + LJMP SSP_LEN+0004BH + + CSEG AT 00053H + LJMP SSP_LEN+00053H + + CSEG AT 0005BH + LJMP SSP_LEN+0005BH + + CSEG AT 00063H + LJMP SSP_LEN+00063H + + CSEG AT 0006BH + LJMP SSP_LEN+0006BH + + CSEG AT 00073H + LJMP SSP_LEN+00073H + + CSEG AT 0007BH + LJMP SSP_LEN+0007BH + + CSEG AT 00083H + LJMP SSP_LEN+00083H + + CSEG AT 0008BH + LJMP SSP_LEN+0008BH + + CSEG AT 00093H + LJMP SSP_LEN+00093H + + CSEG AT 0009BH + LJMP SSP_LEN+0009BH + + CSEG AT 000A3H + LJMP SSP_LEN+000A3H + + CSEG AT (1000H-200H) +FlagCode: DS 512 + +END \ No newline at end of file diff --git a/code_dataflash/DataFlash.c b/code_dataflash/DataFlash.c new file mode 100644 index 0000000..bc27b1b --- /dev/null +++ b/code_dataflash/DataFlash.c @@ -0,0 +1,655 @@ +/******************************************************************************** +Copyright (C), Sinowealth Electronic. Ltd. +Author: Sino +Version: V0.0 +Date: 2014/09/10 +History: +V0.0 2014/09/10 Preliminary +********************************************************************************/ +//*** <<< use Configuration Wizard in Context Menu >>> *** +#define _RAM_CHECK_DATA 0x5A +#define _FLASH_CHECK_DATA 0x5AA5 + +// ϵͳϢ(SubClassID=0x00 length=48) +// ذϢE2uiPackConfigMap +// +#define _EPCM_LOAD_LOCK 0 //BIT15; 0ʹܸ; 1ʹܸ +// +#define _EPCM_CHARGER_LOCK 0 //BIT14; 0ֳ֧; 1ֳ֧ +// ¶ȼ +#define _EPCM_TEMP_NUM 1 //BIT13; 0¶ȼ 1¶ȼ +// LEDʾ +#define _EPCM_LED_NUM 0 //BIT11~12; δ +// о +#define _EPCM_CELL_NUM 10 //BIT8~10; о6~10 +// EEPROM +#define _EPCM_EEPROM_EN 0 //BIT7; 0ʹEEݹ; 1ʹEEݹ +// ŵMOS +#define _EPCM_OCPM 0 //BIT6; δã0ŵرշŵmos 1ŵرճŵmos +// ߼ +#define _EPCM_CTO_EN 1 //BIT5; 0ʹܶ߱; 1ʹܶ߱ +// +#define _EPCM_PF_EN 1 //BIT4; 0ʹܶ; 1ʹܶ +// +#define _EPCM_BAL_EN 0 //BIT3; 0ʹܾ⹦ܣ 1ʹܾ⹦ +// Իָ +#define _EPCM_OCRC_EN 0 //BIT2; 0:ʹܹԻָܣ 1ʹܹԻָ +// Ӳѹ +#define _EPCM_OV_EN 1 //BIT1; 0:ʹӲѹܣ 1ʹӲѹ +// Ӳ· +#define _EPCM_SC 1 //BIT0; 0:ʹӲ·ܣ 1ʹӲ· + +#define _E2_PACKCONFIGMAP (_EPCM_EEPROM_EN<<15)|(_EPCM_OCPM<<14)|(_EPCM_CTO_EN<<13)|(_EPCM_PF_EN<<12)\ + |(_EPCM_BAL_EN<<11)|(_EPCM_OCRC_EN<<10)|(_EPCM_OV_EN<<9)\ + |(_EPCM_SC<<8)|(_EPCM_LOAD_LOCK<<7)|(_EPCM_CHARGER_LOCK<<6)\ + |(_EPCM_TEMP_NUM<<5)|(_EPCM_LED_NUM<<4)|(_EPCM_CELL_NUM-3) //U16 xdata E2uiPackConfigMap + +// + +// OCVѹmV +// 10%Ӧѹ +#define _E2_VOC10 3200 //U16 xdata VOC10 +// 20%Ӧѹ +#define _E2_VOC20 3400 //U16 xdata VOC10 +// 30%Ӧѹ +#define _E2_VOC30 3550 //U16 xdata VOC10 +// 40%Ӧѹ +#define _E2_VOC40 3700 //U16 xdata VOC10 +// 50%Ӧѹ +#define _E2_VOC50 3800 //U16 xdata VOC10 +// 60%Ӧѹ +#define _E2_VOC60 3900 //U16 xdata VOC10 +// 70%Ӧѹ +#define _E2_VOC70 4000 //U16 xdata VOC10 +// 80%Ӧѹ +#define _E2_VOC80 4100 //U16 xdata VOC10 +// 90%Ӧѹ +#define _E2_VOC90 4150 //U16 xdata VOC10 +// 100%Ӧѹ +#define _E2_VOC100 4200 //U16 xdata VOC10 +// + +// ʱԤ +// mAh +#define _E2_ulDesignCapacity 4000 //U32 xdata E2ulDesignCapacity +// mAh +#define _E2_ulFCC 4000 //U32 xdata E2ulFCC +// ѭֵ +#define _E2_ulCycleThreshold 3000 // U32 xdata E2ulCycleThreshold +// ѭ +#define _E2_uiCycleCount 0 // U16 xdata E2uiCycleCount +// ѧϰ¶ +#define _E2_uiLearnLowTempe 2881 // U16 xdata E2uiLearnLowTempe +#define _E2_Reserve 0 // U16 xdata E2Reserve Ԥռλ +// ŵֵ +#define _E2_siDfilterCur 100 // U16 xdata E2siDfilterCur +// ͹ļʱ +#define _E2_ucLowPowerDeley 20 // U16 xdata E2ucLowPowerDeley +// 籸ݼʱ +#define _E2_ucChgBKDelay 1 // U16 xdata E2ucChgBKDelay +// 籸ݼ +#define _E2_siChgBKCur 100 // U16 xdata E2siChgBKCur +// RTCݼʱ +#define _E2_ucRTCBKDelay 5 // U16 xdata E2ucRTCBKDelay +#define _E2_ucRamCheckFlg0 _RAM_CHECK_DATA // U16 xdata E2ucRamCheckFlg0 +// +// + +// ûԶ(SubClassID=0x01 length=50) +// 汾(EXP:0x0106 = V1.06)<0x0000-0xffff> +#define _E2_SWVersion 0x0215 // U16 xdata SWVersion +// Ӳ汾(EXP:0x0106 = V1.06)<0x0000-0xffff> +#define _E2_HWVersion 0x0130 // U16 xdata HWVersion +// 豸ID<0x00-0xff> +#define _E2_ID 0x00 // U8 xdata ID +// +#define _E2_MNFName "sinowealth" // U8 xdata MNFName[12] +// ڣexp0x20230404=2023.04.04<0x00000000-0xffffffff> +#define _E2_MNFDate 0x20231222 // U32 xdata MNFDate +// к<0x0000-0xffff> +#define _E2_SerialNum 0x0000 // U16 xdata SerialNum +// 豸 +#define _E2_DeviceName "SH39F004" // U8 xdata DeviceName[12] +// о +#define _E2_DeviceChem "LION" // U8 xdata DeviceChem[12] +// оѧID<0x0000-0xffff> +#define _E2_ChemID 0x0000 // U16 xdata ChemID +#define _E2_ucRamCheckFlg1 _RAM_CHECK_DATA // U8 xdata E2ucRamCheckFlg2 +// + +// (SubClassID=0x02 length=18) +// ѹֵ +#define _E2_uiOVvol 4250 // U16 xdata E2uiOVvol +// ѹֵָ +#define _E2_uiOVRvol 4150 // U16 xdata E2uiOVRvol +// ѹʱ +#define _E2_ucDelayOV 2 // U8 xdata E2ucDelayOV +// ѹָʱ +#define _E2_ucDelayOVR 2 // U8 xdata E2ucDelayOVR +// ֹѹ(mV) +#define _E2_uiChgEndVol 4160 // U16 xdata E2uiChgEndVol +// ֹ(mA) +#define _E2_siChgEndCurr 100 // S16 xdata E2siChgEndCurr +// ֹʱ(S) +#define _E2_ucChgEndDelay 5 // U8 xdata E2ucChgEndDelay +// ֵ +#define _E2_slOCCvol 3000 // U32 xdata E2slOCCvol +// ʱ +#define _E2_ucDelayOCC 2 // U8 xdata E2ucDelayOCC +// ָʱ +#define _E2_ucDelayOCCR 2 // U8 xdata E2ucDelayOCCR +#define _E2_ucRamCheckFlg2 _RAM_CHECK_DATA // U8 xdata E2ucRamCheckFlg2 +// + +// ŵ(SubClassID=0x03 length=21) +// Ƿѹѹ +#define _E2_uiUVvol 2700 // U16 xdata E2uiUVvol +// Ƿѹָѹ +#define _E2_uiUVRvol 3000 // U16 xdata E2uiUVRvol +// Ƿѹʱ +#define _E2_ucDelayUV 2 // U8 xdata E2ucDelayUV +// Ƿѹָʱ +#define _E2_ucDelayUVR 2 // U8 xdata E2ucDelayUVR +// ŵֹʱ(S) +#define _E2_ucDsgEndDelay 5 // U8 xdata E2ucDsgEndDelay +// ŵֹѹ(mV) +#define _E2_uiDsgEndVol 2900 // U16 xdata E2uiDsgEndVol +// ŵ1ֵ +#define _E2_uiOCDvol -20000 //U32 xdata E2uiOCDvol +// ŵ1ʱ +#define _E2_ucDelayOCD 2 //U8 xdata E2ucDelayOCD +// ŵ2ֵ +#define _E2_slOCD2vol -40000 // S32 xdata E2slOCD2vol +// ŵ2ʱ +#define _E2_ucDelayOCD2 2 //U8 xdata E2ucDelayOCD2 +// Ƴʱ +#define _E2_ucDelayLoadR 4 //U8 xdata E2ucDelayLoadR +#define _E2_ucRamCheckFlg3 _RAM_CHECK_DATA // U8 xdata E2ucRamCheckFlg3 +// + +// ŵPWM(SubClassID=0x05 length=5) +// PWMƵ(Hz) +#define _E2_DSG1PWMFreq 4000 // U16 xdata DSG1PWMFreq +// PWM͵ռձ(%) +#define _E2_DSG1PWMRatioL 30 // U8 xdata DSG1PWMRatioL +// PWMߵռձ(%) +#define _E2_DSG1PWMRatioH 70 // U8 xdata DSG1PWMRatioH +#define _E2_ucRamCheckFlg5 _RAM_CHECK_DATA // U8 xdata E2ucRamCheckFlg5 +// + +// ¶ȱ(SubClassID=0x06 length=11) +// ±¶(_E2_TempOTC=¶*10+2731) +#define _E2_TempOTC 3231 // U16 xdata TempOTC +// ±ͷ¶(_E2_TempOTCR=ͷ¶*10+2731) +#define _E2_TempOTCR 3181 // U16 xdata TempOTCR +// ±¶(_E2_TempUTC=¶*10+2731) +#define _E2_TempUTC 2731 // U16 xdata TempUTC +// ±ͷ¶(_E2_TempUTCR=ͷ¶*10+2731) +#define _E2_TempUTCR 2781 // U16 xdata TempUTCR +// ¶ȱʱ(s) +#define _E2_DelayOTC 3 // U8 xdata DelayOTC +// ¶ȱͷʱ(s) +#define _E2_DelayOTCR 3 // U8 xdata DelayOTCR +#define _E2_ucRamCheckFlg6 _RAM_CHECK_DATA // U8 xdata E2ucRamCheckFlg6 +// + +// ŵ¶ȱ(SubClassID=0x07 length=9) +// ŵ±¶(_E2_TempOTC=¶*10+2731) +#define _E2_TempOTD 3431 // U16 xdata TempOTD +// ŵ±ͷ¶(_E2_TempOTCR=ͷ¶*10+2731) +#define _E2_TempOTDR 3281 // U16 xdata TempOTDR +// ŵ±¶(_E2_TempUTC=¶*10+2731) +#define _E2_TempUTD 2631 // U16 xdata TempUTD +// ŵ±ͷ¶(_E2_TempUTCR=ͷ¶*10+2731) +#define _E2_TempUTDR 2681 // U16 xdata TempUTDR +#define _E2_ucRamCheckFlg7 _RAM_CHECK_DATA // U8 xdata E2ucRamCheckFlg6 +// + +// ƽ(SubClassID=0x08 length=8) +// ƽѹ(mV) +#define _E2_BalanceVol 4180 // U16 xdata BalanceVol +// ƽѹ(mV) +#define _E2_BalanceVolDiff 20 // U16 xdata BalanceVolDiff +// ƽ(mA) +#define _E2_BalCurrent 100 // S16 xdata BalCurrent +// ƽʱ(S) +#define _E2_BalanceDelay 2 // U8 xdata BalanceDelay +#define _E2_ucRamCheckFlg8 _RAM_CHECK_DATA // U8 xdata E2ucRamCheckFlg8 +// + +// ͳƲ(SubClassID=0x09 length=17) +// ٷֱSOC(%) +#define _E2_ucSOC 100 // U8 xdata E2ucSOC +// ʣE2ulDfRC(mAh) +#define _E2_ulDfRC 3000 // U32 xdata E2ulLastFCC +// ŵֹ +#define _E2_slDsgEndCurr -5000 // U32 xdata E2slDsgEndCurr +// ŵѭֵ +#define _E2_ulCycleThresholdCount 0 // U32 xdata E2ulCycleThresholdCount +// ϴθʱѭ +#define _E2_uiLastCCount 0 // U16 xdata E2uiLastCCount +// ŵֹ־ +#define _E2_ucDsgEndFlg 0 //U8 xdata E2ucDsgEndFlg +#define _E2_ucRamCheckFlg9 _RAM_CHECK_DATA // U8 xdata E2ucRamCheckFlg9 +// + +// AFE(SubClassID=0x0A length=4) +// +#define _E2_AFEProtectConfig 0x74 // U8 xdata AFEProtectConfig +// Ӳѹֵ +#define _E2_AFEOVvol 4400 // U16 xdata AFEOVvol +#define _E2_ucRamCheckFlgA _RAM_CHECK_DATA // U8 xdata E2ucRamCheckFlgA +// + +// У׼(SubClassID=0x0B length=12) +// ѹУ׼ +#define _E2_uiVPackGain 2594 // U16 xdata E2uiVPackGain +// У׼ +#define _E2_siCadcGain -82 // S16 xdata E2siCadcGain +// Ư +#define _E2_siCadcOffset 1 // S16 xdata E2siCadcOffset +// ⲿ¶Ư(TS0) +#define _E2_siTS0Offset 0 // S16 xdata E2siTS0Offset +// ⲿ¶Ư(TS1) +#define _E2_siTS1Offset 0 // S16 xdata E2siTS1Offset +// У׼Ԥ +#define _E2_ucCalibrated 0 // U8 xdata E2ucCalibrated +#define _E2_ucRamCheckFlgB _RAM_CHECK_DATA // U8 xdata E2ucRamCheckFlgB +// + +/*****************************************************************************************************************/ +/*****************************************************************************************************************/ +/*****************************************************************************************************************/ +/*****************************************************************************************************************/ +/*****************************************************************************************************************/ +/*****************************************************************************************************************/ +/*****************************************************************************************************************/ +/*****************************************************************************************************************/ +/*****************************************************************************************************************/ +/*****************************************************************************************************************/ +/*****************************************************************************************************************/ +/*****************************************************************************************************************/ + +struct DataFlashStu +{ +//ϵͳϢʼ SubClassID=0x00 length=48 + unsigned int E2uiPackConfigMap; + unsigned int E2uiVOC[10]; + unsigned long E2ulDesignCapacity; + unsigned long E2ulFCC; + unsigned long E2ulCycleThreshold; + unsigned int E2uiCycleCount; + unsigned int E2uiLearnLowTempe; + unsigned int E2Reserve; + signed int E2siDfilterCur; + unsigned char E2ucLowPowerDeley; + unsigned char E2ucChgBKDelay; + unsigned int E2siChgBKCur; + unsigned char E2ucRTCBKDelay; + unsigned char E2ucRamCheckFlg0; + +//ûԶʼ SubClassID=0x01 langth=50 + unsigned int E2uiSWVersion; + unsigned int E2uiHWVersion; + unsigned char E2ucID; + unsigned char E2ucMNFName[12]; + unsigned long E2ulMNFDate; + unsigned int E2uiSerialNum; + unsigned char E2ucDeviceName[12]; + unsigned char E2ucDeviceChem[12]; + unsigned int E2uiChemID; + unsigned char E2ucRamCheckFlg1; + +//ʼ SubClassID=0x02 langth=18 + unsigned int E2uiOVvol; + unsigned int E2uiOVRvol; + unsigned char E2ucOVDelay; + unsigned char E2ucOVRDelay; + unsigned int E2uiChgEndVol0; + signed int E2siChgEndCurr0; + unsigned char E2ucChgEndDelay0; + signed long E2slOCCvol; + unsigned char E2ucDelayOCC; + unsigned char E2ucDelayOCCR; + unsigned char E2ucRamCheckFlg2; + +//ŵʼ SubClassID=0x03 langth=21 + unsigned int E2uiUVvol; + unsigned int E2uiUVRvol; + unsigned char E2ucDelayUV; + unsigned char E2ucDelayUVR; + unsigned int E2uiDsgEndVol; + unsigned char E2ucDsgEndDelay; + signed long E2uiOCDvol; + unsigned char E2ucDelayOCD; + signed long E2slOCD2vol; + unsigned char E2ucDelayOCD2; + unsigned char E2ucDelayLoadR; + unsigned char E2ucRamCheckFlg3; + +//ŵPWMʼ SubClassID=0x05 langth=5 + unsigned int DSG1PWMFreq; + unsigned char DSG1PWMRatioL; + unsigned char DSG1PWMRatioH; + unsigned char E2ucRamCheckFlg5; + + +//¶ȱʼ SubClassID=0x06 langth=11 + unsigned int TempOTC; + unsigned int TempOTCR; + unsigned int TempUTC; + unsigned int TempUTCR; + unsigned char DelayOTC; + unsigned char DelayOTCR; + unsigned char E2ucRamCheckFlg6; + +//ŵ¶ȱʼ SubClassID=0x07 langth=9 + unsigned int TempOTD; + unsigned int TempOTDR; + unsigned int TempUTD; + unsigned int TempUTDR; + unsigned char E2ucRamCheckFlg7; + +//ƽʼ SubClassID=0x08 langth=8 + unsigned int BalanceVol; + unsigned int BalanceVolDiff; + unsigned int BalCurrent; + unsigned char BalanceDelay; + unsigned char E2ucRamCheckFlg8; + +//ͳ SubClassID=0x09 length=17 + unsigned char E2ucSOC; + unsigned long E2ulDfRC; + signed long E2slDsgEndCurr; + unsigned long E2ulCycleThresholdCount; + unsigned int E2uiLastCCount; + unsigned char E2ucDsgEndFlg; + unsigned char E2ucRamCheckFlg9; + +//AFEʼ SubClassID=0x0A length=4 + unsigned char AFEProtectConfig; + unsigned int AFEOVvol; + unsigned char E2ucRamCheckFlgA; + +//У׼ʼ SubClassID=0x0B length=12 + unsigned int E2uiVPackGain; + signed int E2siCadcGain; + unsigned int E2siCadcOffset; + unsigned int E2siTS0Offset; + unsigned int E2siTS1Offset; + unsigned char E2ucCalibrated; + unsigned char E2ucRamCheckFlgB; +}; + +union DataFlashUn +{ + struct DataFlashStu DataFlashStu0; /*һҪṹٶ*/ + unsigned char reversed[510]; +}; + +struct DataFlashStr +{ + union DataFlashUn DataFlashUnRaw; + unsigned int FlashCheck1; + union DataFlashUn DataFlashUnBak; + unsigned int FlashCheck2; +}; + +struct DataFlashStr code dataflashstr = +{ +/*****************************************************************************************************************/ +//A +/*****************************************************************************************************************/ + //ϵͳϢʼ SubClassID=0x00 length=48 + { + _E2_PACKCONFIGMAP, //U16 xdata E2uiPackConfigMap + _E2_VOC10, //U16 xdata VOC10 + _E2_VOC20, //U16 xdata VOC20 + _E2_VOC30, //U16 xdata VOC30 + _E2_VOC40, //U16 xdata VOC40 + _E2_VOC50, //U16 xdata VOC50 + _E2_VOC60, //U16 xdata VOC60 + _E2_VOC70, //U16 xdata VOC70 + _E2_VOC80, //U16 xdata VOC80 + _E2_VOC90, //U16 xdata VOC90 + _E2_VOC100, //U16 xdata VOC100 + _E2_ulDesignCapacity, // U32 xdata E2ulDesignCapacity + _E2_ulFCC, // U32 xdata E2ulFCC + _E2_ulCycleThreshold, // U32 xdata E2uiCycleThreshold + _E2_uiCycleCount, // U16 xdata E2uiCycleCount + _E2_uiLearnLowTempe, // U16 xdata E2uiLearnLowTempe + _E2_Reserve, // U16 xdata E2Reserve + _E2_siDfilterCur, // S16 xdata E2siDfilterCur + _E2_ucLowPowerDeley, // U8 xdata E2ucLowPowerDeley + _E2_ucChgBKDelay, // U8 xdata E2ucChgBKDelay + _E2_siChgBKCur, // S16 xdata E2siChgBKCur + _E2_ucRTCBKDelay, // U8 xdata E2ucRTCBKDelay + _E2_ucRamCheckFlg0, // U8 xdata E2ucRamCheckFlg0 + + + //ûԶʼ SubClassID=0x01 length=50 + _E2_SWVersion, //U16 xdata SWVersion + _E2_HWVersion, //U16 xdata HWVersion + _E2_ID, //U8 xdata ID + _E2_MNFName, //U8 xdata MNFName[12] + _E2_MNFDate, //U32 xdata MNFDate + _E2_SerialNum, //U16 xdata SerialNum + _E2_DeviceName, //U8 xdata DeviceName[12] + _E2_DeviceChem, //U8 xdata DeviceChem[12] + _E2_ChemID, //U16 xdata ChemID + _E2_ucRamCheckFlg1, //U8 xdata E2ucRamCheckFlg1 + + //ʼ SubClassID=0x02 length=18 + _E2_uiOVvol, //U16 xdata E2uiOVvol + _E2_uiOVRvol, //U16 xdata E2uiOVRvol + _E2_ucDelayOV, //U8 xdata E2ucDelayOV + _E2_ucDelayOVR, //U8 xdata E2ucDelayOVR + _E2_uiChgEndVol, + _E2_siChgEndCurr, + _E2_ucChgEndDelay, + _E2_slOCCvol, //S32 xdata E2slOCCvol + _E2_ucDelayOCC, //U8 xdata E2ucDelayOCC + _E2_ucDelayOCCR, //U8 xdata E2ucDelayOCCR + _E2_ucRamCheckFlg2, //U8 xdata E2ucRamCheckFlg2 + + //ŵʼ SubClassID=0x03 langth=21 + _E2_uiUVvol, //U16 xdata E2uiUVvol + _E2_uiUVRvol, //U16 xdata E2uiUVRvol + _E2_ucDelayUV, //U8 xdata E2ucDelayUV + _E2_ucDelayUVR, //U8 xdata E2ucDelayUVR + _E2_uiDsgEndVol, + _E2_ucDsgEndDelay, + _E2_uiOCDvol, //S32 xdata E2uiOCDvol + _E2_ucDelayOCD, //U8 xdata E2ucDelayOCD + _E2_slOCD2vol, //S32 xdata E2slOCD2vol + _E2_ucDelayOCD2, //U8 xdata E2ucDelayOCD2 + _E2_ucDelayLoadR, //U8 xdata E2ucDelayLoadR + _E2_ucRamCheckFlg3, //U8 xdata E2ucRamCheckFlg3 + + + //ŵPWMʼ SubClassID=0x05 langth=5 + _E2_DSG1PWMFreq, //U16 xdata DSG1PWMFreq + _E2_DSG1PWMRatioL, //U8 xdata DSG1PWMRatioL + _E2_DSG1PWMRatioH, //U8 xdata DSG1PWMRatioH + _E2_ucRamCheckFlg5, //U8 xdata E2ucRamCheckFlg5 + +//¶ȱʼ SubClassID=0x06 langth=11 + _E2_TempOTC, //U16 xdata TempOTC + _E2_TempOTCR, //U16 xdata TempOTCR + _E2_TempUTC, //U16 xdata TempUTC + _E2_TempUTCR, //U16 xdata TempUTCR + _E2_DelayOTC, //U8 xdata DelayOTC + _E2_DelayOTCR, //U8 xdata DelayOTCR + _E2_ucRamCheckFlg6, //U8 xdata E2ucRamCheckFlg6 + +//ŵ¶ȱʼ SubClassID=0x07 langth=9 + _E2_TempOTD, //U16 xdata TempOTD + _E2_TempOTDR, //U16 xdata TempOTDR + _E2_TempUTD, //U16 xdata TempUTD + _E2_TempUTDR, //U16 xdata TempUTDR + _E2_ucRamCheckFlg7, //U8 xdata E2ucRamCheckFlg7 + +//ƽʼ SubClassID=0x08 langth=8 + _E2_BalanceVol, // U16 xdata BalanceVol + _E2_BalanceVolDiff, // U16 xdata BalanceVolDiff + _E2_BalCurrent, // S16 xdata BalCurrent + _E2_BalanceDelay, // U8 xdata BalanceDelay + _E2_ucRamCheckFlg8, // U8 xdata E2ucRamCheckFlg8 + +//ͳ SubClassID=0x09 langth=17 + + _E2_ucSOC, //U8 xdata E2ucSOC + + _E2_ulDfRC, //U32 xdata E2ulLastFCC + + _E2_slDsgEndCurr, //U32 xdata E2slDsgEndCurr + _E2_ulCycleThresholdCount, //U32 xdata E2ulCycleThresholdCount + _E2_uiLastCCount, + _E2_ucDsgEndFlg, //U8 xdata E2ucDsgEndFlg + _E2_ucRamCheckFlg9, //U8 xdata E2ucRamCheckFlg9 + +//AFEʼ SubClassID=0x0A langth=4 + _E2_AFEProtectConfig, // U8 xdata AFEProtectConfig + _E2_AFEOVvol, // U16 xdata AFEOVvol + _E2_ucRamCheckFlgA, // U8 xdata E2ucRamCheckFlgA + +//У׼ʼ SubClassID=0x0B langth=12 + _E2_uiVPackGain, //U16 xdata E2uiVPackGain + _E2_siCadcGain, //S16 xdata E2siCadcGain + _E2_siCadcOffset, //S16 xdata E2siCadcOffset + _E2_siTS0Offset, //S16 xdata E2siTS0Offset + _E2_siTS1Offset, //S16 xdata E2siTS1Offset + _E2_ucCalibrated, //S16 xdata E2ucCalibrated + _E2_ucRamCheckFlgB, //U8 xdata E2ucRamCheckFlgB + }, + + _FLASH_CHECK_DATA, // U16 xdata FlashCheck +/*****************************************************************************************************************/ +//B +/*****************************************************************************************************************/ +/*****************************************************************************************************************/ +//ϵͳϢʼ SubClassID=0x00 langth=48 + { + _E2_PACKCONFIGMAP, //U16 xdata E2uiPackConfigMap + _E2_VOC10, //U16 xdata VOC10 + _E2_VOC20, //U16 xdata VOC20 + _E2_VOC30, //U16 xdata VOC30 + _E2_VOC40, //U16 xdata VOC40 + _E2_VOC50, //U16 xdata VOC50 + _E2_VOC60, //U16 xdata VOC60 + _E2_VOC70, //U16 xdata VOC70 + _E2_VOC80, //U16 xdata VOC80 + _E2_VOC90, //U16 xdata VOC90 + _E2_VOC100, //U16 xdata VOC100 + _E2_ulDesignCapacity, // U32 xdata E2ulDesignCapacity + _E2_ulFCC, // U32 xdata E2ulFCC + _E2_ulCycleThreshold, // U32 xdata E2uiCycleThreshold + _E2_uiCycleCount, // U16 xdata E2uiCycleCount + _E2_uiLearnLowTempe, // U16 xdata E2uiLearnLowTempe + _E2_Reserve, // U16 xdata E2Reserve + _E2_siDfilterCur, // S16 xdata E2siDfilterCur + _E2_ucLowPowerDeley, // U8 xdata E2ucLowPowerDeley + _E2_ucChgBKDelay, // U8 xdata E2ucChgBKDelay + _E2_siChgBKCur, // S16 xdata E2siChgBKCur + _E2_ucRTCBKDelay, // U8 xdata E2ucRTCBKDelay + _E2_ucRamCheckFlg0, // U8 xdata E2ucRamCheckFlg0 + + +//ûԶʼ SubClassID=0x01 length=50 + _E2_SWVersion, //U16 xdata SWVersion + _E2_HWVersion, //U16 xdata HWVersion + _E2_ID, //U8 xdata ID + _E2_MNFName, //U8 xdata MNFName[12] + _E2_MNFDate, //U32 xdata MNFDate + _E2_SerialNum, //U16 xdata SerialNum + _E2_DeviceName, //U8 xdata DeviceName[12] + _E2_DeviceChem, //U8 xdata DeviceChem[12] + _E2_ChemID, //U16 xdata ChemID + _E2_ucRamCheckFlg1, //U8 xdata E2ucRamCheckFlg1 + +//ʼ SubClassID=0x02 length=18 + _E2_uiOVvol, //U16 xdata E2uiOVvol + _E2_uiOVRvol, //U16 xdata E2uiOVRvol + _E2_ucDelayOV, //U8 xdata E2ucDelayOV + _E2_ucDelayOVR, //U8 xdata E2ucDelayOVR + _E2_uiChgEndVol, + _E2_siChgEndCurr, + _E2_ucChgEndDelay, + _E2_slOCCvol, //S32 xdata E2slOCCvol + _E2_ucDelayOCC, //U8 xdata E2ucDelayOCC + _E2_ucDelayOCCR, //U8 xdata E2ucDelayOCCR + _E2_ucRamCheckFlg2, //U8 xdata E2ucRamCheckFlg2 + +//ŵʼ SubClassID=0x03 langth=21 + _E2_uiUVvol, //U16 xdata E2uiUVvol + _E2_uiUVRvol, //U16 xdata E2uiUVRvol + _E2_ucDelayUV, //U8 xdata E2ucDelayUV + _E2_ucDelayUVR, //U8 xdata E2ucDelayUVR + _E2_uiDsgEndVol, + _E2_ucDsgEndDelay, + _E2_uiOCDvol, //S32 xdata E2uiOCDvol + _E2_ucDelayOCD, //U8 xdata E2ucDelayOCD + _E2_slOCD2vol, //S32 xdata E2slOCD2vol + _E2_ucDelayOCD2, //U8 xdata E2ucDelayOCD2 + _E2_ucDelayLoadR, //U8 xdata E2ucDelayLoadR + _E2_ucRamCheckFlg3, //U8 xdata E2ucRamCheckFlg3 + + +//ŵPWMʼ SubClassID=0x05 langth=5 + _E2_DSG1PWMFreq, //U16 xdata DSG1PWMFreq + _E2_DSG1PWMRatioL, //U8 xdata DSG1PWMRatioL + _E2_DSG1PWMRatioH, //U8 xdata DSG1PWMRatioH + _E2_ucRamCheckFlg5, //U8 xdata E2ucRamCheckFlg5 + +//¶ȱʼ SubClassID=0x06 langth=11 + _E2_TempOTC, //U16 xdata TempOTC + _E2_TempOTCR, //U16 xdata TempOTCR + _E2_TempUTC, //U16 xdata TempUTC + _E2_TempUTCR, //U16 xdata TempUTCR + _E2_DelayOTC, //U8 xdata DelayOTC + _E2_DelayOTCR, //U8 xdata DelayOTCR + _E2_ucRamCheckFlg6, //U8 xdata E2ucRamCheckFlg6 + +//ŵ¶ȱʼ SubClassID=0x07 langth=9 + _E2_TempOTD, //U16 xdata TempOTD + _E2_TempOTDR, //U16 xdata TempOTDR + _E2_TempUTD, //U16 xdata TempUTD + _E2_TempUTDR, //U16 xdata TempUTDR + _E2_ucRamCheckFlg7, //U8 xdata E2ucRamCheckFlg7 + +//ƽʼ SubClassID=0x08 langth=8 + _E2_BalanceVol, // U16 xdata BalanceVol + _E2_BalanceVolDiff, // U16 xdata BalanceVolDiff + _E2_BalCurrent, // S16 xdata BalCurrent + _E2_BalanceDelay, // U8 xdata BalanceDelay + _E2_ucRamCheckFlg8, // U8 xdata E2ucRamCheckFlg8 + +//ͳ SubClassID=0x09 langth=17 + _E2_ucSOC, //U8 xdata E2ucSOC + _E2_ulDfRC, //U32 xdata E2ulLastFCC + _E2_slDsgEndCurr, //U32 xdata E2slDsgEndCurr + _E2_ulCycleThresholdCount, //U32 xdata E2ulCycleThresholdCount + _E2_uiLastCCount, + _E2_ucDsgEndFlg, //U8 xdata E2ucDsgEndFlg + + _E2_ucRamCheckFlg9, //U8 xdata E2ucRamCheckFlg9 + +//AFEʼ SubClassID=0x0A langth=4 + _E2_AFEProtectConfig, // U8 xdata AFEProtectConfig + _E2_AFEOVvol, // U16 xdata AFEOVvol + _E2_ucRamCheckFlgA, // U8 xdata E2ucRamCheckFlgA + +//У׼ʼ SubClassID=0x0B langth=12 + _E2_uiVPackGain, //U16 xdata E2uiVPackGain + _E2_siCadcGain, //S16 xdata E2siCadcGain + _E2_siCadcOffset, //S16 xdata E2siCadcOffset + _E2_siTS0Offset, //S16 xdata E2siTS0Offset + _E2_siTS1Offset, //S16 xdata E2siTS1Offset + _E2_ucCalibrated, //S16 xdata E2ucCalibrated + _E2_ucRamCheckFlgB, //U8 xdata E2ucRamCheckFlgB + }, + + _FLASH_CHECK_DATA, // U16 xdata FlashCheck +}; + +//*** <<< end of configuration section >>> *** diff --git a/code_drv/AFE.c b/code_drv/AFE.c new file mode 100644 index 0000000..c98d94d --- /dev/null +++ b/code_drv/AFE.c @@ -0,0 +1,517 @@ +/******************************************************************************** +Copyright (C), Sinowealth Electronic. Ltd. +Author: Sino +Version: V0.0 +Date: 2020/04/26 +History: + V2.0 2020/04/26 Preliminary +********************************************************************************/ +#include "Main.h" + +//AFEصı +BOOL bAfeAlarmFlg; +BOOL bCADCFlg; +BOOL bVADCFlg; +BOOL bAfeI2CRWErrFlg; +BOOL bAfeErr; +U8 data ucCellNum; //ǰӲо +U8 data ucCellNumOffset; //ǰӲоӷʽӦƫƣڳȡAFEӦĴ +U16 data uiCellVmax; //оѹֵ +U16 data uiCellVmin; //оѹСֵ +U16 xdata uiVadcVmax; //ADCɼֵ +U16 xdata uiVadcVmin; //ADCɼСֵ +U8 xdata ucTempeMiddle; +U16 xdata uiTempeMin; +U16 xdata uiTempeMax; +S32 xdata slCadcCurrent; +S32 xdata slCadcCurAverage; +U8 xdata ucCadcCnt; +S32 xdata slCadcCurBuf[16]; +U8 xdata ucAfeI2CErrDelayCnt; +SYSINFOR xdata Info; //ֵ +AFEDATA xdata AFE; //AFEĴȡֵ +AFEREG xdata REG; //AFEĴԤֵ + + + +/************************************************************************************************* +* : AFETwiCheck +* : +* ֵ: +* : 5S⵽AFEI2CͨѶλbAfeErr=1 +*************************************************************************************************/ +void AFETwiCheck(void) +{ + if(bAfeI2CRWErrFlg) + { + if(++ucAfeI2CErrDelayCnt >= TIME_1S_5S) + { + bAfeErr = 1; + ucAfeI2CErrDelayCnt = TIME_1S_5S; + } + } + else + { + ucAfeI2CErrDelayCnt = 0; + } +} + + +/************************************************************************************************* +* : AFEWriteReg +* : RegĴַ + WrBufдݣ1Byte+1Byte CRC +* ֵ: 1:ɹ0:ʧ +* : дAFEĴÿдһĴ +*************************************************************************************************/ +BOOL AFEWriteReg(U8 Reg, U8 Length, U8 xdata *WrBuf) +{ + BOOL Result = 0; + U8 Times = 0; + U8 i; + + if(!bAfeErr) + { + for(i=0; i= 5) + { + break; + } + else + { + Times = 0; + Reg++; + WrBuf++; + } + Delay1ms(1); + } + } + bAfeI2CRWErrFlg = !Result; //ͨѶǷ + + return Result; +} + + +/************************************************************************************************* +* : AFEReadReg +* : RegĴַ + RdBufݣ2Byte+1Byte CRC +* ֵ: 1:ɹ0:ʧ +* : AFEĴÿĴ +*************************************************************************************************/ +BOOL AFEReadReg(U8 Reg, U8 Length , U8 xdata *RdBuf) +{ + BOOL Result = 0; + U8 Times = 0; + + if(!bAfeErr) + { + while(Times++ < 5) //Try 5 + { + #ifdef TWI_Hardware_Module + Result = TwiRead(AFE_ID, Reg, TWI_ADDR_1B, Length, TWI_CRC_YES, RdBuf); + #else + Result = TwiRead(AFE_ID, Reg, Length, RdBuf); + #endif + if(Result) //ɹCRCУȷ˳ѭسɹ־ + { + break; + } + else //TWICRCУʧܣʱ1mS֮ٶȡ + { + TWICON = 0; //Close TWI module + Delay1ms(1); + TwiInit(); //Reinitial + Delay1ms(1); + } + } + } + bAfeI2CRWErrFlg = !Result; //ͨѶǷ + + return Result; +} + + +/************************************************************************************************* +* : AFEClrFlg +* : +* ֵ: +* : AFE־Ĵ +*************************************************************************************************/ +void AFEClrFlg(void) +{ + if(AFEReadReg(AFE_FLAG1, 2, ®.AFEFLAG1)) + { + if((REG.AFEFLAG1!=0) || (REG.AFEFLAG2!=0)) + { + REG.AFESCONF1 |= 0x80; + AFEWriteReg(AFE_SCONF1, 1, ®.AFESCONF1); + REG.AFESCONF1 &= ~0x80; + AFEWriteReg(AFE_SCONF1, 1, ®.AFESCONF1); + } + } +} + + +/************************************************************************************************* +* : AFEInitReg +* : +* ֵ: +* : ʼAFEĴ +*************************************************************************************************/ +void AFEInitReg(void) +{ + U16 TempVar; + + REG.AFEINTEN = 0x00; //ȡѯʽʲҪALARMж + REG.AFESCONF1 = 0x50; //ʹCTLDWDT + REG.AFESCONF2 = 0x00; //AFEΪλźţALARM͵ƽ壬ŵMOSMOSر + REG.AFESCONF3 = 0xF8; //ĬVADCCADCCADC10λADCVADCֻɼѹת50ms + REG.AFESCONF4 = 0x00; //ĬϹرƽBAT6-10 + REG.AFESCONF5 = 0x00; //ĬϹرƽBAT1-5 + REG.AFESCONF6 = 0x70; //CADCɼ200mVΧλźſ1SӲ·ѹ100mVӲ·ʱ50uS + REG.AFESCONF7 = 0x01; //Ӳ屣ʱ1תڣŵ״ֵ̬ѡλ1.4mVÿŹ10S + REG.AFESCONF8 = 0x03; //SCONF8 + SCONF9 = 11 1111 1111 = 1023 + REG.AFESCONF9 = 0xff; //Ӳ屣ֵ1023*5.86mV = 5994.78 + REG.AFESCONF10= 0x00; //͹Ŀλд0x33дPD_EN=1͹ + + if(bSC_EN) //ʹAFE· + { + REG.AFESCONF1 |= 0x08; + REG.AFESCONF6 |= (E2ucAFEProtectConfig&0x0f);//FLASHڲдAFEĴ + } + if(bOV_EN) //ʹAFEѹ + { + REG.AFESCONF1 |= 0x04; + REG.AFESCONF7 |= (E2ucAFEProtectConfig&0xf0);//FLASHڲдAFEĴ + TempVar = (U32)E2uiAFEOVvol*50/293; //ȡѹѹ + REG.AFESCONF8 = TempVar>>8; //дλ + REG.AFESCONF9 = TempVar; //дͰλ + } +} + + + +/************************************************************************************************* +* : AFEInit +* : +* ֵ: 1:ɹ0:ʧ +* : ʼAFE +*************************************************************************************************/ +BOOL AFEInit(void) +{ + U8 xdata RdBuf[2]; + U8 i; + BOOL Result = 1; + U8 j = 3; + + while(j--) + { + if( AFEWriteReg(AFE_INT_EN, 11, ®.AFEINTEN)) + { + for(i=3; i<=11; i=i+2) + { + AFEReadReg(i, 2, RdBuf); + + if((RdBuf[0]!=*(®.AFEFLAG1+i)) || (RdBuf[1]!=*(®.AFEFLAG1+i+1))) + { + if(i != 7) //ƽĴ⣬ΪƽĴλ30sԶ + { + Result = 0; + break; + } + } + } + } + else + { + Result = 0; + } + if(Result) + { + break; + } + } + return Result; + +} + + +/************************************************************************************************* +* : AFERdFlg +* : +* ֵ: +* : ȡAFE־Ĵ + AFE_SCʾ· + FLAG2bit2Ϊ1ʾLVRλҪ³ʼAFE +*************************************************************************************************/ +void AFERdFlg(void) +{ + if(AFEReadReg(AFE_FLAG1, 2, ®.AFEFLAG1)) + { + if((REG.AFEFLAG2&0x02) != 0) //CADC ת + { + bCADCFlg = 1; + } + + if((REG.AFEFLAG2&0x01) != 0) //VADC ѹת + { + bVADCFlg = 1; + } + + if((REG.AFEFLAG1&0x08) != 0 && (bLoadChkingFlg != 1)) //AFE· + { + bAFE_SC = 1; + bLoadStartCheckFlg = 1; //ؼ + } + if((REG.AFEFLAG1&0x04) != 0) //AFE Ӳѹ + { + bAFE_OV= 1; + } + + if((REG.AFEFLAG2&0x04) != 0) //жFLAG2bit2ǷΪ1Ϊ1ʾAFELVRҪ³ʼAFEĴ + { + AFEInit(); + } + } +} + + +/************************************************************************************************* +* : AFERdStatus +* : +* ֵ: +* : ȡAFE״̬Ĵ +*************************************************************************************************/ +void AFERdStatus(void) +{ + U8 RegTemp[2]; + if(AFEReadReg(AFE_BSTATUS, 2, RegTemp))//®.AFEBSTATUS))//AFE̶2Bytesֻȡ1Byte + { + ucAFEStatus = REG.AFEBSTATUS = RegTemp[0]; //³صļ + } +} + + +/************************************************************************************************* +* : AFERamCheck +* : +* ֵ: +* : ʱAFEļĴǷ񱻸д³ʼ +*************************************************************************************************/ +void AFERamCheck(void) +{ + U8 xdata RdBuf[2]; + U8 i; + + for(i=3; i<=11; i=i+2) + { + AFEReadReg(i, 2, RdBuf); + + if((RdBuf[0]!=*(®.AFEFLAG1+i)) || (RdBuf[1]!=*(®.AFEFLAG1+i+1))) + { + if(i != 7) //ƽĴ⣬ΪƽĴλ30sԶ + { + if(!AFEInit()) + { + bPDFlg = 1; + } + break; + } + } + } +} + + +/************************************************************************************************* +* : AFEEnterPD +* : +* ֵ: +* : AFEPD״̬ر3.3V +*************************************************************************************************/ +void AFEEnterPD(void) +{ + REG.AFESCONF10 = 0x33; + if(AFEWriteReg(AFE_SCONF10, 1, ®.AFESCONF10)) + { + REG.AFESCONF1 |= 0x20; + AFEWriteReg(AFE_SCONF1, 1, ®.AFESCONF1); + } +} + + +/************************************************************************************************* +* : AFEMosCtl +* : MosStatusMOS״̬10ر +* ֵ: +* : ƳŵMOSĿ͹ر +*************************************************************************************************/ +void AFEMosCtl(U8 MosStatus) +{ + REG.AFESCONF2 &= ~0x03; + REG.AFESCONF2 |= MosStatus; + AFEWriteReg(AFE_SCONF2, 1, ®.AFESCONF2); +} + + + +/************************************************************************************************* +* : AFEChgerCheckEnAFEChgerCheckDisAFELoadCheckEnAFELoadCheckDis +* : +* ֵ: +* : ʹ/رճ⡢ؼ +*************************************************************************************************/ +void AFEChgerCheckEn(void) +{ + REG.AFESCONF1 |= 0x01; + AFEWriteReg(AFE_SCONF1, 1, ®.AFESCONF1); +} + + +void AFEChgerCheckDis(void) +{ + REG.AFESCONF1 &= ~0x01; + AFEWriteReg(AFE_SCONF1, 1, ®.AFESCONF1); +} + + +void AFELoadCheckEn(void) +{ + REG.AFESCONF1 |= 0x02; + AFEWriteReg(AFE_SCONF1, 1, ®.AFESCONF1); +} + + +void AFELoadCheckDis(void) +{ + REG.AFESCONF1 &= ~0x02; + AFEWriteReg(AFE_SCONF1, 1, ®.AFESCONF1); +} + + +/************************************************************************************************* +* : AfeBalEn +* : BalChTempƽӦCELLȫΪ0رƽ +* ֵ: +* : ͹رƽ +*************************************************************************************************/ +void AfeBalCtl(U16 BalChTemp) +{ + REG.AFESCONF4 = BalChTemp>>5; + if(AFEWriteReg(AFE_SCONF4, 1, ®.AFESCONF4)) + { + REG.AFESCONF5 = BalChTemp; + AFEWriteReg(AFE_SCONF5, 1, ®.AFESCONF5); + } +} + + +/************************************************************************************************* +* : AfeWDTEn AfeWDTDis +* : +* ֵ: +* : ͹رտŹģ +*************************************************************************************************/ +void AfeWDTEn(void) +{ + REG.AFESCONF1 |= 0x10; + AFEWriteReg(AFE_SCONF1, 1, ®.AFESCONF1); +} + + +void AfeWDTDis(void) +{ + REG.AFESCONF1 &= ~0x10; + AFEWriteReg(AFE_SCONF1, 1, ®.AFESCONF1); +} + + +/************************************************************************************************* +* : AfeWDTEn AfeWDTDis +* : +* ֵ: +* : ͹رտŹģ +*************************************************************************************************/ +void AfeADCEn(void) +{ + REG.AFESCONF3 |= 0xf8; + AFEWriteReg(AFE_SCONF3, 1, ®.AFESCONF3); +} + + +void AfeADCDis(void) +{ + REG.AFESCONF3 &= ~0xf8; + AFEWriteReg(AFE_SCONF3, 1, ®.AFESCONF3); +} + +void AfeCADCEn(void) +{ + REG.AFESCONF3 |= 0xe0; + AFEWriteReg(AFE_SCONF3, 1, ®.AFESCONF3); +} + + +void AfeCADCDis(void) +{ + REG.AFESCONF3 &= ~0xe0; + AFEWriteReg(AFE_SCONF3, 1, ®.AFESCONF3); +} + +void AfeTempADCEn(void) +{ + REG.AFESCONF3 |= 0x08; + AFEWriteReg(AFE_SCONF3, 1, ®.AFESCONF3); +} + + +void AfeTempADCDis(void) +{ + REG.AFESCONF3 &= ~0x08; + AFEWriteReg(AFE_SCONF3, 1, ®.AFESCONF3); +} + + +/************************************************************************************************* +* : AfeAlarmEnAfeAlarmDis +* : AlarmFlgλӦALARMλ +* ֵ: +* : ͹رնӦALARMжϴ +*************************************************************************************************/ +void AfeAlarmEn(U8 AlarmFlg) +{ + REG.AFEINTEN |= AlarmFlg; + AFEWriteReg(AFE_INT_EN, 1, ®.AFEINTEN); +} + +void AfeAlarmDis(U8 AlarmFlg) +{ + REG.AFEINTEN &= ~AlarmFlg; + AFEWriteReg(AFE_INT_EN, 1, ®.AFEINTEN); +} + + diff --git a/code_drv/Balance.c b/code_drv/Balance.c new file mode 100644 index 0000000..2fb7509 --- /dev/null +++ b/code_drv/Balance.c @@ -0,0 +1,253 @@ +/******************************************************************************** +Copyright (C), Sinowealth Electronic. Ltd. +Author: Sino +Version: V0.0 +Date: 2020/04/26 +History: + V2.0 2020/04/26 Preliminary +********************************************************************************/ +#include "Main.h" + + +BOOL bBalanceFlg; +BOOL bBalancingFlg; +BOOL bBalanceOddFlg; +BOOL bCTOValidFlg; //оѹ1200mVʱΪڶߣҪоѹ2V +BOOL bCellOpenDecFlag; +U16 xdata uiBalanceChannel; +U8 xdata ucBalanceTimeCnt; +U8 xdata ucBalanceStep; +U8 xdata ucCellOpenDecCnt; +U8 xdata ucCtoCnt; + +/************************************************************************************************* +* : BalTurnOnCheck +* : +* ֵ: +* : + 1. ƽ⿪ǵѹѹ ͬʱ + 2. ƽУٽƽ + 3. ߼ƽ +*************************************************************************************************/ +void BalTurnOnCheck(void) +{ + U8 i; + + if(!bBalancingFlg && !bCellOpenDecFlag) //һƽл߼ʱжǷƽ + { + if(bBAL_EN) + { + uiBalanceChannel = 0; + if(((uiCellVmax>E2uiOVvol)&&(!bOV)) //¶ȱʱƽ,жѹѹָֹʱͣƽ + ||((uiCellVmax < E2uiOVRvol)&&(bOV)) + || bOTC || bUTC || bOTD || bUTD) + { + bBalanceFlg = 0; + ucBalanceTimeCnt = 0; + } + else + { + if(((uiCellVmax>E2uiBalanceVol) && (uiCellVmax-uiCellVmin)>=E2uiBalanceVolDiff) && (Info.slCurr>=E2siBalCurrent)) + { + if(!bBalanceFlg) + { + ucBalanceTimeCnt++; + } + if(ucBalanceTimeCnt >= BAL_DELAY_CNT) + { + for(i=ucCellNumOffset; i=E2uiBalanceVolDiff)&&(Info.uiVCell[i]>=E2uiBalanceVol)) //оѹƽѹѹֵõоƽ + { + uiBalanceChannel |= (1<= TIME_50MS_500MS) // 500mS + { + bCTO = 1; + } + } + else + { + bCTOValidFlg = 0; + ucCtoCnt = 0; + } + } + } +#ifdef SP_CTO_RECOVER + else //߻ָܣÿ250mSһжСѹ + { + if(uiVadcVmin >= VOL_CELL_CUT_180MV) //180mV + { + if(++ucCtoRCnt >= TIME_250MS_1S) + { + bCTO = 0; + } + } + else + { + ucCtoRCnt = 0; + } + } +#endif + } + + return bResult; +} + + +/************************************************************************************************* +* : BalProcess +* : +* ֵ: +* : + 1. ƽڷΪ5STEPϼ250mS + 2. ƽЧ<100/(250mS*2)(żƽ) + 3. ⵽ߣƽж߼ + 4. ƽ⿪ĵѹжʱܻʱ250mS(һƽ) +*************************************************************************************************/ +void BalProcess(void) +{ + U16 BalChTemp; + +//жϵоѹѹǷ񳬹1.2Vж϶ߣҪоѹ<2Vƽᴥж +//жϵоѹǷС1.38VСж϶ߣҪδЧоѹѹж + if((uiCellVmax-uiCellVmin>=VOL_CELL_CUT_1200MV) || (uiCellVmax<=VOL_CELL_CUT_1380MV)) + { + bCTOValidFlg = 1; + } + + switch(ucBalanceStep) + { + case BALANCE_ENABLE: //VADCɼѹж + if(bCellOpenDecFlag || bBalanceFlg) + { + if(bBalanceOddFlg) //odd balance + { + BalChTemp = uiBalanceChannel&0x5555; + } + else //even balance + { + BalChTemp = uiBalanceChannel&0xAAAA; + } + AfeBalCtl(BalChTemp); //ƽ + ucBalanceStep = BALANCE_START; + bBalancingFlg = 1; + } + break; + + case BALANCE_START: //VADCɼĵѹݶ + ucBalanceStep = BALANCING; + break; + + case BALANCING: //VADCɼĵѹж϶ + if(!CTOCheckVol()) //ж + { + AfeBalCtl(0); //رƽ + ucBalanceStep = BALANCE_DISABLE; + bBalanceOddFlg = ~bBalanceOddFlg; + } + break; + + case BALANCE_DISABLE: //VADCɼĵѹݶ + if(!CTOCheckVol()) //ж + { + ucBalanceStep = BALANCE_NULL; + } + else + { + ucBalanceStep = BALANCE_ENABLE; + bBalanceOddFlg = ~bBalanceOddFlg; + } + break; + + case BALANCE_NULL: //VADCɼѹж + ucBalanceStep = BALANCE_ENABLE; + bCellOpenDecFlag = 0; + bBalanceFlg = 0; + bBalancingFlg = 0; + break; + } +} + + +/************************************************************************************************* +* : CellOpenProcess +* : +* ֵ: +* : ÿ2Sһζ߼ +*************************************************************************************************/ +void CTOTurnOnCheck(void) +{ +#ifdef SP_CTO_RECOVER + if(bCTO_EN) //ֶ֧߻ָ +#else + if(bCTO_EN && !bCTO) //ѷ򲻼 +#endif + { + if(++ucCellOpenDecCnt >= TIME_50MS_2250MS) //2S + { + ucCellOpenDecCnt = TIME_50MS_2250MS; //üƽżϵ + if(!bBalancingFlg) //ƽ⣬һƽڽٿ߼ + { + ucCellOpenDecCnt = 0; + bCellOpenDecFlag = 1; + uiBalanceChannel = 0x03ff; + } + } + } +} + +/************************************************************************************************* +* : BalanceProcess +* : +* ֵ: +* : ƽ߼⴦ +*************************************************************************************************/ +void BalanceProcess(void) +{ + BalTurnOnCheck(); //Ƿƽ⿪ + + CTOTurnOnCheck(); //ʱ߼ + + BalProcess(); //ƽͶʱ +} + + + + diff --git a/code_drv/BootApp.c b/code_drv/BootApp.c new file mode 100644 index 0000000..4726dac --- /dev/null +++ b/code_drv/BootApp.c @@ -0,0 +1,29 @@ +/******************************************************************************** +Copyright (C), Sinowealth Electronic. Ltd. +Author: sino +Version: V1.0 +Date: 2020/12/29 +History: + V0.0 2020/04/26 Preliminary +********************************************************************************/ +#include "Main.h" + +/************************************************************************************************* +* : ISPProcess +* : +* ֵ: +* : ISPIAPĽӿں +*************************************************************************************************/ +void ISPProcess(void) +{ + if(bISPFlg &&( bUart0SndAckFlg ||bUart1SndAckFlg||bUart2SndAckFlg)) + { + bISPFlg = 0; + bUart0SndAckFlg = 0; + bUart1SndAckFlg = 0; + bUart2SndAckFlg = 0; + IrqDis(); //رжԴ + AfeWDTDis(); //رAFEĿŹܣڸ³ʱMCUḴλ + ((void(code*)(void))0x00A6)(); //BootIAPISP + } +} diff --git a/code_drv/BootIAP.c b/code_drv/BootIAP.c new file mode 100644 index 0000000..ac8ccf3 --- /dev/null +++ b/code_drv/BootIAP.c @@ -0,0 +1,266 @@ +#include "Main.H" + + +unsigned char code g_loadercode[4096]={ + 0x02,0x0D,0x7A,0x02,0x10,0x03,0x00,0x00,0x00,0x00,0x00,0x02,0x10,0x0B,0x00,0x00, //0000 + 0x00,0x00,0x00,0x02,0x10,0x13,0x00,0x00,0x00,0x00,0x00,0x02,0x10,0x1B,0x00,0x00, //0010 + 0x00,0x00,0x00,0x02,0x10,0x23,0x00,0x00,0x00,0x00,0x00,0x02,0x10,0x2B,0x00,0x00, //0020 + 0x00,0x00,0x00,0x02,0x10,0x33,0x00,0x00,0x00,0x00,0x00,0x02,0x10,0x3B,0x00,0x00, //0030 + 0x00,0x00,0x00,0x02,0x10,0x43,0x00,0x00,0x00,0x00,0x00,0x02,0x10,0x4B,0x00,0x00, //0040 + 0x00,0x00,0x00,0x02,0x10,0x53,0x00,0x00,0x00,0x00,0x00,0x02,0x10,0x5B,0x00,0x00, //0050 + 0x00,0x00,0x00,0x02,0x10,0x63,0x00,0x00,0x00,0x00,0x00,0x02,0x10,0x6B,0x00,0x00, //0060 + 0x00,0x00,0x00,0x02,0x10,0x73,0x00,0x00,0x00,0x00,0x00,0x02,0x10,0x7B,0x00,0x00, //0070 + 0x00,0x00,0x00,0x02,0x10,0x83,0x00,0x00,0x00,0x00,0x00,0x02,0x10,0x8B,0x00,0x00, //0080 + 0x00,0x00,0x00,0x02,0x10,0x93,0x00,0x00,0x00,0x00,0x00,0x02,0x10,0x9B,0x00,0x00, //0090 + 0x00,0x00,0x00,0x02,0x10,0xA3,0xE4,0xF5,0x26,0xF5,0x25,0xF5,0x24,0xF5,0x23,0xF5, //00A0 + 0x30,0xF5,0x2F,0xF5,0x2E,0xF5,0x2D,0xF5,0x2C,0x12,0x0D,0x5E,0x20,0x98,0x03,0x02, //00B0 + 0x01,0x8E,0x74,0x00,0x25,0x2B,0xF5,0x82,0xE4,0x34,0x02,0xF5,0x83,0xE5,0x99,0xF0, //00C0 + 0x05,0x2B,0xE5,0x2B,0xC3,0x94,0x8C,0x40,0x03,0xE4,0xF5,0x2B,0xE5,0x2B,0xB4,0x01, //00D0 + 0x0D,0x90,0x02,0x00,0xE0,0x64,0x5A,0x70,0x03,0x02,0x01,0x8C,0x80,0x6B,0xE5,0x2B, //00E0 + 0xB4,0x02,0x14,0x90,0x02,0x01,0xE0,0x64,0xA5,0x60,0x02,0x80,0x5C,0xE4,0xF5,0x31, //00F0 + 0xF5,0x32,0xF5,0x22,0x02,0x01,0x8C,0x90,0x02,0x02,0xE0,0xFF,0x7E,0x00,0x24,0x09, //0100 + 0xFD,0xEE,0x33,0xFC,0xAB,0x2B,0x7A,0x00,0xC3,0xEB,0x9D,0xEC,0x64,0x80,0xF8,0x74, //0110 + 0x80,0x98,0x50,0x62,0xEF,0x24,0x07,0xFF,0xEE,0x33,0xFE,0xD3,0xEB,0x9F,0xEE,0x64, //0120 + 0x80,0xF8,0x74,0x80,0x98,0x50,0x15,0x74,0xFF,0x25,0x2B,0xF5,0x82,0xE4,0x34,0x01, //0130 + 0xF5,0x83,0xE0,0x25,0x32,0xF5,0x32,0xE4,0x35,0x31,0xF5,0x31,0xE5,0x2B,0xB4,0x05, //0140 + 0x0D,0x90,0x02,0x04,0xE0,0x64,0x07,0x60,0x33,0xE4,0xF5,0x2B,0x80,0x2E,0xE5,0x2B, //0150 + 0x64,0x06,0x70,0x28,0x90,0x02,0x05,0xE0,0xFF,0x64,0x06,0x60,0x1F,0xEF,0x64,0x07, //0160 + 0x60,0x1A,0xEF,0x64,0x08,0x60,0x15,0xEF,0x64,0x09,0x60,0x10,0xEF,0x64,0x0A,0x60, //0170 + 0x0B,0x43,0x22,0x30,0x80,0x06,0x53,0xB1,0xF8,0x12,0x0A,0x9D,0xC2,0x98,0x30,0x99, //0180 + 0x44,0x53,0xB1,0xF8,0x90,0x02,0x02,0xE0,0x24,0x08,0xFF,0xE4,0x33,0xFE,0xC3,0xE5, //0190 + 0x2B,0x9F,0xEE,0x64,0x80,0xF8,0x74,0x80,0x98,0x40,0x13,0xE4,0xF5,0x86,0xD2,0x9C, //01A0 + 0xF5,0x2B,0x90,0x02,0x00,0xF0,0xA3,0xF0,0xA3,0xF0,0xD2,0x02,0x80,0x15,0x05,0x2B, //01B0 + 0xE4,0xF5,0x86,0xC2,0x9C,0x74,0x00,0x25,0x2B,0xF5,0x82,0xE4,0x34,0x02,0xF5,0x83, //01C0 + 0xE0,0xF5,0x99,0xC2,0x99,0xE5,0x2C,0x64,0x0A,0x60,0x03,0x02,0x00,0xBC,0x53,0xB1, //01D0 + 0xF8,0x20,0x02,0x03,0x02,0x00,0xBC,0xC2,0x02,0xF5,0x2C,0x12,0x00,0x00,0x02,0x00, //01E0 + 0xBC,0xC2,0x00,0x90,0x02,0x06,0xE0,0xFF,0xC3,0x95,0x21,0x40,0x14,0xE5,0x21,0x24, //01F0 + 0x04,0xFD,0xE4,0x33,0xFC,0xD3,0xEF,0x9D,0xEC,0x64,0x80,0xF8,0x74,0x80,0x98,0x40, //0200 + 0x0A,0x90,0x02,0x06,0xE0,0x60,0x04,0x74,0x05,0xF0,0x22,0x90,0x02,0x06,0xE0,0xF5, //0210 + 0x21,0xE4,0xF0,0x90,0x02,0x02,0xE0,0x70,0x15,0x25,0x26,0xF5,0x26,0xE5,0x25,0x34, //0220 + 0x02,0xF5,0x25,0xE4,0x35,0x24,0xF5,0x24,0xE4,0x35,0x23,0xF5,0x23,0x22,0xE5,0x21, //0230 + 0x54,0x03,0xF5,0x0A,0xE4,0xF5,0x08,0xF5,0x09,0x90,0x02,0x02,0xE0,0xFD,0x7C,0x00, //0240 + 0xC3,0xE5,0x09,0x9D,0xE5,0x08,0x9C,0x50,0x32,0x74,0x07,0x25,0x09,0xF5,0x82,0xE4, //0250 + 0x34,0x02,0xF5,0x83,0xE0,0xFB,0xAF,0x0A,0x7E,0x00,0x12,0x06,0x38,0xE5,0x09,0x2F, //0260 + 0xFF,0xE5,0x08,0x3E,0xFE,0x74,0x00,0x2F,0xF5,0x82,0x74,0x00,0x3E,0xF5,0x83,0xEB, //0270 + 0xF0,0x05,0x09,0xE5,0x09,0x70,0xC2,0x05,0x08,0x80,0xBE,0xE5,0x0A,0x64,0x03,0x60, //0280 + 0x03,0x02,0x04,0x4F,0x75,0x1D,0x55,0x12,0x08,0x95,0x50,0x03,0x02,0x03,0x86,0xE4, //0290 + 0xFF,0x7E,0x02,0xFD,0xFC,0xAB,0x26,0xAA,0x25,0xA9,0x24,0xA8,0x23,0x12,0x07,0x18, //02A0 + 0x40,0x1A,0xE5,0x26,0x94,0x00,0xF5,0x26,0xE5,0x25,0x94,0x02,0xF5,0x25,0xE5,0x24, //02B0 + 0x94,0x00,0xF5,0x24,0xE5,0x23,0x94,0x00,0xF5,0x23,0x80,0x09,0xE4,0xF5,0x26,0xF5, //02C0 + 0x25,0xF5,0x24,0xF5,0x23,0xE4,0xF5,0x0F,0x30,0x01,0x5E,0x25,0x26,0xF5,0x0E,0xE5, //02D0 + 0x25,0x34,0x10,0xF5,0x0D,0xE4,0x35,0x24,0xF5,0x0C,0xE4,0x35,0x23,0xF5,0x0B,0xE4, //02E0 + 0x25,0x2A,0xFF,0xE5,0x29,0x34,0x0C,0xFE,0xE4,0x35,0x28,0xFD,0xE4,0x35,0x27,0xFC, //02F0 + 0xAB,0x0E,0xAA,0x0D,0xA9,0x0C,0xA8,0x0B,0xC3,0x12,0x07,0x18,0x40,0x40,0xE4,0x25, //0300 + 0x2A,0xFB,0xE5,0x29,0x34,0x0C,0xFA,0xE4,0x35,0x28,0xF9,0xE4,0x35,0x27,0xF8,0xC3, //0310 + 0xE5,0x0E,0x9B,0xF5,0x0E,0xE5,0x0D,0x9A,0xF5,0x0D,0xE5,0x0C,0x99,0xF5,0x0C,0xE5, //0320 + 0x0B,0x98,0xF5,0x0B,0x75,0x0F,0x01,0x80,0x15,0xE4,0x25,0x26,0xF5,0x0E,0xE5,0x25, //0330 + 0x34,0x84,0xF5,0x0D,0xE4,0x35,0x24,0xF5,0x0C,0xE4,0x35,0x23,0xF5,0x0B,0x75,0x1D, //0340 + 0x55,0xAF,0x0E,0xAE,0x0D,0xAD,0x0C,0xAC,0x0B,0x85,0x0F,0x15,0x12,0x0B,0x7E,0xAF, //0350 + 0x0E,0xAE,0x0D,0xAD,0x0C,0xAC,0x0B,0x85,0x0F,0x15,0x12,0x0C,0x8C,0x50,0x0E,0x12, //0360 + 0x08,0x95,0x40,0x12,0x90,0x02,0x06,0x74,0x03,0xF0,0x02,0x04,0x4C,0x90,0x02,0x06, //0370 + 0x74,0x02,0xF0,0x02,0x04,0x4C,0xE4,0xF5,0x0A,0x75,0xF0,0x04,0xE5,0x0A,0xA4,0x24, //0380 + 0x02,0xF5,0x82,0xE5,0xF0,0x34,0x00,0xF5,0x83,0xE0,0xFF,0xE4,0xFC,0xFD,0xFE,0x78, //0390 + 0x10,0x12,0x07,0x3C,0xC0,0x04,0xC0,0x05,0xC0,0x06,0xC0,0x07,0x75,0xF0,0x04,0xE5, //03A0 + 0x0A,0xA4,0x24,0x03,0xF5,0x82,0xE5,0xF0,0x34,0x00,0xF5,0x83,0xE0,0xFF,0xE4,0xFC, //03B0 + 0xFD,0xFE,0x78,0x18,0x12,0x07,0x3C,0xD0,0x03,0xD0,0x02,0xD0,0x01,0xD0,0x00,0xEF, //03C0 + 0x4B,0xFF,0xEE,0x4A,0xFE,0xED,0x49,0xFD,0xEC,0x48,0xFC,0xC0,0x04,0xC0,0x05,0xC0, //03D0 + 0x06,0xC0,0x07,0x75,0xF0,0x04,0xE5,0x0A,0xA4,0x24,0x01,0xF5,0x82,0xE5,0xF0,0x34, //03E0 + 0x00,0xF5,0x83,0xE0,0xFF,0xE4,0xFC,0xFD,0xFE,0x78,0x08,0x12,0x07,0x3C,0xD0,0x03, //03F0 + 0xD0,0x02,0xD0,0x01,0xD0,0x00,0xEF,0x4B,0xFB,0xEE,0x4A,0xFA,0xED,0x49,0xF9,0xEC, //0400 + 0x48,0xF8,0x75,0xF0,0x04,0xE5,0x0A,0xA4,0x24,0x00,0xF5,0x82,0xE5,0xF0,0x34,0x00, //0410 + 0xF5,0x83,0xE0,0xFF,0xEB,0x4F,0xFF,0xEA,0xFE,0xE9,0xFD,0xE8,0xFC,0xE5,0x30,0x2F, //0420 + 0xF5,0x30,0xE5,0x2F,0x3E,0xF5,0x2F,0xE5,0x2E,0x3D,0xF5,0x2E,0xE5,0x2D,0x3C,0xF5, //0430 + 0x2D,0x05,0x0A,0xE5,0x0A,0x64,0x80,0x60,0x03,0x02,0x03,0x89,0xE4,0xF5,0x1D,0x22, //0440 + 0xE4,0xF5,0x26,0xF5,0x25,0xF5,0x24,0xF5,0x23,0xF5,0x30,0xF5,0x2F,0xF5,0x2E,0xF5, //0450 + 0x2D,0xF5,0x2A,0xF5,0x29,0xF5,0x28,0xF5,0x27,0x90,0x02,0x09,0xE0,0xFF,0xE4,0xFC, //0460 + 0xFD,0xFE,0x78,0x10,0x12,0x07,0x3C,0xC0,0x04,0xC0,0x05,0xC0,0x06,0xC0,0x07,0xA3, //0470 + 0xE0,0xFF,0xE4,0xFC,0xFD,0xFE,0x78,0x18,0x12,0x07,0x3C,0xD0,0x03,0xD0,0x02,0xD0, //0480 + 0x01,0xD0,0x00,0xEF,0x4B,0xFF,0xEE,0x4A,0xFE,0xED,0x49,0xFD,0xEC,0x48,0xFC,0xC0, //0490 + 0x04,0xC0,0x05,0xC0,0x06,0xC0,0x07,0x90,0x02,0x08,0xE0,0xFF,0xE4,0xFC,0xFD,0xFE, //04A0 + 0x78,0x08,0x12,0x07,0x3C,0xD0,0x03,0xD0,0x02,0xD0,0x01,0xD0,0x00,0xEF,0x4B,0xFB, //04B0 + 0xEE,0x4A,0xFA,0xED,0x49,0xF9,0xEC,0x48,0xF8,0x90,0x02,0x07,0xE0,0xFF,0xEB,0x4F, //04C0 + 0xF5,0x2A,0xEA,0xF5,0x29,0xE9,0xF5,0x28,0xE8,0xF5,0x27,0x20,0x00,0x06,0x90,0x02, //04D0 + 0x06,0x74,0x0A,0xF0,0xE4,0xFF,0x7E,0x78,0xFD,0xFC,0xAB,0x2A,0xAA,0x29,0xA9,0x28, //04E0 + 0xA8,0x27,0xD3,0x12,0x07,0x18,0x40,0x05,0x20,0x01,0x02,0x80,0x17,0xE4,0xFF,0x7E, //04F0 + 0xEC,0xFD,0xFC,0xAB,0x2A,0xAA,0x29,0xA9,0x28,0xA8,0x27,0xD3,0x12,0x07,0x18,0x40, //0500 + 0x0A,0x30,0x01,0x07,0x90,0x02,0x06,0x74,0x01,0xF0,0x22,0xE4,0x90,0x02,0x06,0xF0, //0510 + 0xF5,0x21,0x75,0x1D,0x55,0xF5,0x15,0xFF,0x7E,0x0E,0xFD,0xFC,0x12,0x0B,0x7E,0xE4, //0520 + 0xF5,0x15,0xFF,0x7E,0x0E,0xFD,0xFC,0x12,0x0C,0x8C,0x50,0x2B,0x30,0x01,0x2E,0x75, //0530 + 0x1B,0xA5,0xE4,0xF5,0x1C,0x7F,0xFF,0x7E,0x0F,0xFD,0xFC,0x12,0x0B,0x15,0xE4,0xF5, //0540 + 0x1B,0x7F,0xFF,0x7E,0x0F,0xFD,0xFC,0x12,0x0D,0x94,0xEF,0x64,0xA5,0x60,0x0E,0x90, //0550 + 0x02,0x06,0x74,0x03,0xF0,0x80,0x06,0x90,0x02,0x06,0x74,0x02,0xF0,0xE4,0xF5,0x1D, //0560 + 0x90,0x02,0x06,0xE0,0x60,0x03,0x02,0x06,0x31,0xFB,0x7A,0x02,0xF9,0xF8,0xAF,0x2A, //0570 + 0xAE,0x29,0xAD,0x28,0xAC,0x27,0x12,0x06,0x86,0x8F,0x09,0xE4,0xF5,0x08,0xE5,0x08, //0580 + 0xC3,0x95,0x09,0x40,0x03,0x02,0x06,0x37,0xE4,0xF5,0x0A,0x30,0x01,0x07,0xF5,0x0E, //0590 + 0x75,0x0D,0x10,0x80,0x06,0xE4,0xF5,0x0E,0x75,0x0D,0x84,0xF5,0x0C,0xF5,0x0B,0xE5, //05A0 + 0x08,0x25,0xE0,0xFE,0xE4,0xFC,0xFD,0x25,0x0E,0xF5,0x0E,0xE5,0x0D,0x3E,0xF5,0x0D, //05B0 + 0xED,0x35,0x0C,0xF5,0x0C,0xEC,0x35,0x0B,0xF5,0x0B,0x30,0x01,0x35,0xE5,0x09,0x24, //05C0 + 0xFE,0xFB,0xE4,0x34,0xFF,0xFA,0xED,0x34,0xFF,0xF9,0xEC,0x34,0xFF,0xF8,0xAF,0x08, //05D0 + 0xE4,0xFE,0xD3,0x12,0x07,0x18,0x50,0x1A,0x75,0x0A,0x01,0xE5,0x08,0x24,0x02,0xFF, //05E0 + 0xC3,0xEF,0x95,0x09,0xFF,0xEF,0x25,0xE0,0xFE,0xE4,0xF5,0x0E,0x8E,0x0D,0xF5,0x0C, //05F0 + 0xF5,0x0B,0x75,0x1D,0x55,0xAF,0x0E,0xAE,0x0D,0xAD,0x0C,0xAC,0x0B,0x85,0x0A,0x15, //0600 + 0x12,0x0B,0x7E,0xAF,0x0E,0xAE,0x0D,0xAD,0x0C,0xAC,0x0B,0x85,0x0A,0x15,0x12,0x0C, //0610 + 0x8C,0x40,0x06,0x90,0x02,0x06,0x74,0x02,0xF0,0xE4,0xF5,0x1D,0x05,0x08,0x02,0x05, //0620 + 0x8E,0x90,0x02,0x06,0x74,0x05,0xF0,0x22,0xEF,0x8D,0xF0,0xA4,0xA8,0xF0,0xCF,0x8C, //0630 + 0xF0,0xA4,0x28,0xCE,0x8D,0xF0,0xA4,0x2E,0xFE,0x22,0x75,0xF0,0x08,0x75,0x82,0x00, //0640 + 0xEF,0x2F,0xFF,0xEE,0x33,0xFE,0xCD,0x33,0xCD,0xCC,0x33,0xCC,0xC5,0x82,0x33,0xC5, //0650 + 0x82,0x9B,0xED,0x9A,0xEC,0x99,0xE5,0x82,0x98,0x40,0x0C,0xF5,0x82,0xEE,0x9B,0xFE, //0660 + 0xED,0x9A,0xFD,0xEC,0x99,0xFC,0x0F,0xD5,0xF0,0xD6,0xE4,0xCE,0xFB,0xE4,0xCD,0xFA, //0670 + 0xE4,0xCC,0xF9,0xA8,0x82,0x22,0xB8,0x00,0xC1,0xB9,0x00,0x59,0xBA,0x00,0x2D,0xEC, //0680 + 0x8B,0xF0,0x84,0xCF,0xCE,0xCD,0xFC,0xE5,0xF0,0xCB,0xF9,0x78,0x18,0xEF,0x2F,0xFF, //0690 + 0xEE,0x33,0xFE,0xED,0x33,0xFD,0xEC,0x33,0xFC,0xEB,0x33,0xFB,0x10,0xD7,0x03,0x99, //06A0 + 0x40,0x04,0xEB,0x99,0xFB,0x0F,0xD8,0xE5,0xE4,0xF9,0xFA,0x22,0x78,0x18,0xEF,0x2F, //06B0 + 0xFF,0xEE,0x33,0xFE,0xED,0x33,0xFD,0xEC,0x33,0xFC,0xC9,0x33,0xC9,0x10,0xD7,0x05, //06C0 + 0x9B,0xE9,0x9A,0x40,0x07,0xEC,0x9B,0xFC,0xE9,0x9A,0xF9,0x0F,0xD8,0xE0,0xE4,0xC9, //06D0 + 0xFA,0xE4,0xCC,0xFB,0x22,0x75,0xF0,0x10,0xEF,0x2F,0xFF,0xEE,0x33,0xFE,0xED,0x33, //06E0 + 0xFD,0xCC,0x33,0xCC,0xC8,0x33,0xC8,0x10,0xD7,0x07,0x9B,0xEC,0x9A,0xE8,0x99,0x40, //06F0 + 0x0A,0xED,0x9B,0xFD,0xEC,0x9A,0xFC,0xE8,0x99,0xF8,0x0F,0xD5,0xF0,0xDA,0xE4,0xCD, //0700 + 0xFB,0xE4,0xCC,0xFA,0xE4,0xC8,0xF9,0x22,0xEB,0x9F,0xF5,0xF0,0xEA,0x9E,0x42,0xF0, //0710 + 0xE9,0x9D,0x42,0xF0,0xE8,0x9C,0x45,0xF0,0x22,0xE8,0x60,0x0F,0xEC,0xC3,0x13,0xFC, //0720 + 0xED,0x13,0xFD,0xEE,0x13,0xFE,0xEF,0x13,0xFF,0xD8,0xF1,0x22,0xE8,0x60,0x0F,0xEF, //0730 + 0xC3,0x33,0xFF,0xEE,0x33,0xFE,0xED,0x33,0xFD,0xEC,0x33,0xFC,0xD8,0xF1,0x22,0xEC, //0740 + 0x8E,0xF0,0xA4,0xCC,0xC5,0xF0,0xCC,0xCD,0xF8,0xEF,0xA4,0xCE,0xC5,0xF0,0x2D,0xFD, //0750 + 0xE4,0x3C,0xFC,0xE8,0xA4,0x2E,0xC8,0xC5,0xF0,0x3D,0xFD,0xE4,0x3C,0xFC,0xEF,0xA4, //0760 + 0xFF,0xE5,0xF0,0x28,0xFE,0xE4,0x3D,0xFD,0xE4,0x3C,0xFC,0x22,0xE4,0xF5,0x08,0x53, //0770 + 0xB1,0xF8,0xE5,0x08,0xC3,0x94,0x3A,0x50,0x1F,0xE4,0xF5,0x0A,0xAF,0x08,0xFE,0x7C, //0780 + 0x02,0xFD,0x12,0x07,0x4F,0xE4,0x2F,0xF5,0x10,0xEE,0x34,0x10,0xF5,0x0F,0xE4,0x3D, //0790 + 0xF5,0x0E,0xE4,0x3C,0xF5,0x0D,0x80,0x21,0x75,0x0A,0x01,0xAF,0x08,0x7E,0x00,0x7C, //07A0 + 0x02,0x7D,0x00,0x12,0x07,0x4F,0xE4,0x2F,0xF5,0x10,0xEE,0x34,0x8C,0xF5,0x0F,0xED, //07B0 + 0x34,0xFF,0xF5,0x0E,0xEC,0x34,0xFF,0xF5,0x0D,0x75,0x1D,0x55,0xAF,0x10,0xAE,0x0F, //07C0 + 0xAD,0x0E,0xAC,0x0D,0x85,0x0A,0x15,0x12,0x0B,0x7E,0xAF,0x10,0xAE,0x0F,0xAD,0x0E, //07D0 + 0xAC,0x0D,0x85,0x0A,0x15,0x12,0x0C,0x8C,0x40,0x03,0x02,0x08,0x83,0xE4,0xF5,0x0B, //07E0 + 0xF5,0x0C,0xAE,0x0B,0xAF,0x0C,0xE4,0xFC,0xFD,0xFB,0x7A,0x02,0xF9,0xF8,0xD3,0x12, //07F0 + 0x07,0x18,0x50,0x03,0x02,0x08,0x86,0xAF,0x08,0x7E,0x00,0x7C,0x02,0x7D,0x00,0x12, //0800 + 0x07,0x4F,0xA8,0x04,0xA9,0x05,0xAA,0x06,0xAB,0x07,0xE4,0x25,0x0C,0xFF,0xE5,0x0B, //0810 + 0x34,0x84,0xFE,0xE4,0x33,0xFD,0xE4,0x33,0xFC,0xEB,0x2F,0xFF,0xEA,0x3E,0xFE,0xE9, //0820 + 0x3D,0xFD,0xE8,0x3C,0xFC,0xE4,0xF5,0x1B,0x12,0x0D,0x94,0x8F,0x09,0xE5,0x0C,0x25, //0830 + 0x10,0xFF,0xE5,0x0B,0x35,0x0F,0xFE,0xE4,0x35,0x0E,0xFD,0xE4,0x35,0x0D,0xFC,0x85, //0840 + 0x09,0x1B,0x85,0x0A,0x1C,0x12,0x0B,0x15,0xE5,0x0C,0x25,0x10,0xFF,0xE5,0x0B,0x35, //0850 + 0x0F,0xFE,0xE4,0x35,0x0E,0xFD,0xE4,0x35,0x0D,0xFC,0x85,0x0A,0x1B,0x12,0x0D,0x94, //0860 + 0xEF,0x65,0x09,0x60,0x03,0x7F,0x02,0x22,0x05,0x0C,0xE5,0x0C,0x70,0x02,0x05,0x0B, //0870 + 0x02,0x07,0xF2,0x7F,0x01,0x22,0x05,0x08,0xE5,0x08,0xC3,0x94,0x3C,0x50,0x03,0x02, //0880 + 0x07,0x7F,0x7F,0x00,0x22,0xD2,0x03,0xE4,0xF5,0x10,0xF5,0x11,0xAE,0x10,0xAF,0x11, //0890 + 0xE4,0xFC,0xFD,0xFB,0x7A,0x02,0xF9,0xF8,0xD3,0x12,0x07,0x18,0x50,0x03,0x02,0x09, //08A0 + 0x8C,0xE4,0xF5,0x16,0x30,0x01,0x5E,0x25,0x26,0xF5,0x15,0xE5,0x25,0x34,0x10,0xF5, //08B0 + 0x14,0xE4,0x35,0x24,0xF5,0x13,0xE4,0x35,0x23,0xF5,0x12,0xE4,0x25,0x2A,0xFF,0xE5, //08C0 + 0x29,0x34,0x0C,0xFE,0xE4,0x35,0x28,0xFD,0xE4,0x35,0x27,0xFC,0xAB,0x15,0xAA,0x14, //08D0 + 0xA9,0x13,0xA8,0x12,0xC3,0x12,0x07,0x18,0x40,0x40,0xE4,0x25,0x2A,0xFB,0xE5,0x29, //08E0 + 0x34,0x0C,0xFA,0xE4,0x35,0x28,0xF9,0xE4,0x35,0x27,0xF8,0xC3,0xE5,0x15,0x9B,0xF5, //08F0 + 0x15,0xE5,0x14,0x9A,0xF5,0x14,0xE5,0x13,0x99,0xF5,0x13,0xE5,0x12,0x98,0xF5,0x12, //0900 + 0x75,0x16,0x01,0x80,0x15,0xE4,0x25,0x26,0xF5,0x15,0xE5,0x25,0x34,0x84,0xF5,0x14, //0910 + 0xE4,0x35,0x24,0xF5,0x13,0xE4,0x35,0x23,0xF5,0x12,0xAF,0x15,0xAE,0x14,0xAD,0x13, //0920 + 0xAC,0x12,0x74,0x00,0x25,0x11,0xF5,0x82,0x74,0x00,0x35,0x10,0xF5,0x83,0xE0,0xF5, //0930 + 0x1B,0x85,0x16,0x1C,0x12,0x0B,0x15,0xAF,0x15,0xAE,0x14,0xAD,0x13,0xAC,0x12,0x85, //0940 + 0x16,0x1B,0x12,0x0D,0x94,0x74,0x00,0x25,0x11,0xF5,0x82,0x74,0x00,0x35,0x10,0xF5, //0950 + 0x83,0xE0,0x6F,0x60,0x04,0xC2,0x03,0x80,0x23,0xE5,0x26,0x24,0x01,0xF5,0x26,0xE4, //0960 + 0x35,0x25,0xF5,0x25,0xE4,0x35,0x24,0xF5,0x24,0xE4,0x35,0x23,0xF5,0x23,0x05,0x11, //0970 + 0xE5,0x11,0x60,0x03,0x02,0x08,0x9C,0x05,0x10,0x02,0x08,0x9C,0xA2,0x03,0x22,0x7E, //0980 + 0x00,0x7D,0x00,0x7C,0x00,0x90,0x02,0x09,0xE0,0xFF,0xE4,0x78,0x10,0x12,0x07,0x3C, //0990 + 0xC0,0x04,0xC0,0x05,0xC0,0x06,0xC0,0x07,0xA3,0xE0,0xFF,0xE4,0xFC,0xFD,0xFE,0x78, //09A0 + 0x18,0x12,0x07,0x3C,0xD0,0x03,0xD0,0x02,0xD0,0x01,0xD0,0x00,0xEF,0x4B,0xFF,0xEE, //09B0 + 0x4A,0xFE,0xED,0x49,0xFD,0xEC,0x48,0xFC,0xC0,0x04,0xC0,0x05,0xC0,0x06,0xC0,0x07, //09C0 + 0x90,0x02,0x08,0xE0,0xFF,0xE4,0xFC,0xFD,0xFE,0x78,0x08,0x12,0x07,0x3C,0xD0,0x03, //09D0 + 0xD0,0x02,0xD0,0x01,0xD0,0x00,0xEF,0x4B,0xFB,0xEE,0x4A,0xFA,0xED,0x49,0xF9,0xEC, //09E0 + 0x48,0xF8,0x90,0x02,0x07,0xE0,0xFF,0xEB,0x4F,0xFF,0xEA,0xFE,0xE9,0xFD,0xE8,0xFC, //09F0 + 0xAB,0x30,0xAA,0x2F,0xA9,0x2E,0xA8,0x2D,0xC3,0x12,0x07,0x18,0x60,0x07,0x90,0x02, //0A00 + 0x06,0x74,0x08,0xF0,0x22,0xE4,0x90,0x02,0x06,0xF0,0x22,0xE4,0xF5,0x08,0xF5,0x09, //0A10 + 0x90,0x02,0x02,0xF0,0x90,0x02,0x05,0x74,0x0B,0xF0,0x90,0x02,0x03,0xE0,0xFF,0xA3, //0A20 + 0xE0,0x90,0x02,0x03,0xF0,0xA3,0xEF,0xF0,0x7F,0x02,0x90,0x02,0x02,0xE0,0xFE,0x24, //0A30 + 0x07,0xFD,0xE4,0x33,0xFC,0xEF,0xC3,0x9D,0xEC,0x64,0x80,0xF8,0x74,0x80,0x98,0x50, //0A40 + 0x17,0x74,0x00,0x2F,0xF5,0x82,0xE4,0x34,0x02,0xF5,0x83,0xE0,0x25,0x09,0xF5,0x09, //0A50 + 0xE4,0x35,0x08,0xF5,0x08,0x0F,0x80,0xD2,0x74,0x07,0x2E,0xF5,0x82,0xE4,0x34,0x02, //0A60 + 0xF5,0x83,0xE5,0x09,0xF0,0xE5,0x08,0xFF,0x90,0x02,0x02,0xE0,0x24,0x08,0xF5,0x82, //0A70 + 0xE4,0x34,0x02,0xF5,0x83,0xEF,0xF0,0xC2,0x02,0xE4,0xF5,0x86,0xC2,0x9C,0x74,0x00, //0A80 + 0x25,0x2B,0xF5,0x82,0xE4,0x34,0x02,0xF5,0x83,0xE0,0xF5,0x99,0x22,0xE4,0xF5,0x2B, //0A90 + 0x90,0x02,0x02,0xE0,0xFD,0x24,0x08,0xF5,0x82,0xE4,0x34,0x02,0xF5,0x83,0xE0,0xFE, //0AA0 + 0x74,0x07,0x2D,0xF5,0x82,0xE4,0x34,0x02,0xF5,0x83,0xE0,0x7C,0x00,0x24,0x00,0xFF, //0AB0 + 0xEC,0x3E,0xFE,0xEF,0x65,0x32,0x70,0x03,0xEE,0x65,0x31,0x60,0x03,0x43,0x22,0x80, //0AC0 + 0xE5,0x22,0x60,0x06,0x90,0x02,0x06,0xF0,0x80,0x38,0x90,0x02,0x05,0xE0,0xFE,0xB4, //0AD0 + 0x06,0x05,0x12,0x0C,0xD5,0x80,0x2B,0xEE,0xB4,0x07,0x05,0x12,0x04,0x50,0x80,0x22, //0AE0 + 0x90,0x02,0x05,0xE0,0xB4,0x08,0x05,0x12,0x01,0xF1,0x80,0x16,0x90,0x02,0x05,0xE0, //0AF0 + 0xB4,0x09,0x05,0x12,0x09,0x8F,0x80,0x0A,0x90,0x02,0x05,0xE0,0xB4,0x0A,0x03,0x12, //0B00 + 0x0B,0xDE,0x02,0x0A,0x1B,0x8F,0x1A,0x8E,0x19,0x8D,0x18,0x8C,0x17,0x85,0x1C,0xA7, //0B10 + 0xAF,0x1A,0xAE,0x19,0xAD,0x18,0xAC,0x17,0x78,0x08,0x12,0x07,0x29,0x8F,0xF7,0xE5, //0B20 + 0x1A,0xFF,0x8F,0xFB,0x85,0x1B,0xFC,0x75,0xF2,0x6E,0x20,0xAF,0x3D,0x75,0xF3,0x05, //0B30 + 0xE5,0xA7,0x65,0x1C,0x70,0x34,0x75,0xF4,0x0A,0xE5,0x1D,0xB4,0x55,0x2C,0x75,0xF5, //0B40 + 0x09,0xAF,0x1A,0xAE,0x19,0xAD,0x18,0xAC,0x17,0x78,0x08,0x12,0x07,0x29,0xA8,0x04, //0B50 + 0xA9,0x05,0xAA,0x06,0xAB,0x07,0xAF,0xF7,0xE4,0xFC,0xFD,0xFE,0xC3,0x12,0x07,0x18, //0B60 + 0x70,0x08,0x75,0xF6,0x06,0x00,0x00,0x00,0x00,0x00,0xE4,0xF5,0xA7,0x22,0x8F,0x14, //0B70 + 0x8E,0x13,0x8D,0x12,0x8C,0x11,0x85,0x15,0xA7,0xAF,0x14,0xAE,0x13,0xAD,0x12,0xAC, //0B80 + 0x11,0x78,0x08,0x12,0x07,0x29,0x8F,0xF7,0x75,0xF2,0xE6,0x20,0xAF,0x3C,0x75,0xF3, //0B90 + 0x05,0xE5,0xA7,0x65,0x15,0x70,0x33,0x75,0xF4,0x0A,0xE5,0x1D,0xB4,0x55,0x2B,0x75, //0BA0 + 0xF5,0x09,0xAF,0x14,0xAE,0x13,0xAD,0x12,0xAC,0x11,0x78,0x08,0x12,0x07,0x29,0xA8, //0BB0 + 0x04,0xA9,0x05,0xAA,0x06,0xAB,0x07,0xAF,0xF7,0xE4,0xFC,0xFD,0xFE,0xC3,0x12,0x07, //0BC0 + 0x18,0x70,0x07,0x75,0xF6,0x06,0x00,0x00,0x00,0x00,0xE4,0xF5,0xA7,0x22,0xE4,0x90, //0BD0 + 0x02,0x06,0xF0,0x75,0x2C,0x0A,0x75,0x1D,0x55,0xF5,0x15,0xFF,0x7E,0x0E,0xFD,0xFC, //0BE0 + 0x12,0x0B,0x7E,0xE4,0xF5,0x15,0xFF,0x7E,0x0E,0xFD,0xFC,0x12,0x0C,0x8C,0x50,0x2A, //0BF0 + 0x20,0x01,0x30,0x75,0x1B,0x5A,0xE4,0xF5,0x1C,0x7F,0xFF,0x7E,0x0F,0xFD,0xFC,0x12, //0C00 + 0x0B,0x15,0xE4,0xF5,0x1B,0x7F,0xFF,0x7E,0x0F,0xFD,0xFC,0x12,0x0D,0x94,0xEF,0x64, //0C10 + 0x5A,0x60,0x10,0x90,0x02,0x06,0x74,0x03,0x80,0x05,0x90,0x02,0x06,0x74,0x02,0xF0, //0C20 + 0xE4,0xF5,0x2C,0xE4,0xF5,0x1D,0x22,0x53,0xB1,0xF8,0x12,0x0D,0xAC,0xE4,0xF5,0x1B, //0C30 + 0x7F,0xFF,0x7E,0x0F,0xFD,0xFC,0x12,0x0D,0x94,0xEF,0x64,0x5A,0x70,0x26,0xC2,0x01, //0C40 + 0x75,0x1D,0x55,0x12,0x0D,0x38,0x50,0x02,0x80,0x05,0x12,0x0D,0x38,0x50,0x05,0xE4, //0C50 + 0xF5,0x1D,0x80,0x24,0xE4,0xF5,0x1D,0x75,0x8E,0x55,0x43,0x87,0x02,0x00,0x00,0x00, //0C60 + 0x00,0x00,0x80,0xF0,0xE4,0xF5,0x1B,0x7F,0xFF,0x7E,0x0F,0xFD,0xFC,0x12,0x0D,0x94, //0C70 + 0xBF,0xA5,0x05,0xD2,0x01,0x02,0x00,0xA6,0x12,0x10,0x00,0x22,0x8F,0x14,0x8E,0x13, //0C80 + 0x8D,0x12,0x8C,0x11,0xD2,0x04,0x85,0x15,0xA7,0xE4,0xF5,0x16,0xF5,0x17,0xAE,0x16, //0C90 + 0xAF,0x17,0xE4,0xFC,0xFD,0xFB,0x7A,0x02,0xF9,0xF8,0xD3,0x12,0x07,0x18,0x40,0x1F, //0CA0 + 0xE5,0x17,0x25,0x14,0xFF,0xE5,0x16,0x35,0x13,0x8F,0x82,0xF5,0x83,0xE4,0x93,0x60, //0CB0 + 0x04,0xC2,0x04,0x80,0x0A,0x05,0x17,0xE5,0x17,0x70,0xD3,0x05,0x16,0x80,0xCF,0xE4, //0CC0 + 0xF5,0xA7,0xA2,0x04,0x22,0xE4,0x90,0x02,0x06,0xF0,0xA3,0xE0,0xFF,0xB4,0x49,0x0F, //0CD0 + 0xA3,0xE0,0xB4,0x41,0x0A,0xA3,0xE0,0xB4,0x50,0x05,0xC2,0x01,0xD2,0x00,0x22,0xEF, //0CE0 + 0xB4,0x49,0x11,0x90,0x02,0x08,0xE0,0xB4,0x53,0x0A,0xA3,0xE0,0xB4,0x50,0x05,0xD2, //0CF0 + 0x01,0xD2,0x00,0x22,0x90,0x02,0x06,0x74,0x0A,0xF0,0xC2,0x00,0x22,0x75,0x80,0xF8, //0D00 + 0x75,0xE1,0x8F,0x75,0xE9,0xC8,0x75,0x90,0x80,0x75,0xE2,0x7F,0x75,0xEA,0x80,0x75, //0D10 + 0xA0,0xE0,0x75,0xE3,0x3F,0x75,0xEB,0xC0,0x75,0xB0,0x19,0x75,0xE4,0xE6,0x75,0xEC, //0D20 + 0x19,0x43,0x80,0xC0,0x43,0xE9,0x80,0x22,0xD2,0x03,0x12,0x07,0x7C,0xEF,0x70,0x19, //0D30 + 0xF5,0x15,0xFF,0x7E,0x0E,0xFD,0xFC,0x12,0x0B,0x7E,0xE4,0xF5,0x15,0xFF,0x7E,0x0E, //0D40 + 0xFD,0xFC,0x12,0x0C,0x8C,0x92,0x03,0x80,0x02,0xC2,0x03,0xA2,0x03,0x22,0x75,0xC4, //0D50 + 0x32,0xE4,0xF5,0x87,0x75,0x98,0x50,0x75,0x9D,0x7F,0x75,0x9C,0x64,0x75,0x9E,0x04, //0D60 + 0x43,0x9D,0x80,0x75,0x9A,0x0A,0x75,0x9B,0xFF,0x22,0x75,0x81,0x7F,0x75,0xB2,0x08, //0D70 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x43,0xB2,0x04,0x78,0xFF,0xE4,0xF6,0xD8, //0D80 + 0xFD,0x02,0x0C,0x37,0x8F,0x1A,0x8E,0x19,0x8D,0x18,0x8C,0x17,0xE4,0x85,0x1B,0xA7, //0D90 + 0x85,0x1A,0x82,0x85,0x19,0x83,0x93,0xFF,0xE4,0xF5,0xA7,0x22,0x12,0x0D,0xB5,0x12, //0DA0 + 0x0D,0x0D,0xC2,0x00,0x22,0xE4,0xF5,0xA8,0xF5,0xA9,0xF5,0xAA,0x22,0x00,0x00,0x00, //0DB0 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0DC0 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0DD0 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0DE0 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0DF0 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0E00 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0E10 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0E20 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0E30 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0E40 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0E50 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0E60 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0E70 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0E80 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0E90 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0EA0 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0EB0 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0EC0 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0ED0 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0EE0 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0EF0 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0F00 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0F10 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0F20 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0F30 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0F40 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0F50 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0F60 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0F70 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0F80 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0F90 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0FA0 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0FB0 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0FC0 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0FD0 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0FE0 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 //0FF0 +}; + + + + + diff --git a/code_drv/Calculate.c b/code_drv/Calculate.c new file mode 100644 index 0000000..9b1f8b0 --- /dev/null +++ b/code_drv/Calculate.c @@ -0,0 +1,496 @@ +/******************************************************************************** +Copyright (C), Sinowealth Electronic. Ltd. +Author: Sino +Version: V0.0 +Date: 2020/04/26 +History: + V2.0 2020/04/26 Preliminary +********************************************************************************/ +#include "Main.h" + + +U8 xdata ucChgingCheckCnt; +U8 xdata ucDsgingCheckCnt; + +/************************************************************************************************* +* : CalcuTemp +* : +* ֵ: +* : ݼֵȡӦ¶ȡ¶ȱΪ¶*10 + ϶25㣬¶ȱֵΪ2731+250 +*************************************************************************************************/ +U16 CalcuTemp(U16 getdata) +{ + U8 i; + U16 Temperature; + U32 Tempcalcu; + +#if (AFE_ID == 0x34) + Tempcalcu = (U32)getdata*REF_RES_VAL/(32768-getdata); +#else + Tempcalcu= (U32)getdata*REF_RES_VAL/(4096-getdata); //calculte the resistance value of 103AT + if(Tempcalcu > 10) + { + Tempcalcu -= 10; + } +#endif + + if(Tempcalcu >= NTC103AT[0]) //look up table to find the resieter correspond temp + { + Temperature = 2731+(TEMP_LOWER_LIMIT *10); + } + else if(Tempcalcu <= NTC103AT[NTC103AT_ARRAY_LEN-1]) + { + Temperature = 2731+(TEMP_UPPER_LIMIT *10); + } + else + { + i = ucTempeMiddle; //the ucTempeMiddle must be initialized in InitVar() + if(Tempcalcu > NTC103AT[i]) + { + for(i=ucTempeMiddle-1; i>=0; i--) + { + if(Tempcalcu <= NTC103AT[i]) //NTC103AT[i+1] NTC103AT[i]) //NTC103AT[i-1] 5) //6~10Ӧʱ + { + if(!AFEReadReg(AFE_TEMP2H, 2, (U8 xdata *)&AFE.uiICTempe[1])) + { + Result = 0; + } + } + + return Result; +} + + +/************************************************************************************************* +* : AfeCalcuTempe +* : +* ֵ: +* : ¶ȣuiTempeMaxuiTempeMin +*************************************************************************************************/ +void AfeCalcuTempe(void) +{ + U16 TempeData; + + if(AfeGetTempe()) + { + TempeData = CalcuTemp(AFE.uiTS[0]) + E2siTS0Offset; //ⲿ¶1 + #if (UART0_DEFINE != 0) + IrqUart0Dis(); + #endif + #if (UART1_DEFINE != 0) + IrqUart1Dis(); + #endif + #if (UART2_DEFINE != 0) + IrqUart2Dis(); + #endif + Info.uiTS[0] = TempeData; + #if (UART0_DEFINE != 0) + IrqUart0En(); //uart0ж + #endif + #if (UART1_DEFINE != 0) + IrqUart1En(); //uart1ж + #endif + #if (UART2_DEFINE != 0) + IrqUart2En(); //ʼUART2жʹܣݾʹUARTģѡ + #endif + TempeData = (U32)AFE.uiICTempe[0]*17/10+31; //ڲ¶1 + #if (UART0_DEFINE != 0) + IrqUart0Dis(); + #endif + #if (UART1_DEFINE != 0) + IrqUart1Dis(); + #endif + #if (UART2_DEFINE != 0) + IrqUart2Dis(); + #endif + Info.uiICTempe[0] = TempeData; + + #if (UART0_DEFINE != 0) + IrqUart0En(); //uart0ж + #endif + #if (UART1_DEFINE != 0) + IrqUart1En(); //uart1ж + #endif + #if (UART2_DEFINE != 0) + IrqUart2En(); //ʼUART2жʹܣݾʹUARTģѡ + #endif + + if(ucCellNum > 5) //6~10Ӧʱ + { + TempeData = (U32)AFE.uiICTempe[1]*17/10+31; //ڲ¶2 + #if (UART0_DEFINE != 0) + IrqUart0Dis(); + #endif + #if (UART1_DEFINE != 0) + IrqUart1Dis(); + #endif + #if (UART2_DEFINE != 0) + IrqUart2Dis(); + #endif + Info.uiICTempe[1] = TempeData; + #if (UART0_DEFINE != 0) + IrqUart0En(); //uart0ж + #endif + #if (UART1_DEFINE != 0) + IrqUart1En(); //uart1ж + #endif + #if (UART2_DEFINE != 0) + IrqUart2En(); //ʼUART2жʹܣݾʹUARTģѡ + #endif + } + + uiTempeMin = Info.uiTS[0]; + uiTempeMax = Info.uiTS[0]; + if(bTempNum) + { + TempeData = CalcuTemp(AFE.uiTS[1]) + E2siTS1Offset; //ⲿ¶2 + #if (UART0_DEFINE != 0) + IrqUart0Dis(); + #endif + #if (UART1_DEFINE != 0) + IrqUart1Dis(); + #endif + #if (UART2_DEFINE != 0) + IrqUart2Dis(); + #endif + Info.uiTS[1] = TempeData; + #if (UART0_DEFINE != 0) + IrqUart0En(); //uart0ж + #endif + #if (UART1_DEFINE != 0) + IrqUart1En(); //uart1ж + #endif + #if (UART2_DEFINE != 0) + IrqUart2En(); //ʼUART2жʹܣݾʹUARTģѡ + #endif + + if(TempeData < uiTempeMin) + { + uiTempeMin = TempeData; + } + else + { + uiTempeMax = TempeData; + } + } + } +} + + +/************************************************************************************************* +* : AfeCalcuVol +* : +* ֵ: +* : ѹֵͬСֵuiVadcVmaxuiVadcVminڶж + ûƽʱŸuiCellVmaxuiCellVminڱж +*************************************************************************************************/ +void AfeCalcuVol(void) +{ + U8 i; + U32 TempPackVol=0, TempCellVol=0; + uiVadcVmax = 0; + uiVadcVmin = 6000; + + if(AfeGetVol()) + { + for(i=ucCellNumOffset; i<(ucCellNum+ucCellNumOffset); i++) + { + TempCellVol = (U32)AFE.uiCell[i]*CALIVOL/E2uiVPackGain; + + if(TempCellVol > uiVadcVmax) //ֵ&Сֵ + { + uiVadcVmax = TempCellVol; + } + if(TempCellVol < uiVadcVmin) + { + uiVadcVmin = TempCellVol; + } + + if(!bBalancingFlg) //if bCellOpenDecFlag this data will throw away + { + #if (UART0_DEFINE != 0) + IrqUart0Dis(); + #endif + #if (UART1_DEFINE != 0) + IrqUart1Dis(); + #endif + #if (UART2_DEFINE != 0) + IrqUart2Dis(); + #endif + Info.uiVCell[i] = TempCellVol; + #if (UART0_DEFINE != 0) + IrqUart0En(); //uart0ж + #endif + #if (UART1_DEFINE != 0) + IrqUart1En(); //uart1ж + #endif + #if (UART2_DEFINE != 0) + IrqUart2En(); //ʼUART2жʹܣݾʹUARTģѡ + #endif + TempPackVol += TempCellVol; + } + } + + if(!bBalancingFlg) + { + uiCellVmax = uiVadcVmax; + uiCellVmin = uiVadcVmin; + + #if (UART0_DEFINE != 0) + IrqUart0Dis(); + #endif + #if (UART1_DEFINE != 0) + IrqUart1Dis(); + #endif + #if (UART2_DEFINE != 0) + IrqUart2Dis(); + #endif + Info.ulVoltage = TempPackVol; //Calculate the total voltage + #if (UART0_DEFINE != 0) + IrqUart0En(); //uart0ж + #endif + #if (UART1_DEFINE != 0) + IrqUart1En(); //uart1ж + #endif + #if (UART2_DEFINE != 0) + IrqUart2En(); //ʼUART2жʹܣݾʹUARTģѡ + #endif + } + } +} + + +/************************************************************************************************* +* : CurTempOffset +* : +* ֵ: +* : ͬоƬ¶ADCIJֵ +*************************************************************************************************/ +S16 code siCurTempOffset[2][13]= +{ /**0****1****2****3***4***5***6***7***8***9**10**11**12**/ + {-40, -30, -20, -10, 0, 10, 25, 35, 45, 55, 65, 75, 85}, + { -5, -4, -3, -2, -1, -1, 0, 1, 1, 2, 3, 4, 5}, +}; + +/************************************************************************************************* +* : OffsetCalculate() +* : +* ֵ: +* : оƬڲ¶ʵʱ0ֵԱ¶ȶADCɼӰ +*************************************************************************************************/ +S16 OffsetCalculate(void) +{ + S16 xdata siCadcTempOffset=0; //20220620 + U8 xdata i; + + for(i=0; i<12; i++) + { + if(Info.uiICTempe[0] <= (((S32)siCurTempOffset[0][i] + siCurTempOffset[0][i+1]) / 2 * 10 + 2731)) + { + siCadcTempOffset = siCurTempOffset[1][i]; + break; + } + } + return siCadcTempOffset; +} + +/************************************************************************************************* +* : AfeCalcuCurr +* : +* ֵ: +* : CADCɼĵ +*************************************************************************************************/ +void AfeCalcuCurr(void) +{ + U8 i; + S32 Tempdata=0; + + AFEReadReg(AFE_CURH, 2, (U8 xdata *)&AFE.siCurr); //ͨTWIȡCADCɼĵֵ + + if((AFE.siCurr&0x1000) != 0) //bit12жǷΪ(ŵΪֵ)Ϊֵλ0 + { + AFE.siCurr|=0xE000; + } + slCadcCurrent = (S32)CALICUR*(AFE.siCurr-E2siCadcOffset+OffsetCalculate())/E2siCadcGain; + + slCadcCurBuf[ucCadcCnt] = slCadcCurrent; //ɼ16εȡƽֵΪǰֵ + if(++ucCadcCnt >= 16) + { + ucCadcCnt = 0; + } + for(i=0; i<16; i++) + { + Tempdata += slCadcCurBuf[i]; + } + slCadcCurAverage = Tempdata/16; + + bDSGING = 0; //ݵжŵ״̬ + bCHGING = 0; + if(slCadcCurAverage < (-E2siDfilterCur)) + { + if(++ucDsgingCheckCnt >= TIME_50MS_500MS) //ŵ״̬ʱ10*50mS + { + ucDsgingCheckCnt = TIME_50MS_500MS; + bDSGING = 1; + #if (UART0_DEFINE != 0) + IrqUart0Dis(); + #endif + #if (UART1_DEFINE != 0) + IrqUart1Dis(); + #endif + #if (UART2_DEFINE != 0) + IrqUart2Dis(); + #endif + Info.slCurr = slCadcCurAverage; + #if (UART0_DEFINE != 0) + IrqUart0En(); //uart0ж + #endif + #if (UART1_DEFINE != 0) + IrqUart1En(); //uart1ж + #endif + #if (UART2_DEFINE != 0) + IrqUart2En(); //ʼUART2жʹܣݾʹUARTģѡ + #endif + } + } + else if(slCadcCurAverage > E2siDfilterCur) + { + if(++ucChgingCheckCnt >= TIME_50MS_500MS) //ŵ״̬ʱ10*50mS + { + ucChgingCheckCnt = TIME_50MS_500MS; + bCHGING = 1; + McuPWM2Set(4000, 100); + #if (UART0_DEFINE != 0) + IrqUart0Dis(); + #endif + #if (UART1_DEFINE != 0) + IrqUart1Dis(); + #endif + #if (UART2_DEFINE != 0) + IrqUart2Dis(); + #endif + Info.slCurr = slCadcCurAverage; + #if (UART0_DEFINE != 0) + IrqUart0En(); //uart0ж + #endif + #if (UART1_DEFINE != 0) + IrqUart1En(); //uart1ж + #endif + #if (UART2_DEFINE != 0) + IrqUart2En(); //ʼUART2жʹܣݾʹUARTģѡ + #endif + } + } + else + { + #if (UART0_DEFINE != 0) + IrqUart0Dis(); + #endif + #if (UART1_DEFINE != 0) + IrqUart1Dis(); + #endif + #if (UART2_DEFINE != 0) + IrqUart2Dis(); + #endif + Info.slCurr = 0; + #if (UART0_DEFINE != 0) + IrqUart0En(); //uart0ж + #endif + #if (UART1_DEFINE != 0) + IrqUart1En(); //uart1ж + #endif + #if (UART2_DEFINE != 0) + IrqUart2En(); //ʼUART2жʹܣݾʹUARTģѡ + #endif + } +} + + +/************************************************************************************************* +* : AFEInfoProcess +* : +* ֵ: +* : ÿ50mSȡAFEϢµѹ¶ +*************************************************************************************************/ +void AFEInfoProcess(void) +{ + AFERdFlg(); + + bVADCFlg = 0; + AfeCalcuVol(); + AfeCalcuTempe(); + + if(bCADCFlg) //CADCתɺ󣬲ŶȡAFEϢ + { + bCADCFlg = 0; + AfeCalcuCurr(); + } +} + + diff --git a/code_drv/Calibrate.c b/code_drv/Calibrate.c new file mode 100644 index 0000000..4eec810 --- /dev/null +++ b/code_drv/Calibrate.c @@ -0,0 +1,175 @@ +/******************************************************************************** +Copyright (C), Sinowealth Electronic. Ltd. +Author: Sino +Version: V0.0 +Date: 2020/04/26 +History: + V2.0 2020/04/26 Preliminary +********************************************************************************/ +#include "Main.h" + + +BOOL bCaliFlg; //λУ׼λñ־ +U16 xdata ulExtVPack; +S32 xdata slExtCur; +U16 xdata uiExtTemp1; +U16 xdata uiExtTemp2; +U8 xdata ucExtRTC[7]; +U8 xdata ucExtcaliSwitch1; + +/************************************************************************************************* +* : CaliVoltage +* : +* ֵ: +* : У׼ܵѹE2uiVPackGain +*************************************************************************************************/ +void CaliVoltage(void) +{ + U8 i; + U16 VPackTemp = 0; + + for(i=ucCellNumOffset; i<(ucCellNumOffset+ucCellNum); i++) + { + VPackTemp += AFE.uiCell[i]; + } + + E2uiVPackGain = (U32)CALIPACKVOL*VPackTemp/ulExtVPack; +} + + +/************************************************************************************************* +* : CaliCurrentGain +* : +* ֵ: +* : У׼E2siCadcGainβɼĵƽУ׼ +*************************************************************************************************/ +void CaliCurrentGain(void) +{ + S16 TempGain; + + TempGain = (S32)CALICUR*(AFE.siCurr-E2siCadcOffset)/slExtCur; + if(TempGain != 0) + { + E2siCadcGain = TempGain; + } +} + + +/************************************************************************************************* +* : CaliCurZero +* : +* ֵ: +* : У׼ +*************************************************************************************************/ +void CaliCurZero(void) +{ + E2siCadcOffset = AFE.siCurr; +} + + +/************************************************************************************************* +* : CaliTS1CaliTS2 +* : +* ֵ: +* : У׼¶ȣ¶ƫС15У׼ +*************************************************************************************************/ +void CaliTS1(void) +{ + S16 Tempe; + + Tempe = uiExtTemp1 - CalcuTemp(AFE.uiTS[0]); + if(((Tempe-E2siTS0Offset)<150) && ((Tempe-E2siTS0Offset)>-150)) + { + E2siTS0Offset = Tempe; + } +} + +void CaliTS2(void) +{ + S16 Tempe; + + Tempe = uiExtTemp2 - CalcuTemp(AFE.uiTS[1]); + if(((Tempe-E2siTS1Offset)<150) && ((Tempe-E2siTS1Offset)>-150)) + { + E2siTS1Offset = Tempe; + } +} + + + +/************************************************************************************************* +* : CaliRTCTime +* : +* ֵ: +* : У׼RTC +*************************************************************************************************/ +void CaliRTCTime(void) +{ + RTC.Second = ucExtRTC[0]; + RTC.Minute = ucExtRTC[1]; + RTC.Hour = ucExtRTC[2]; + RTC.Date = ucExtRTC[3]; + RTC.Month = ucExtRTC[4]; + RTC.Year = ucExtRTC[5]; + RTC.Week = ucExtRTC[6]; + + RTCModifyTime(&RTC); + + bE2PProcessFlg = 1; //У׼RTC֮ҪRTCⲿEEP + bE2PBKRtc = 1; +} + + + +/************************************************************************************************* +* : CaliProcess +* : +* ֵ: +* : У׼ͨѶжϻλǰҪУ׼ģӦı־ + У׼󣬽У׼дFlash +*************************************************************************************************/ +void CaliProcess(void) +{ + if(bCaliFlg) + { + bCaliFlg = 0; + + if((ucExtcaliSwitch1 & 0x01) != 0) //У׼ܵѹ + { + CaliVoltage(); + } + + if((ucExtcaliSwitch1 & 0x10) != 0) //У׼ + { + CaliCurrentGain(); + } + + if((ucExtcaliSwitch1 & 0x20) != 0) //У׼ + { + CaliCurZero(); + } + + if((ucExtcaliSwitch1 & 0x04) != 0) //У׼TS1 + { + CaliTS1(); + } + + if((ucExtcaliSwitch1 & 0x08) != 0) //У׼TS2 + { + CaliTS2(); + } + + if((ucExtcaliSwitch1 & 0x80) != 0) //У׼RTC + { + CaliRTCTime(); + } + + ucExtcaliSwitch1 = 0; + bMcuFlashWrWaitFlg = 1; //Flash + bMcuFlashWrWaitCnt = MCU_FLASH_WATI_DELAY; //д + } +} + + + + diff --git a/code_drv/ChargerLoad.c b/code_drv/ChargerLoad.c new file mode 100644 index 0000000..b723858 --- /dev/null +++ b/code_drv/ChargerLoad.c @@ -0,0 +1,97 @@ +/******************************************************************************** +Copyright (C), Sinowealth Electronic. Ltd. +Author: Sino +Version: V0.0 +Date: 2020/04/26 +History: + V2.0 2020/04/26 Preliminary +********************************************************************************/ +#include "Main.h" + + +//͸ؼ +BOOL bChgerStartCheckFlg; +BOOL bChgerChkingFlg; +BOOL bLoadStartCheckFlg; +BOOL bLoadChkingFlg; +U8 xdata ucChgerRCnt; +U8 xdata ucLoadRCnt; + +/************************************************************************************************* +* : LoadCheck +* : +* ֵ: +* : ؼ⣬Ƿѹ͹ +*************************************************************************************************/ +void LoadCheck(void) +{ + if(bLoadStartCheckFlg) //ǷѹҵѹѾָѾ + { + bLoadStartCheckFlg = 0; + bLoadChkingFlg = 1; + ucLoadRCnt = 0; + AFELoadCheckEn(); //AFEؼ + } + else if(bLoadChkingFlg) + { + AFERdStatus(); + if(!bAfeLoad) //⵽ͷ + { + if(++ucLoadRCnt >= LOAD_DELAY_CNT) + { + bLoadChkingFlg = 0; + ucLoadRCnt = 0; + AFELoadCheckDis(); //رոؼ + if(bUVLock) + { + bUV = 0; //ͷǷѹ + } + bOCD1 = 0; + bOCD2 = 0; + if(bAFE_SC) + { + bAFE_SC = 0; + AFEClrFlg(); //·־ + } + } + } + } +} + + +/************************************************************************************************* +* : ChgerCheck +* : +* ֵ: +* : ǷѹǷӣǷƳ +*************************************************************************************************/ +void ChgerCheck(void) +{ + if(bChgerStartCheckFlg) + { + bChgerStartCheckFlg = 0; + bChgerChkingFlg = 1; + ucChgerRCnt = 0; + AFEChgerCheckEn(); // + } + else if(bChgerChkingFlg) + { + AFERdStatus(); + if(!bAfeChger) //Ƴ + { + if(++ucChgerRCnt >= CHGER_DELAY_CNT) + { + bChgerChkingFlg = 0; + ucChgerRCnt = 0; + AFEChgerCheckDis(); //رճ + if(bOVLock) + { + bOV = 0; //ͷŹѹ + bAFE_OV = 0; + AFEClrFlg(); + } + bOCC = 0; + } + } + } +} diff --git a/code_drv/ExtE2PRom.c b/code_drv/ExtE2PRom.c new file mode 100644 index 0000000..f49cd69 --- /dev/null +++ b/code_drv/ExtE2PRom.c @@ -0,0 +1,561 @@ +/******************************************************************************** +Copyright (C), Sinowealth Electronic. Ltd. +Author: Sino +Version: V0.0 +Date: 2020/04/26 +History: + V2.0 2020/04/26 Preliminary +********************************************************************************/ +#include "Main.h" + +BOOL bE2PProcessFlg; //EEPROM־ +BOOL bE2PBKDsgEnd; //ŵ־ҪϢEEPROM +BOOL bE2PBKDsgEndValid; +BOOL bE2PBKChgStop; //־ҪϢEEPROM +BOOL bE2PBKChgStart; //翪ʼ־ҪϢEEPROM +BOOL bE2PBKRtc; //RTCʱݱ־ҪϢEEPROM +BOOL bE2PErase; //EEPROM־ +U8 xdata bUart0E2PRdData; //ȡEEPROM־ +U8 xdata bUart1E2PRdData; //ȡEEPROM־ +U8 xdata bUart2E2PRdData; //ȡEEPROM־ +BOOL bE2PRErr; +BOOL bE2PTwiRWErrFlg; +U8 xdata bUart0RTCRdTime; //ȡRTCʱ־ +U8 xdata bUart1RTCRdTime; //ȡRTCʱ־ +U8 xdata bUart2RTCRdTime; //ȡRTCʱ־ +BOOL bDsgToChgFlg; //ŵתΪ磬Ҫ +BOOL bChgToDsgFlg; //תΪŵ磬Ҫ +U16 xdata uiE2PDataAddr; +U8 xdata ucE2PTwiRWErrDelayCnt; +U8 xdata ucRTCBKTime1; +U16 xdata uiRTCBKTime2; +U8 idata ucUpDataLimitTime; +U16 xdata uiCHGValidTime; +U8 xdata ucRTCBuf[7]; + + +/************************************************************************************************* +* : AFEI2CCheck +* : +* ֵ: +* : 5S⵽AFEI2CͨѶλbAfeErr=1 +*************************************************************************************************/ +void E2PRomTwiCheck(void) +{ + if(bEnEEPRomBK) + { + if(bE2PTwiRWErrFlg) + { + if(++ucE2PTwiRWErrDelayCnt >= TIME_1S_5S) + { + bE2PRErr = 1; + ucE2PTwiRWErrDelayCnt = TIME_1S_5S; + } + } + else + { + ucE2PTwiRWErrDelayCnt = 0; + } + } +} + + +/************************************************************************************************* +* : E2PRomWrite +* : AddrַLengthȣWrBufдŵBuf +* ֵ: +* : дEEPROm +*************************************************************************************************/ +BOOL E2PRomWrite(U16 WrAddr, U8 Length, U8 xdata *WrBuf) +{ + BOOL Result = 0; + U8 i; + + if(!bE2PRErr) + { + for(i=0; i<5; i++) + { + #ifdef TWI_Hardware_Module + if(TwiWrite(E2PROM_ID, WrAddr, TWI_ADDR_2B, Length, TWI_CRC_NO, WrBuf)) + { + Result = 1; + break; + } + #else + if(TwiWrite(E2PROM_ID, WrAddr, Length, WrBuf)) + { + Result = 1; + break; + } + #endif + Delay1ms(1); + } + } + bE2PTwiRWErrFlg = !Result; //ͨѶǷ + + return Result; +} + + +/************************************************************************************************* +* : E2PRomRead +* : AddrַLengthȣRdBufȡŵBuf +* ֵ: +* : ȡEEPROm +*************************************************************************************************/ +BOOL E2PRomRead(U16 RdAddr, U8 Length, U8 xdata *RdBuf) +{ + BOOL Result = 0; + U8 i; + + if(!bE2PRErr) + { + for(i=0; i<5; i++) + { + #ifdef TWI_Hardware_Module + if(TwiRead(E2PROM_ID, RdAddr, TWI_ADDR_2B, Length, TWI_CRC_NO, RdBuf)) + { + Result = 1; + break; + } + #else + if(TwiRead(E2PROM_ID, RdAddr, Length, RdBuf)) + { + Result = 1; + break; + } + #endif + Delay1ms(1); + } + } + bE2PTwiRWErrFlg = !Result; //ͨѶǷ + + return Result; +} + + + +/************************************************************************************************* +* : E2PRomErase +* : +* ֵ: +* : EEPROM +*************************************************************************************************/ +void E2PRomErase(void) +{ + U16 i; + U8 xdata WrBuf[8]; + + MemorySet(WrBuf, 0, 8); //clr Info.uiVCell[] + + for(i=0; i<(E2PROM_SIZE/32-1); i++) + { + McuWDTClear(); + E2PRomWrite(i*32+31, 1, WrBuf); + } + + E2PRomWrite(E2PROM_BOOT_ADDR, 8, WrBuf); + uiE2PDataAddr = 0; +} + + +/************************************************************************************************* +* : InitE2PRom +* : +* ֵ: +* : ʼEEPROMĵַ +*************************************************************************************************/ +BOOL E2PRomInit(void) +{ + BOOL Result = 0; + + U8 xdata RdBuf[8]; + + Result = E2PRomRead(E2PROM_BOOT_ADDR, 8, RdBuf); + + RdBuf[2] = RdBuf[0]+RdBuf[1]; + RdBuf[6] = RdBuf[4]+RdBuf[5]; + + if(RdBuf[2] == RdBuf[3]) + { + uiE2PDataAddr = ((U16)RdBuf[0]<<8) + RdBuf[1]; + } + else if(RdBuf[6] == RdBuf[7]) + { + uiE2PDataAddr = ((U16)RdBuf[4]<<8) + RdBuf[5]; + } + else + { + uiE2PDataAddr = 0; + } + + return Result; +} + + +/************************************************************************************************* +* : E2PRomBKRTC +* : +* ֵ: +* : RTC +*************************************************************************************************/ +void E2PRomBKRTC(void) +{ + U8 xdata WrBuf[9]; + U8 i, checksum = 0; + + RTCReadTime(&RTC); + MemoryCopy((U8 xdata *)&(RTC.Second), WrBuf, 7); + for(i=0; i<7; i++) + { + checksum += WrBuf[i]; + } + WrBuf[7] = checksum; + WrBuf[8] = 0x5A; + + E2PRomWrite(E2PROM_RTC_ADDR, 9, WrBuf); +} + + +/************************************************************************************************* +* : E2PRomBKBoot +* : +* ֵ: +* : EEPROMBoot +*************************************************************************************************/ +void E2PRomBKBoot(void) +{ + U8 xdata WrBuf[8]; + + WrBuf[0] = (uiE2PDataAddr>>8); + WrBuf[1] = uiE2PDataAddr; + WrBuf[3] = WrBuf[0]+WrBuf[1]; //Calculate checksum + + WrBuf[4] = WrBuf[0]; + WrBuf[5] = WrBuf[1]; + WrBuf[7] = WrBuf[3]; + + E2PRomWrite(E2PROM_BOOT_ADDR, 8, WrBuf); +} + + +/************************************************************************************************* +* : E2PRomBKData +* : BKType +* ֵ: +* : ȡEEPROM +*************************************************************************************************/ +void E2PRomBKData(U8 BKType) +{ + U8 xdata WrBuf[32]; + + if(BKType == E2PROM_BKTYPE_CHG_START) //翪ʼ + { + MemoryCopy((U8 xdata *)&ucRTCBuf[0], WrBuf, 3); + MemoryCopy((U8 xdata *)&ucRTCBuf[4], WrBuf + 3, 3); + } + else + { + RTCReadTime(&RTC); + MemoryCopy((U8 xdata *)&(RTC.Second), WrBuf, 3); + MemoryCopy((U8 xdata *)&(RTC.Date), WrBuf + 3, 3); + } + + WrBuf[6] = (Info.uiPackStatus>>8); + WrBuf[7] = Info.uiPackStatus; + WrBuf[8] = (Info.uiBatStatus>>8); + WrBuf[9] = Info.uiBatStatus; + WrBuf[10] = (Info.ulFCC>>24); + WrBuf[11] = (Info.ulFCC>>16); + WrBuf[12] = (Info.ulFCC>>8); + WrBuf[13] = Info.ulFCC; + WrBuf[14] = (Info.ulRC>>24); + WrBuf[15] = (Info.ulRC>>16); + WrBuf[16] = (Info.ulRC>>8); + WrBuf[17] = Info.ulRC; + WrBuf[18] = (Info.ulVoltage>>24); + WrBuf[19] = (Info.ulVoltage>>16); + WrBuf[20] = (Info.ulVoltage>>8); + WrBuf[21] = Info.ulVoltage; + WrBuf[22] = (Info.slCurr>>24); + WrBuf[23] = (Info.slCurr>>16); + WrBuf[24] = (Info.slCurr>>8); + WrBuf[25] = Info.slCurr; + WrBuf[26] = (Info.uiTS[0]>>8); + WrBuf[27] = Info.uiTS[0]; + WrBuf[28] = (Info.uiCycleCount>>8); + WrBuf[29] = Info.uiCycleCount; + WrBuf[30] = BKType; + WrBuf[31] = 0x5A; + + E2PRomWrite(uiE2PDataAddr, 32, WrBuf); + + uiE2PDataAddr += 32; + if(uiE2PDataAddr >= E2PROM_BOOT_ADDR) + { + uiE2PDataAddr = 0; + } + + E2PRomBKBoot(); +} + + +/************************************************************************************************* +* : Uart0RdE2PRom +* : +* ֵ: +* : ȡEEPROM +*************************************************************************************************/ +void Uart0RdE2PRom(void) +{ + U16 RdAddr; + + RdAddr = ((U16)ucUart0Buf[UART_CMD_NO]-CMD_RD_EEPROM)*128+((U16)ucSubClassID-0x80)*4096; + E2PRomRead(RdAddr, ucUart0Buf[UART_LENGTH], &ucUart0Buf[UART_DATA]); + + ucUart0Buf[UART_DATA+ucUart0Buf[UART_LENGTH]] = CRC8cal(&ucUart0Buf,ucUart0Buf[UART_LENGTH]+UART_DATA); + Uart0SendData(); //Start Send Data; Set UART REG +} + +/************************************************************************************************* +* : Uart1RdE2PRom +* : +* ֵ: +* : ȡEEPROM +*************************************************************************************************/ +void Uart1RdE2PRom(void) +{ + U16 RdAddr; + + RdAddr = ((U16)ucUart1Buf[UART_CMD_NO]-CMD_RD_EEPROM)*128+((U16)ucSubClassID-0x80)*4096; + E2PRomRead(RdAddr, ucUart1Buf[UART_LENGTH], &ucUart1Buf[UART_DATA]); + + ucUart1Buf[UART_DATA+ucUart1Buf[UART_LENGTH]] = CRC8cal(&ucUart1Buf,ucUart1Buf[UART_LENGTH]+UART_DATA); + Uart1SendData(); //Start Send Data; Set UART REG +} + +/************************************************************************************************* +* : Uart2RdE2PRom +* : +* ֵ: +* : ȡEEPROM +*************************************************************************************************/ +void Uart2RdE2PRom(void) +{ + U16 RdAddr; + + RdAddr = ((U16)ucUart2Buf[UART_CMD_NO]-CMD_RD_EEPROM)*128+((U16)ucSubClassID-0x80)*4096; + E2PRomRead(RdAddr, ucUart2Buf[UART_LENGTH], &ucUart2Buf[UART_DATA]); + + ucUart2Buf[UART_DATA+ucUart2Buf[UART_LENGTH]] = CRC8cal(&ucUart2Buf,ucUart2Buf[UART_LENGTH]+UART_DATA); + Uart2SendData(); //Start Send Data; Set UART REG +} + + +/************************************************************************************************* +* : UartRdRTC +* : +* ֵ: +* : ȡRTCʱ䣺롢֡ʱա¡꣬ظUART +*************************************************************************************************/ +void Uart0RdRTC(void) +{ + RTCReadTime(&RTC); + MemoryCopy((U8 xdata *)&(RTC.Second), &ucUart0Buf[UART_DATA], 7); + + ucUart0Buf[UART_DATA+ucUart0Buf[UART_LENGTH]] = CRC8cal(&ucUart0Buf,ucUart0Buf[UART_LENGTH]+UART_DATA); + Uart0SendData(); //Start Send Data; Set UART REG +} + + +/************************************************************************************************* +* : Uart1RdRTC +* : +* ֵ: +* : ȡRTCʱ䣺롢֡ʱա¡꣬ظUART +*************************************************************************************************/ +void Uart1RdRTC(void) +{ + RTCReadTime(&RTC); + MemoryCopy((U8 xdata *)&(RTC.Second), &ucUart1Buf[UART_DATA], 7); + + ucUart1Buf[UART_DATA+ucUart1Buf[UART_LENGTH]] = CRC8cal(&ucUart1Buf,ucUart1Buf[UART_LENGTH]+UART_DATA); + Uart1SendData(); //Start Send Data; Set UART REG +} + +/************************************************************************************************* +* : Uart2RdRTC +* : +* ֵ: +* : ȡRTCʱ䣺롢֡ʱա¡꣬ظUART +*************************************************************************************************/ +void Uart2RdRTC(void) +{ + RTCReadTime(&RTC); + MemoryCopy((U8 xdata *)&(RTC.Second), &ucUart2Buf[UART_DATA], 7); + + ucUart2Buf[UART_DATA+ucUart2Buf[UART_LENGTH]] = CRC8cal(&ucUart2Buf,ucUart2Buf[UART_LENGTH]+UART_DATA); + Uart2SendData(); //Start Send Data; Set UART REG +} + +/************************************************************************************************* +* : E2PRomBKProcess +* : +* ֵ: +* : EEPROMӦ +*************************************************************************************************/ +void E2PRomBKProcess(void) +{ + U8 BKType; + + if(bEnEEPRomBK && bE2PProcessFlg) + { + bE2PProcessFlg = 0; +// E2PRomInit(); +// RTCInitTime(&RTC); + + if(bE2PErase) + { + bE2PErase = 0; + E2PRomErase(); + } + + if(bUart0E2PRdData||bUart1E2PRdData||bUart2E2PRdData) + { + if(bUart0E2PRdData ) + { + bUart0E2PRdData = 0; + Uart0RdE2PRom(); + } + if(bUart1E2PRdData) + { + bUart1E2PRdData = 0; + Uart2RdE2PRom(); + } + if(bUart2E2PRdData) + { + bUart2E2PRdData = 0; + Uart2RdE2PRom(); + } + + } + + if(bUart0RTCRdTime||bUart1RTCRdTime||bUart2RTCRdTime) + { + if(bUart0RTCRdTime) + { + bUart0RTCRdTime = 0; + Uart0RdRTC(); + } + if(bUart1RTCRdTime) + { + bUart1RTCRdTime = 0; + Uart1RdRTC(); + } + if(bUart2RTCRdTime) + { + bUart2RTCRdTime = 0; + Uart2RdRTC(); + } + } + + if(bE2PBKRtc) + { + bE2PBKRtc = 0; + E2PRomBKRTC(); + } + + if(bE2PBKChgStart) + { + bE2PBKChgStart = 0; + BKType = E2PROM_BKTYPE_CHG_START; + E2PRomBKData(BKType); + } + + if(bE2PBKChgStop) + { + bE2PBKChgStop = 0; + BKType = E2PROM_BKTYPE_CHG_END; + E2PRomBKData(BKType); + } + + if(bE2PBKDsgEnd) + { + bE2PBKDsgEnd = 0; + BKType = E2PROM_BKTYPE_DSG_END; + E2PRomBKData(BKType); + } + } +} + + +/************************************************************************************************* +* : E2PRomBKCheck +* : +* ֵ: +* : ÿ1sǷҪRTCEEPROM +*************************************************************************************************/ +void E2PRomBKCheck(void) +{ + if(bEnEEPRomBK) + { +// E2PRomInit(); +// RTCInitTime(&RTC); + + if(++ucRTCBKTime1 >= E2ucRTCBKDelay) + { + ucRTCBKTime1 = 0; + RTCReadTime(&RTC); + } + + if(++uiRTCBKTime2 >= 3600) //1h + { + uiRTCBKTime2 = 0; + bE2PProcessFlg = 1; + bE2PBKRtc = 1; + } + + if(!bCHGING) + { + bDsgToChgFlg = 1; + if(bChgToDsgFlg) + { + bChgToDsgFlg = 0; + bE2PProcessFlg = 1; + bE2PBKChgStop = 1; + } + if(bUV && bE2PBKDsgEndValid) + { + bE2PBKDsgEndValid = 0; + bE2PProcessFlg = 1; + bE2PBKDsgEnd = 1; + } + else if(!bUV) + { + bE2PBKDsgEndValid = 1; + } + } + + if((bDsgToChgFlg && Info.slCurr>=E2siChgBKCur)) + { + if(!uiCHGValidTime) + { + RTCReadTime(&RTC); + MemoryCopy((U8 xdata *)&RTC, ucRTCBuf, 7); + } + + if(++uiCHGValidTime > ((U16)E2ucChgBKDelay*60)) //1 + { + uiCHGValidTime = 0; + bChgToDsgFlg = 1; + bDsgToChgFlg = 0; + bE2PProcessFlg = 1; + bE2PBKChgStart = 1; + } + } + else + { + uiCHGValidTime = 0; + } + } +} diff --git a/code_drv/ISP.c b/code_drv/ISP.c new file mode 100644 index 0000000..de29714 --- /dev/null +++ b/code_drv/ISP.c @@ -0,0 +1,287 @@ +/******************************************************************************** +Copyright (C), Sinowealth Electronic. Ltd. +Author: Sino +Version: V0.0 +Date: 2014/05/30 +History: + V0.0 2014/05/30 Preliminary +********************************************************************************/ +#include "Main.h" +#include "ISP.h" + + +/******************************************************************************** +ucUartBuf[0]--Slave Addr +ucUartBuf[1]--length +ucUartBuf[2]--Command-H +ucUartBuf[3]--Command-L +********************************************************************************/ +void ISP(void) +{ + EA = 0; + SP = STACK - 1; + CLKCON = 0x08; //SETB HFON + _nop_(); + _nop_(); + _nop_(); + _nop_(); + _nop_(); + _nop_(); + _nop_(); + _nop_(); + CLKCON |= 0x04; //SETB FS, SYSCLK=24M + + ucUartBufPT = 0; + ucUartBuf[0] = 0; + ucUartBuf[1] = 0; + ucUartBuf[2] = 0; + ucUartBuf[3] = 0; + ucUartSndLength = 0; + + P0 = 0xF2; + P0PCR = 0xC2; + P0CR = 0x81; + + SCON = 0x50; //Uartģʽ1 + SBRTH = 0xff; //òʲ9600 + SBRTL = 0x64; //㹫ʽ(int)X=FSY/(16*) ; SBRT=32768-X ; SFINE=FSY/ʣ-16*X FSY=24M + SFINE = 0x04; + SADDR = 0x0A; + SADEN = 0xFF; + + while(1) + { + RSTSTAT = 0x00; + if(RI) + { + ucUartBuf[ucUartBufPT] = SBUF; + ucUartBufPT++; + if(ucUartBuf[0] != SADDR) + { + ucUartBufPT = 0; + ucUartBuf[1] = 0; + } + else if(ucUartBuf[1] == CMD_ISP_HANDSHAKE) + { + if(ucUartBufPT > (ucUartBuf[3]+3)) //If a write operation, and complete all the data has been received + { + ucUartBufPT = 0; + ucUartSndLength = 1; + if((ucUartBuf[8]!='I') || (ucUartBuf[9]!='S') || (ucUartBuf[10]!='P')) + { + REN = 0; + SBUF = CMD_INVALID_ACK; //UARTNACK + } + else + { + REN = 0; + SBUF = CMD_VALID_ACK; //UARTACK + } + } + } + + else if(ucUartBufPT > 2) + { + if(ucUartBufPT >= ucUartBuf[1]) + { + ISPProcessCMD(); + ucUartBufPT = 0; + } + } + RI = 0; + } + + if(TI) + { + ucUartBufPT++; + if(ucUartBufPT >= ucUartSndLength) + { + REN = 1; //Allow UART receive data + ucUartBufPT = 0; + } + else + { + REN = 0; //Disable Receive + SBUF = ucUartBuf[ucUartBufPT]; + } + TI = 0; + } + } +} + +/******************************************************************************* +Function: ISPProcessCMD() +Description: +Input: +Output: +Others: +*******************************************************************************/ +void ISPProcessCMD(void) +{ + U8 data i, DataChksum, SendState; + U16 data j, UartStartAddr, UartDataLen, UartChksum; + + if((ucUartBuf[2]==0xff) && (ucUartBuf[4]=='I') && (ucUartBuf[5]=='S') && (ucUartBuf[6]=='P')) + { +//Erase Sector + if(ucUartBuf[3] == UART_ERASE) + { + FLASHCON = ucUartBuf[7]; +// if((FLASHCON&0x01) == 0) +// { +// UartDataLen = CODE_SECTOR*512; +// XPAGE = ucUartBuf[8]<<1; //Code Area +// } +// else + { + UartDataLen = E2P_SECTOR*512; + XPAGE = ucUartBuf[8]<<1; //EEPRom + } + + IB_CON1 = 0xE6; + IB_CON2 = 0x05; + IB_CON3 = 0x0A; + IB_CON4 = 0x09; + IB_CON5 = 0x06; + _nop_(); + _nop_(); + _nop_(); + _nop_(); + + + SendState = STATE_OK; //Send Data: Erase OK + for(j=0; j= KEY_S_TIME) //˲ºһֱֹͣ + { //ֵδʱuiKeyValidCnt >= KEY_S_TIMEǶ̰ + if(uiKeyInvalidCnt >= KEY_S_TIME) //˲ﵽ̰ʱ䣬Ϊһΰº͵Ч + { + if(uiKeyValidCnt >= KEY_L_TIME) //ڴǶ̰dz + { + ucKeyValue = ucKeyOldValue | KEY_STATE_LE; //µʱ䳬ʱ䣬ΪdzѾˡ״̬Ŀǰδʹ + } + else + { + ucKeyValue = ucKeyOldValue | KEY_STATE_S; //µʱûгʱ䣬ΪһЧĶ̰ + } + bKeyFlg = 1; //̰Чͣ⣬ȥ¼ + goto scanend; + } +// else +// { +// uiKeyValidCnt++; //ӦɾKEY_S_TIMEKEY_L_TIMEһ뼰ʱѶ̰ʶΪ +// } + } + else //ÿµʱ̰ʱ䶼ʱΪЧ³ʼ + { + goto scanend; + } + } + else //ucKeyValueBKдµļֵ¼ֵϼֵͬ˵ͬһ + { + if(ucKeyValueBK != KEYVAL_NULL) //µİ + { + uiKeyInvalidCnt = 0; //嵯 + uiKeyValidCnt++; //ۼӰ¼ + if(uiKeyValidCnt == KEY_L_TIME) //ʱﵽ˲ʱʱΪ˰Ϊ + { + ucKeyValue = ucKeyOldValue | KEY_STATE_L; + bKeyFlg = 1; + } + else if(uiKeyValidCnt == KEY_LC_TIME) //ʱﵽ˲ʱʱΪ˰Ϊ + { + uiKeyValidCnt = KEY_L_TIME; + ucKeyValue = ucKeyOldValue | KEY_STATE_LC; + bKeyFlg = 1; + } + } + else //¼ֵǿռֵ˵ȫͷ + { + ucKeyValue = KEYVAL_NULL; //ȫͷˣҪ³ʼĴ +scanend: + uiKeyValidCnt = 0; + uiKeyInvalidCnt = 0; + ucKeyOldValue = ucKeyValueBK; + } + } + } +} diff --git a/code_drv/McuFlash.c b/code_drv/McuFlash.c new file mode 100644 index 0000000..da219b1 --- /dev/null +++ b/code_drv/McuFlash.c @@ -0,0 +1,368 @@ +/******************************************************************************** +Copyright (C), Sinowealth Electronic. Ltd. +Author: Sino +Version: V0.0 +Date: 2020/04/26 +History: + V2.0 2020/04/26 Preliminary +********************************************************************************/ +#include "Main.h" + + +BOOL bMcuFlashWrWaitFlg; +BOOL bMcuFlashWrFlg; +BOOL bMcuFlashErr; +U8 xdata ucMcuFlashWrValid; +U8 xdata bMcuFlashWrWaitCnt; + +/************************************************************************************************* +* : McuFlashWrOneByte +* : McuFlashAddrʼַWrDataдע +* ֵ: +* : д1ֽ +*************************************************************************************************/ +void McuFlashWrOneByte(U16 McuFlashAddr, U8 WrData) +{ + IrqDis(); + McuFlashEn(); + + XPAGE = McuFlashAddr>>8; + IB_OFFSET = McuFlashAddr % 256; + IB_DATA = WrData; + + IB_CON1 = 0x6E; + IB_CON2 = 0x05; + IB_CON3 = 0x0A; + IB_CON4 = 0x09; + if(XPAGE == (McuFlashAddr>>8)) + { + IB_CON5 = 0x06; + _nop_(); + _nop_(); + _nop_(); + _nop_(); + _nop_(); + } + + McuFlashDis(); + IrqEn(); +} + + +/************************************************************************************************* +* : McuFlashBlankCheck +* : McuFlashAddrʼַ +* ֵ: 0ȫ0Eraseʧܣ1ȫ0Eraseɹ +* : Erase1SectorǷȫΪ0 +*************************************************************************************************/ +BOOL McuFlashBlankCheck(U16 McuFlashAddr) +{ + BOOL Result = 1; + U16 i; + + for(i=0; i>8; + IB_DATA = *(ptr+i); + IB_CON1 = 0x6E; + if(!EA) + { + IB_CON2 = 0x05; + if(FLASHCON) + { + IB_CON3 = 0x0A; + if(ucMcuFlashWrValid == 0x55) + { + IB_CON4 = 0x09; + if(XPAGE == ((McuFlashAddr+i)>>8)) + { + IB_CON5 = 0x06; + _nop_(); + _nop_(); + _nop_(); + _nop_(); + _nop_(); + Result = 1; + } + else + { + Result = 0; + break; + } + } + else + { + Result = 0; + break; + } + } + else + { + Result = 0; + break; + } + } + else + { + Result = 0; + break; + } + } + + return Result; +} + + +/************************************************************************************************* +* : McuFlashWrite +* : McuFlashAddrдĵַȹ̶Ϊ1Sector +* ֵ: 0дʧܣ1дɹ +* : дMCU Flash1Sector: + 1.Erase Sector + 2.鵱ǰSectorǷȫΪ0 + 3.XRAMд + 4.УXRAMMCU FlashǷһ +*************************************************************************************************/ +BOOL McuFlashWrite(U16 McuFlashAddr, U16 XramAddr) +{ + BOOL Result = 0; + + McuWDTClear(); //忴Ź + IrqDis(); //رжԴ + McuFlashEn(); + + XPAGE = McuFlashAddr >> 8; + IB_CON1 = 0xE6; + if(!EA) + { + IB_CON2 = 0x05; + if(FLASHCON) + { + IB_CON3 = 0x0A; + if(ucMcuFlashWrValid == 0x55) + { + IB_CON4 = 0x09; + if(XPAGE == (McuFlashAddr >> 8)) + { + IB_CON5 = 0x06; + _nop_(); + _nop_(); + _nop_(); + _nop_(); + _nop_(); + + if(McuFlashBlankCheck(McuFlashAddr)) // + { + if(McuFlashWrSector(McuFlashAddr, XramAddr)) //д + { + if(McuFlashDataCheck(McuFlashAddr, XramAddr)) //У + { + Result = 1; + } + } + } + } + } + } + } + + IB_CON1 = 0; + IB_CON2 = 0; + IB_CON3 = 0; + IB_CON4 = 0; + IB_CON5 = 0; + + McuFlashDis(); + XPAGE = 0x00; + IrqEn(); + + return Result; +} + + + + + + +/************************************************************************************************* +* : McuFlashProcess +* : +* ֵ: +* : дMCU Flashͬʱ±12 +*************************************************************************************************/ +void McuFlashProcess(void) +{ + BOOL McuFlashBk1WrFailFlg = 0, McuFlashBk2WrFailFlg = 0; + U16 VoltageMin; + + if(bMcuFlashWrFlg) + { + bMcuFlashWrFlg = 0; + + ucMcuFlashWrValid = 0x55; //д־ + if(ucCellNum > 5) //6~10ӦãҪܵѹ10V + { + VoltageMin = 10000; + } + else //3~5ӦãҪܵѹ5V + { + VoltageMin = 5000; + } + + if((Info.ulVoltage>=VoltageMin) && (E2uiCheckFlag==0x5AA5)) + { + if(!McuFlashWrite(MCUFLASH_BK1_ADDR, XRAM_MAP_ADDR)) //дΣλ־ + { + if(!McuFlashWrite(MCUFLASH_BK1_ADDR, XRAM_MAP_ADDR)) + { + McuFlashBk1WrFailFlg = 1; + E2uiCheckFlag = 0xFFFF; + McuFlashWrOneByte(MCUFLASH_BK1_ADDR+510,0xFF); + McuFlashWrOneByte(MCUFLASH_BK1_ADDR+511,0xFF); + } + } + + if(!McuFlashWrite(MCUFLASH_BK2_ADDR, XRAM_MAP_ADDR)) + { + if(!McuFlashWrite(MCUFLASH_BK2_ADDR, XRAM_MAP_ADDR)) + { + McuFlashBk2WrFailFlg = 1; + E2uiCheckFlag = 0xFFFF; + McuFlashWrOneByte(MCUFLASH_BK2_ADDR+510,0xFF); + McuFlashWrOneByte(MCUFLASH_BK2_ADDR+511,0xFF); + } + } + } + else + { + McuFlashBk1WrFailFlg = 1; + McuFlashBk2WrFailFlg = 1; + } + ucMcuFlashWrValid = 0x00; + + if(McuFlashBk1WrFailFlg && McuFlashBk2WrFailFlg) //FlashλFlash־ + { + bMcuFlashErr = 1; + } + } +} + + +/************************************************************************************************* +* : McuFlashRead +* : SourceAddrԴַTargetAddrĿַLengthݳ +* ֵ: 0ȷ1ݴ +* : жMCU FlashһֽǷΪ0x5AA5Ƿƻ +*************************************************************************************************/ +BOOL McuFlashRead(U16 SourceAddr, U8 xdata *TargetAddr, U16 Length) +{ + U16 i; + BOOL Result = 1; + U8 xdata *data TargetAddr1 = TargetAddr; //*dataؼֵãǰָTargetAddr1data + + IrqDis(); + McuFlashEn(); + McuWDTClear(); + for(i=0; i= MCU_FLASH_WATI_DELAY) + { + bMcuFlashWrWaitFlg = 0; + bMcuFlashWrWaitCnt = 0; + bMcuFlashWrFlg = 1; + } + } +} + + +/************************************************************************************************* +* : McuFlashCheckFlg +* : McuFlashAddrMCU Flashĵַ +* ֵ: 0ȷ1ݴ +* : жMCU FlashһֽǷΪ0x5AA5Ƿƻ +*************************************************************************************************/ +BOOL McuFlashCheckFlg(U16 McuFlashAddr) +{ + BOOL Result = 0; + + McuFlashEn(); + if(CWORD[McuFlashAddr/2] == 0x5AA5) + { + Result = 1; + } + McuFlashDis(); + + return Result; +} + diff --git a/code_drv/McuLib.c b/code_drv/McuLib.c new file mode 100644 index 0000000..159f2c2 --- /dev/null +++ b/code_drv/McuLib.c @@ -0,0 +1,343 @@ +/******************************************************************************** +Copyright (C), Sinowealth Electronic. Ltd. +Author: Sino +Version: V0.0 +Date: 2020/04/26 +History: + V2.0 2020/04/26 Preliminary +********************************************************************************/ +#include "Main.h" + + + +/************************************************************************************************* +* : McuTimer3Set +* : ClkSource: ʱĻ׼ԴֱΪ32KHz128KHz24MHzϵͳʱӣ + XmSʱڣС1000mSʱѡʱӣڴ1000mSʱֻѡ32KHz128KHz +* ֵ: +* : ʼTimer3ʱʱ +*************************************************************************************************/ +void McuTimer3Set(U8 ClkSource, U16 XmS) +{ + U16 TempVal; + + McuBank1Sel(); + +// if(ClkSource == TIM_CLK_32KHz) +// { +// if(XmS < 1000) +// { +// T3CON = 0x02; //ⲿ32.768kHzΪʱԴ1Ƶ2S +// TempVal = (U32)0x10000 - (U32)32.768*XmS; +// } +// else +// { +// T3CON = 0x22; //ⲿ32.768kHzΪʱԴ64Ƶ128s +// TempVal = 0x10000 - (U32)32.768*XmS/64; +// } +// } +// else if(ClkSource == TIM_CLK_128KHz) +// { +// if(XmS < 4000) +// { +// T3CON = 0x12; //ⲿ128kHzΪʱԴ8Ƶ4.096S +// TempVal = 0x10000 - (U32)128*XmS/8; +// } +// else +// { +// T3CON = 0x32; //ⲿ128kHzΪʱԴ256Ƶ131.072S +// TempVal = 0x10000 - (U32)128*XmS/256; +// } +// } +// else if(ClkSource == TIM_CLK_24MHz) +// { +// if(XmS < 500) +// { +// T3CON = 0x30; //ϵͳ24MHzΪʱԴ256Ƶ669.5ms +// TempVal = 0x10000 - (U32)24000*XmS/256; +// } +// else +// { +// T3CON = 0x32; //ⲿ128kHzΪʱԴ256Ƶ131.072S +// TempVal = 0x10000 - (U32)128*XmS/256; +// } +// } + + //8MHz + T3CON = 0x30; //ϵͳ8MHzΪʱԴ256Ƶ669.5ms + TempVal = 0x10000 - (U32)8000*XmS/256; + + TL3 = TempVal; + TH3 = TempVal>>8; + TR3 = 1; //ʱ3 + + McuBank0Sel(); +} + + +/************************************************************************************************* +* : McuClockSet +* : SysClockǰõϵͳʱ +* ֵ: +* : ʼAFE +*************************************************************************************************/ +void McuClockSet(U8 SysClock) +{ + U8 ea; + + ea = EA; + EA = 0; + + CLKCON |= 0x08; //SETB HFON + + _nop_(); + _nop_(); + _nop_(); + _nop_(); + _nop_(); + _nop_(); + _nop_(); + _nop_(); + + CLKCON &= 0x60; + + CLKCON |= 0x04; //SETB FS, SYSCLK=24M + + EA = ea; +} + + +/************************************************************************************************* +* : McuPWM0SetMcuPWM1SetMcuPWM2Set +* : PwmFreqPWMƵHzDutyRatioPWMĸߵƽռձ +* ֵ: +* : ʼAFE +*************************************************************************************************/ +void McuPWM0Set(U16 PwmFreq, U8 DutyRatio) +{ + PWM0CON = 0xb0; //ϵͳʱ/64 + PWM0PL = 375000/PwmFreq; //PWM2P=24000000/(64*E2uiDSG1PWMFreq); + PWM0PH = (375000/PwmFreq) >> 8; + PWM0DL = (U16)(PWM0PL+PWM0PH*256)*DutyRatio/100; + PWM0DH = ((U16)(PWM0PL+PWM0PH*256)*DutyRatio/100) >> 8; +} + +void McuPWM1Set(U16 PwmFreq, U8 DutyRatio) +{ + PWM1CON = 0xb0; //ϵͳʱ/64 + PWM1PL = 375000/PwmFreq; //PWM2P=24000000/(64*E2uiDSG1PWMFreq); + PWM1PH = (375000/PwmFreq) >> 8; + PWM1DL = (U16)(PWM1PL+(U16)PWM1PH*256)*DutyRatio/100; + PWM1DH = ((U16)(PWM1PL+(U16)PWM1PH*256)*DutyRatio/100) >> 8; +} + +void McuPWM2Set(U16 PwmFreq, U8 DutyRatio) +{ + PWM2CON = 0xb0; //ϵͳʱ/64 + PWM2PL = 375000/PwmFreq; //PWM2P=24000000/(64*E2uiDSG1PWMFreq); + PWM2PH = (375000/PwmFreq) >> 8; + PWM2DL = (U16)(PWM2PL+(U16)PWM2PH*256)*DutyRatio/100; + PWM2DH = ((U16)(PWM2PL+(U16)PWM2PH*256)*DutyRatio/100) >> 8; +} + + +/************************************************************************************************* +* : Delay1ms +* : XmsӳٶmS +* ֵ: +* : ʱλΪ1mS +رעúʱ׼ȷ⣬ڲͬŻȼʱ಻ͬʱһ£ʵ£ +1.ѡĴŻȼΪ3ʱj=1670ֹжϣʵʱΪ3.484msֹжжӰ죬ﵽ3.804ms +2.ѡĴŻȼΪ3ʱj=480ֹжϣʵʱΪ1.010msֹжжӰ죬ﵽ1.104ms +3.ѡĴŻȼΪ7ʱj=1670ֹжϣʵʱΪ1.002msֹжжӰ죬ﵽ1.090ms +*************************************************************************************************/ +void Delay1ms(U8 Xms) +{ + U8 i; + U16 j, Tcnt; + + if((CLKCON&0x70) == MCU_CLK_24MHz) + { + Tcnt = 1670; + } + else if((CLKCON&0x70) == MCU_CLK_12MHz) + { + Tcnt = 1670/2; + } + else if((CLKCON&0x70) == MCU_CLK_6MHz) + { + Tcnt = 1670/4; + } + else //2MHz + { + Tcnt = 1670/12; + } + + + for(i=0; i E2uiOVvol) + { + if(++uiOVDelayCnt >= TIME_50mS_50mS) + { + bOV = 1; + uiOVDelayCnt = 0; + } + } + else if(uiCellVmax < E2uiOVRvol) + { + uiOVDelayCnt = 0; + } + } +} + + +/************************************************************************************************* +* : PorProtectUV +* : +* ֵ: +* : ڵоǷѹ⣬λbUVΪ1 +*************************************************************************************************/ +void PorProtectUV(void) +{ + if(!bUV) + { + if(uiCellVmin < E2uiUVvol) + { + if(++uiUVDelayCnt >= TIME_50mS_50mS) + { + bUV = 1; + uiUVDelayCnt = 0; + } + } + else if(uiCellVmin > E2uiUVRvol) + { + uiUVDelayCnt = 0; + } + } +} + + +/************************************************************************************************* +* : PorProtectOTC +* : +* ֵ: +* : ±⣬λbOTCΪ1 +*************************************************************************************************/ +void PorProtectOTC(void) +{ + if(!bOTC) + { + if(uiTempeMax > E2uiTempOTC) + { + if(++uiOTCDelayCnt >= TIME_50mS_50mS) + { + bOTC = 1; + uiOTCDelayCnt = 0; + } + } + else if(uiTempeMax < E2uiTempOTCR) + { + uiOTCDelayCnt = 0; + } + } +} + + +/************************************************************************************************* +* : PorProtectUTC +* : +* ֵ: +* : ±⣬λbUTCΪ1 +*************************************************************************************************/ +void PorProtectUTC(void) +{ + if(!bUTC) + { + if(uiTempeMin < E2uiTempUTC) + { + if(++uiUTCDelayCnt >= TIME_50mS_50mS) + { + bUTC = 1; + uiUTCDelayCnt = 0; + } + } + else if(uiTempeMin > E2uiTempUTCR) + { + uiUTCDelayCnt = 0; + } + } +} + + +/************************************************************************************************* +* : PorProtectOTD +* : +* ֵ: +* : ŵ±⣬λbOTDΪ1 +*************************************************************************************************/ +void PorProtectOTD(void) +{ + if(!bOTD) + { + if(uiTempeMax > E2uiTempOTD) + { + if(++uiOTDDelayCnt >= TIME_50mS_50mS) + { + bOTD = 1; + uiOTDDelayCnt = 0; + } + } + else if(uiTempeMax < E2uiTempOTDR) + { + uiOTDDelayCnt = 0; + } + } +} + + +/************************************************************************************************* +* : PorProtectUTD +* : +* ֵ: +* : ŵ±⣬λbUTDΪ1 +*************************************************************************************************/ +void PorProtectUTD(void) +{ + if(!bUTD) + { + if(uiTempeMin < E2uiTempUTD) + { + if(++uiUTDDelayCnt >= TIME_50mS_50mS) + { + bUTD = 1; + uiUTDDelayCnt = 0; + } + } + else if(uiTempeMin > E2uiTempUTDR) + { + uiUTDDelayCnt = 0; + } + } +} + + +/************************************************************************************************* +* : ProtectProcess +* : +* ֵ: +* : һϵʱԼ죬100mSϵԼʱΪ50mS +*************************************************************************************************/ +void PorSelfTest(void) +{ + if(bPorSelfTestFlg) + { + AfeCalcuVol(); //һϵ50mSԶȡѹݺ¶ + AfeCalcuTempe(); + PorProtectOV(); //ѹͷ + PorProtectUV(); //Ƿѹͷ + + PorProtectOTC(); //±ͷ + PorProtectUTC(); //±ͷ + PorProtectOTD(); //ŵ±ͷ + PorProtectUTD(); //ŵ±ͷ + + if(++ucPorSelfTestDelayCnt >= TIME_50mS_100mS) //ҪԼɣTIME_50mS_100mS޸ΪTIME_50mS_50mS + { + bPorSelfTestFlg = 0; //1SԼݵǰ״̬ȷǷPDǷ񿪹MOS + if(bAfeErr || bE2PRErr || bRTCErr || bMcuFlashErr) + { + bPDFlg = 1; + } + else + { + GasGaugeInit(); //ֵ + } + } + } +} + diff --git a/code_drv/Protect.c b/code_drv/Protect.c new file mode 100644 index 0000000..28b47a4 --- /dev/null +++ b/code_drv/Protect.c @@ -0,0 +1,465 @@ +/******************************************************************************** +Copyright (C), Sinowealth Electronic. Ltd. +Author: Sino +Version: V0.0 +Date: 2020/04/26 +History: + V2.0 2020/04/26 Preliminary +********************************************************************************/ +#include "Main.h" + + +//صIJ +BOOL bUVLock; //Ƿѹָλñ־ֱbUVͷźbUV +BOOL bOVLock; //ѹָλñ־ֱbOVͷźbOV +U16 xdata uiOVDelayCnt; +U16 xdata uiOVRDelayCnt; +U16 xdata uiUVDelayCnt; +U16 xdata uiUVRDelayCnt; +U16 xdata uiOTCDelayCnt; +U16 xdata uiOTCRDelayCnt; +U16 xdata uiUTCDelayCnt; +U16 xdata uiUTCRDelayCnt; +U16 xdata uiOTDDelayCnt; +U16 xdata uiOTDRDelayCnt; +U16 xdata uiUTDDelayCnt; +U16 xdata uiUTDRDelayCnt; +U16 xdata uiOCCDelayCnt; +U16 xdata uiOCD1DelayCnt; +U16 xdata uiOCD2DelayCnt; +U16 xdata uiOCCRcnt; +U16 xdata uiOCDRcnt; + +/************************************************************************************************* +* : ProtectOV +* : +* ֵ: +* : ڵعѹ⣬ѹλbOVΪ1 +*************************************************************************************************/ +void ProtectOV(void) +{ + if(!(bOV||bAFE_OV)) + { + if(uiCellVmax > E2uiOVvol) + { + if(++uiOVDelayCnt >= OV_DELAY_CNT) + { + bOV = 1; + bOVLock = 0; + uiOVDelayCnt = 0; + uiOVRDelayCnt = 0; + } + } + else if(uiCellVmax < E2uiOVRvol) + { + uiOVDelayCnt = 0; + } + } + else if(!bOVLock) + { + if(uiCellVmax < E2uiOVRvol) + { + if(++uiOVRDelayCnt >= OVR_DELAY_CNT) + { + if(bChgerLock) + { + bOVLock = 1; //ѹֵָǻ⸺ͷͷ + bChgerStartCheckFlg = 1; // + } + else + { + bOV = 0; + bAFE_OV = 0; + AFEClrFlg(); + } + uiOVDelayCnt = 0; + uiOVRDelayCnt = 0; + } + } + else if(uiCellVmax > E2uiOVvol) + { + uiOVRDelayCnt = 0; + } + } +} + +/************************************************************************************************* +* : ProtectUV +* : +* ֵ: +* : ڵоǷѹ⣬λbUVΪ1 +*************************************************************************************************/ +void ProtectUV(void) +{ + if(!bUV) + { + if(uiCellVmin < E2uiUVvol) + { + if(++uiUVDelayCnt >= UV_DELAY_CNT) + { + bUV = 1; + bUVLock = 0; + uiUVDelayCnt = 0; + uiUVRDelayCnt = 0; + } + } + else if(uiCellVmin > E2uiUVRvol) + { + uiUVDelayCnt = 0; + } + } + else if(!bUVLock) + { + if(uiCellVmin > E2uiUVRvol) + { + if(++uiUVRDelayCnt >= UVR_DELAY_CNT) + { + if(bLoadLock) //ָ֧UV־Ҫͷź + { + bUVLock = 1; //Ƿѹֵָǻ⸺ͷͷ + bLoadStartCheckFlg = 1; //ؼ + } + else + { + bUV = 0; + } + uiUVDelayCnt = 0; + uiUVRDelayCnt = 0; + } + } + else if(uiCellVmin < E2uiUVvol) + { + uiUVRDelayCnt = 0; + } + } +} + +/************************************************************************************************* +* : ProtectOTC +* : +* ֵ: +* : ±⣬λbOTCΪ1 +*************************************************************************************************/ +void ProtectOTC(void) +{ + if(!bOTC) + { + if(uiTempeMax > E2uiTempOTC) + { + if(++uiOTCDelayCnt >= TEMPE_DELAY_CNT) + { + bOTC = 1; + uiOTCDelayCnt = 0; + uiOTCRDelayCnt = 0; + } + } + else if(uiTempeMax < E2uiTempOTCR) + { + uiOTCDelayCnt = 0; + } + } + else + { + if(uiTempeMax < E2uiTempOTCR) + { + if(++uiOTCRDelayCnt >= TEMPER_DELAY_CNT) + { + bOTC = 0; + uiOTCDelayCnt = 0; + uiOTCRDelayCnt = 0; + } + } + else if(uiTempeMax > E2uiTempOTC) + { + uiOTCRDelayCnt = 0; + } + } +} + + +/************************************************************************************************* +* : ProtectUTC +* : +* ֵ: +* : ±⣬λbUTCΪ1 +*************************************************************************************************/ +void ProtectUTC(void) +{ + if(!bUTC) + { + if(uiTempeMin < E2uiTempUTC) + { + if(++uiUTCDelayCnt >= TEMPE_DELAY_CNT) + { + bUTC = 1; + uiUTCDelayCnt = 0; + uiUTCRDelayCnt = 0; + } + } + else if(uiTempeMin > E2uiTempUTCR) + { + uiUTCDelayCnt = 0; + } + } + else + { + if(uiTempeMin > E2uiTempUTCR) + { + if(++uiUTCRDelayCnt >= TEMPER_DELAY_CNT) + { + bUTC = 0; + uiUTCDelayCnt = 0; + uiUTCRDelayCnt = 0; + } + } + else if(uiTempeMin < E2uiTempUTC) + { + uiUTCRDelayCnt = 0; + } + } +} + + +/************************************************************************************************* +* : ProtectOTD +* : +* ֵ: +* : ŵ±⣬λbOTDΪ1 +*************************************************************************************************/ +void ProtectOTD(void) +{ + if(!bOTD) + { + if(uiTempeMax > E2uiTempOTD) + { + if(++uiOTDDelayCnt >= TEMPE_DELAY_CNT) + { + bOTD = 1; + uiOTDDelayCnt = 0; + uiOTDRDelayCnt = 0; + } + } + else if(uiTempeMax < E2uiTempOTDR) + { + uiOTDDelayCnt = 0; + } + } + else + { + if(uiTempeMax < E2uiTempOTDR) + { + if(++uiOTDRDelayCnt >= TEMPER_DELAY_CNT) + { + bOTD = 0; + uiOTDDelayCnt = 0; + uiOTDRDelayCnt = 0; + } + } + else if(uiTempeMax > E2uiTempOTD) + { + uiOTDRDelayCnt = 0; + } + } +} + + +/************************************************************************************************* +* : ProtectUTD +* : +* ֵ: +* : ŵ±⣬λbUTDΪ1 +*************************************************************************************************/ +void ProtectUTD(void) +{ + if(!bUTD) + { + if(uiTempeMin < E2uiTempUTD) + { + if(++uiUTDDelayCnt >= TEMPE_DELAY_CNT) + { + bUTD = 1; + uiUTDDelayCnt = 0; + uiUTDRDelayCnt = 0; + } + } + else if(uiTempeMin > E2uiTempUTDR) + { + uiUTDDelayCnt = 0; + } + } + else + { + if(uiTempeMin > E2uiTempUTDR) + { + if(++uiUTDRDelayCnt >= TEMPER_DELAY_CNT) + { + bUTD = 0; + uiUTDDelayCnt = 0; + uiUTDRDelayCnt = 0; + } + } + else if(uiTempeMin < E2uiTempUTD) + { + uiUTDRDelayCnt = 0; + } + } +} + + + +/************************************************************************************************* +* : ProtectOCC +* : +* ֵ: +* : ⣬λbOCCΪ1 +*************************************************************************************************/ +void ProtectOCC(void) +{ + if(!bOCC) + { + if(slCadcCurrent > E2slOCCCurrent) + { + if(++uiOCCDelayCnt >= OCC_DELAY_CNT) + { + bOCC = 1; + bChgerStartCheckFlg = 1; //óʼ־ + uiOCCDelayCnt = 0; + } + } + else if(!bChgerChkingFlg) + { + if(uiOCCDelayCnt > 0) + { + uiOCCDelayCnt--; + } + } + } +} + + +/************************************************************************************************* +* : ProtectOCD1 +* : +* ֵ: +* : ŵ1⣬λbOCD1Ϊ1 +*************************************************************************************************/ +void ProtectOCD1(void) +{ + if(!bOCD1) + { + if(slCadcCurrent < E2slOCD1Current) + { + if(++uiOCD1DelayCnt >= OCD1_DELAY_CNT) + { + uiOCD1DelayCnt = 0; + bOCD1 = 1; + bLoadStartCheckFlg = 1; //ؼ + } + } + else if(!bLoadChkingFlg) + { + if(uiOCD1DelayCnt > 0) + { + uiOCD1DelayCnt--; + } + } + } +} + + +/************************************************************************************************* +* : ProtectOCD2 +* : +* ֵ: +* : ŵ2⣬λbOCD2Ϊ1 +*************************************************************************************************/ +void ProtectOCD2(void) +{ + if(!bOCD2) + { + if(slCadcCurrent < E2slOCD2Current) + { + if(++uiOCD2DelayCnt > OCD2_DELAY_CNT) + { + uiOCD2DelayCnt = 0; + bOCD2 = 1; + bLoadStartCheckFlg = 1; //ؼ + } + } + else if(!bLoadChkingFlg) + { + if(uiOCD2DelayCnt > 0) + { + uiOCD2DelayCnt--; + } + } + } +} + + +/************************************************************************************************* +* : ProtectProcess +* : +* ֵ: +* : ֱ +*************************************************************************************************/ +void ProtectProcess(void) +{ + if(!bPorSelfTestFlg) //ϵ1sԼУ򲻼 + { + ProtectOV(); //ѹͷ + ProtectUV(); //Ƿѹͷ + + ProtectOTC(); //±ͷ + ProtectUTC(); //±ͷ + ProtectOTD(); //ŵ±ͷ + ProtectUTD(); //ŵ±ͷ + + ProtectOCC(); // + ProtectOCD1(); //ŵ1 + ProtectOCD2(); //ŵ2 + } +} + + +/************************************************************************************************* +* : ProtectOCRecover +* : +* ֵ: +* : Իָ +*************************************************************************************************/ +void ProtectOCRecover(void) +{ + if(bOCRC_EN) + { + if(bOCD1 || bOCD2 || bAFE_SC) + { + if(++uiOCDRcnt >= OCDR_DELAY_CNT) + { + ucLoadRCnt = 0; + uiOCDRcnt = 0; + bOCD1 = 0; + bOCD2 = 0; + bLoadStartCheckFlg = 0; + bLoadChkingFlg = 0; + if(bAFE_SC) + { + bAFE_SC = 0; + AFEClrFlg(); + } + } + } + + if(bOCC) + { + if(++uiOCCRcnt > OCCR_DELAY_CNT) + { + uiOCCRcnt = 0; + bOCC = 0; + ucChgerRCnt = 0; + bChgerChkingFlg = 0; + } + } + } +} + diff --git a/code_drv/RTC.c b/code_drv/RTC.c new file mode 100644 index 0000000..550f7e5 --- /dev/null +++ b/code_drv/RTC.c @@ -0,0 +1,244 @@ +/******************************************************************************** +Copyright (C), Sinowealth Electronic. Ltd. +Author: Sino +Version: V0.0 +Date: 2020/04/26 +History: + V2.0 2020/04/26 Preliminary +********************************************************************************/ +#include "Main.h" + + +BOOL bRTCErr; +BOOL bRTCTwiRWErr; +U8 xdata ucRTCTwiRWErrDelayCnt; +RTC_VAR xdata RTC; //For External RTC + +/************************************************************************************************* +* : RTCTwiCheck +* : +* ֵ: +* : 5S⵽RTCI2CͨѶλbRTCErr=1 +*************************************************************************************************/ +void RTCTwiCheck(void) +{ + if(bEnEEPRomBK) + { + if(bRTCTwiRWErr) + { + if(++ucRTCTwiRWErrDelayCnt >= TIME_1S_5S) + { + bRTCErr = 1; + ucRTCTwiRWErrDelayCnt = TIME_1S_5S; + } + } + else + { + ucRTCTwiRWErrDelayCnt = 0; + } + } +} + + +/************************************************************************************************* +* : RTCWrite +* : WrAddr: ĴַLengthݳȣWrBufݻBuf +* ֵ: +* : RTCдĴд +*************************************************************************************************/ +BOOL RTCWrite(U8 WrAddr, U8 Length, U8 xdata *WrBuf) +{ + BOOL Result = 0; + U8 i; + + if(!bRTCErr) + { + for(i=0; i<5; i++) + { + #ifdef TWI_Hardware_Module + if(TwiWrite(RTC_ID, WrAddr, TWI_ADDR_1B, Length, TWI_CRC_NO, WrBuf)) + { + Result = 1; + break; + } + #else + if(Result = TwiWrite(RTC_ID, WrAddr, Length, WrBuf)) + { + Result = 1; + break; + } + #endif + Delay1ms(1); + } + } + bRTCTwiRWErr = !Result; + + return Result; +} + + +/************************************************************************************************* +* : RTCRead +* : RdAddr: ĴַLengthݳȣWrBufݻBuf +* ֵ: +* : RTCĴ +*************************************************************************************************/ +BOOL RTCRead(U8 RdAddr, U8 Length, U8 xdata *RdBuf) +{ + BOOL Result = 0; + U8 i; + + if(!bRTCErr) + { + for(i=0; i<5; i++) + { + #ifdef TWI_Hardware_Module + if(TwiRead(RTC_ID, RdAddr, TWI_ADDR_1B, Length, TWI_CRC_NO, RdBuf)) + { + Result = 1; + break; + } + #else + if(TwiRead(RTC_ID, RdAddr, Length, RdBuf)) + { + Result = 1; + break; + } + #endif + Delay1ms(1); + } + } + bRTCTwiRWErr = !Result; + + return Result; +} + +/************************************************************************************************* +* : RTCReadTime +* : RdAddr: ĴַLengthݳȣWrBufݻBuf +* ֵ: +* : RTCĴ +*************************************************************************************************/ +BOOL RTCReadTime(RTC_VAR xdata *RtcRdVal) +{ + U8 xdata rtcbuf[9]; + BOOL Result = 0; + + if(RTCRead(0x00, 9, &rtcbuf)) //RTCȡʱ + { + if((rtcbuf[7]&0x01) == 0x00) //judge RTCF bitǷ + { + if( ((rtcbuf[2]&0x80) == 0) //24Сʱ + || ((rtcbuf[0]&0x70) > 0x50) || ((rtcbuf[0]&0x0F) > 0x09) || ((rtcbuf[0]&0x7F) > 0x59) + || ((rtcbuf[1]&0x70) > 0x50) || ((rtcbuf[1]&0x0F) > 0x09) || ((rtcbuf[1]&0x7F) > 0x59) + || ((rtcbuf[2]&0x30) > 0x20) || ((rtcbuf[2]&0x0F) > 0x09) || ((rtcbuf[2]&0x2F) > 0x24) + || ((rtcbuf[3]&0x30) > 0x30) || ((rtcbuf[3]&0x0F) > 0x09) || ((rtcbuf[3]&0x3F) > 0x31) || (!(rtcbuf[3]&0x3F)) + || ((rtcbuf[4]&0x10) > 0x10) || ((rtcbuf[4]&0x0F) > 0x09) || ((rtcbuf[4]&0x1F) > 0x12) || (!(rtcbuf[4]&0x1F)) + || ((rtcbuf[5]&0xF0) > 0x90) || ((rtcbuf[5]&0x0F) > 0x09) || ((rtcbuf[5]&0xFF) > 0x99) + || ((rtcbuf[6]&0x07) > 0x06) ) //СʱƼݺϷԽм + { + rtcbuf[0] = RtcRdVal->Second; //ݲϷΪRTCδʼ + rtcbuf[1] = RtcRdVal->Minute; + rtcbuf[2] = RtcRdVal->Hour; + rtcbuf[3] = RtcRdVal->Date; + rtcbuf[4] = RtcRdVal->Month; + rtcbuf[5] = RtcRdVal->Year; + rtcbuf[6] = RtcRdVal->Week; + + Result = RTCModifyTime((RTC_VAR xdata *)(&rtcbuf)); + } + else + { + RtcRdVal->Second = rtcbuf[0]; //ݺϷ򱣴RTCصʱ + RtcRdVal->Minute = rtcbuf[1]; + RtcRdVal->Hour = rtcbuf[2]&0x1F; + RtcRdVal->Date = rtcbuf[3]; + RtcRdVal->Month = rtcbuf[4]; + RtcRdVal->Year = rtcbuf[5]; + RtcRdVal->Week = rtcbuf[6]; + + Result = 1; + } + } + else //ΪRTC׼ + { + Result = RTCModifyTime((RTC_VAR xdata *)RtcRdVal); //ǰʱ䣬E2жȡʱ䣬̶ʱдRTC + } + } + + return Result; +} + + +/************************************************************************************************* +* : RTCModifyTime +* : RTCRTCݽRTC +* ֵ: +* : RTCĴ +*************************************************************************************************/ +BOOL RTCModifyTime(RTC_VAR xdata *RtcMdyVal) +{ + BOOL Result = 0; + U8 xdata rtcdata; + U8 xdata rtctemp[7]; + + rtcdata = 0x90; + Result = RTCWrite(RTC_REG_STATUS, 1, &rtcdata); + + rtctemp[0] = RtcMdyVal->Second; + rtctemp[1] = RtcMdyVal->Minute; + rtctemp[2] = RtcMdyVal->Hour|0x80; //Ϊ24Сʱ + rtctemp[3] = RtcMdyVal->Date; + rtctemp[4] = RtcMdyVal->Month; + rtctemp[5] = RtcMdyVal->Year; + rtctemp[6] = RtcMdyVal->Week; + + Result = RTCWrite(RTC_REG_SECOND, 7, (U8 xdata *)&rtctemp); + + return Result; +} + + +/************************************************************************************************* +* : RTCInitTime +* : RTCRTCݽRTCʼ +* ֵ: +* : ʼEEPȡRTCʱеһγʼEEPûб棬Ĭϳʼʱ䣺205112 +*************************************************************************************************/ +BOOL RTCInitTime(RTC_VAR xdata *RtcInitVal) +{ + BOOL Result = 0; + U8 xdata rtcbuf[9]; + U8 xdata i; + U8 xdata checksum = 0; + + MemorySet(rtcbuf, 0, sizeof(rtcbuf)); + + E2PRomRead(E2PROM_RTC_ADDR, 9, rtcbuf); //E2RTC + for(i=0; i<7; i++) + { + checksum += rtcbuf[i]; + } + + if((rtcbuf[7]!=checksum) || (rtcbuf[8]!=0x5a)) //Уʧܣ˵E2ʱ䲻ɿֱӰѳʱ + { + rtcbuf[0] = 0x00; //second + rtcbuf[1] = 0x00; //minute + rtcbuf[2] = 0x12; //hour + rtcbuf[3] = 0x01; //date + rtcbuf[4] = 0x05; //month + rtcbuf[5] = 0x20; //year + rtcbuf[6] = 0x05; //week + } + + MemoryCopy(rtcbuf, (U8 xdata *)RtcInitVal, 7); //E2ʱʱȷŵRTCʱĴд + Result = RTCReadTime((RTC_VAR xdata *)RtcInitVal); + + return Result; +} + + + + + + diff --git a/code_drv/STARTUP.A51 b/code_drv/STARTUP.A51 new file mode 100644 index 0000000..3f0e178 --- /dev/null +++ b/code_drv/STARTUP.A51 @@ -0,0 +1,39 @@ +$NOMOD51 +NAME ?C_STARTUP + +EXTRN CODE (?C_START) +PUBLIC ?C_STARTUP + +CLKCON EQU 0B2H + +EXTRN IDATA (STACK) + + CSEG AT 1000H +?C_STARTUP: LJMP STARTUP1 + + +?C_C51STARTUP SEGMENT CODE + RSEG ?C_C51STARTUP +STARTUP1: + MOV SP, #STACK-1 + NOP + ;˴ȫֱʼ֮ǰram + ;idata + MOV R0,#0x08 +FOR_EACH_IDATA: + MOV @R0,#0x00 + INC R0 + CJNE R0,#STACK,FOR_EACH_IDATA + ;xdata + CLR A + MOV DPTR,#0x0000 +FOR_EACH_XDATA: + MOVX @DPTR,A + INC DPTR + MOV R0,DPL + MOV R1,DPH + CJNE R0,#0xDC,FOR_EACH_XDATA + CJNE R1,#0x07,FOR_EACH_XDATA + NOP + LJMP ?C_START + END \ No newline at end of file diff --git a/code_drv/TWI.c b/code_drv/TWI.c new file mode 100644 index 0000000..a5d008d --- /dev/null +++ b/code_drv/TWI.c @@ -0,0 +1,444 @@ +/******************************************************************************** +Copyright (C), Sinowealth Electronic. Ltd. +Author: Sino +Version: V0.0 +Date: 2020/04/26 +History: + V2.0 2020/04/26 Preliminary +********************************************************************************/ +#include "Main.h" + +#ifdef TWI_Hardware_Module + +U8 code CRC8Table[256]= +{ //120424-1 CRC Table + 0x00,0x07,0x0E,0x09,0x1C,0x1B,0x12,0x15,0x38,0x3F,0x36,0x31,0x24,0x23,0x2A,0x2D, + 0x70,0x77,0x7E,0x79,0x6C,0x6B,0x62,0x65,0x48,0x4F,0x46,0x41,0x54,0x53,0x5A,0x5D, + 0xE0,0xE7,0xEE,0xE9,0xFC,0xFB,0xF2,0xF5,0xD8,0xDF,0xD6,0xD1,0xC4,0xC3,0xCA,0xCD, + 0x90,0x97,0x9E,0x99,0x8C,0x8B,0x82,0x85,0xA8,0xAF,0xA6,0xA1,0xB4,0xB3,0xBA,0xBD, + 0xC7,0xC0,0xC9,0xCE,0xDB,0xDC,0xD5,0xD2,0xFF,0xF8,0xF1,0xF6,0xE3,0xE4,0xED,0xEA, + 0xB7,0xB0,0xB9,0xBE,0xAB,0xAC,0xA5,0xA2,0x8F,0x88,0x81,0x86,0x93,0x94,0x9D,0x9A, + 0x27,0x20,0x29,0x2E,0x3B,0x3C,0x35,0x32,0x1F,0x18,0x11,0x16,0x03,0x04,0x0D,0x0A, + 0x57,0x50,0x59,0x5E,0x4B,0x4C,0x45,0x42,0x6F,0x68,0x61,0x66,0x73,0x74,0x7D,0x7A, + 0x89,0x8E,0x87,0x80,0x95,0x92,0x9B,0x9C,0xB1,0xB6,0xBF,0xB8,0xAD,0xAA,0xA3,0xA4, + 0xF9,0xFE,0xF7,0xF0,0xE5,0xE2,0xEB,0xEC,0xC1,0xC6,0xCF,0xC8,0xDD,0xDA,0xD3,0xD4, + 0x69,0x6E,0x67,0x60,0x75,0x72,0x7B,0x7C,0x51,0x56,0x5F,0x58,0x4D,0x4A,0x43,0x44, + 0x19,0x1E,0x17,0x10,0x05,0x02,0x0B,0x0C,0x21,0x26,0x2F,0x28,0x3D,0x3A,0x33,0x34, + 0x4E,0x49,0x40,0x47,0x52,0x55,0x5C,0x5B,0x76,0x71,0x78,0x7F,0x6A,0x6D,0x64,0x63, + 0x3E,0x39,0x30,0x37,0x22,0x25,0x2C,0x2B,0x06,0x01,0x08,0x0F,0x1A,0x1D,0x14,0x13, + 0xAE,0xA9,0xA0,0xA7,0xB2,0xB5,0xBC,0xBB,0x96,0x91,0x98,0x9F,0x8A,0x8D,0x84,0x83, + 0xDE,0xD9,0xD0,0xD7,0xC2,0xC5,0xCC,0xCB,0xE6,0xE1,0xE8,0xEF,0xFA,0xFD,0xF4,0xF3 +}; +/************************************************************************************************* +* : CRC8cal +* : *pָ룻counterij +* ֵ: +* : CRC8ɢ +*************************************************************************************************/ +U8 CRC8cal(U8 *p, U8 counter) //look-up table calculte CRC +{ + U8 crc8 = 0; + + for( ; counter > 0; counter--) + { + crc8 = CRC8Table[crc8^*p]; + p++; + } + return(crc8); +} + + + + +/************************************************************************************************* +* : TWICheckStatus +* : StatusǰTWI״̬ +* ֵ: +* : TWIĸ״̬Ƿ +*************************************************************************************************/ +BOOL TWICheckStatus(U8 Status) +{ + BOOL Result = 1; + U16 timeoutcount = 48000; //ӲIICʱtimeoutcount100ͨѶIIC鱣ԭֵ ׼DEMO壩 + + while((TWICON&0x08)==0) //ȴTWIͨѶ + { + McuWDTClear(); //Ź + if(timeoutcount) + { + timeoutcount--; + } + else + { + break; + } + } + if((TWISTA&0xf8) != Status) + { + Result = 0; //Error + } + + return Result; +} + + + + +/************************************************************************************************* +* : TwiWrite +* : SlaveID: Slave ID + WrAddr: дַ + AddrTypeַȣ0Ϊ1Byte1Ϊ2Bytes + Length ݳȣCRCֽڣ + CrcFlg TwiͨѶǷ֧CRCУ飬0֧CRC1֧CRC + *WrBuf дݴŵַ +* ֵ: +* : TwiддAFE֧CRCRTCEEPROMַΪ2Bytes +*************************************************************************************************/ +BOOL TwiWrite(U8 SlaveID, U16 WrAddr, U8 AddrType, U8 Length, U8 CrcFlg, U8 xdata *WrBuf) +{ + U8 i; + U8 TempBuf[4]; + BOOL Result = 1; + U16 timeoutcount = 48000; + + TempBuf[0] = SlaveID; + TempBuf[1] = (U8)WrAddr; + TempBuf[2] = *WrBuf; + TempBuf[3] = CRC8cal(TempBuf, 3); + + if(Length > 0) + { + HTimeoutChk(); + TWICON = 0x60; //Start + if((!TWICheckStatus(0x08))&&(!TWICheckStatus(0x10))) + { + Result = 0; + goto WrErr; + } + + TWIDAT = SlaveID; //Slaveַ + TWICON = 0x40; + if(!TWICheckStatus(0x18)) + { + Result = 0; + goto WrErr; + } + + if(AddrType == TWI_ADDR_2B) + { + TWIDAT = (U8)(WrAddr>>8); //дĴֽڵַ-EEPROM + TWICON = 0x40; + if(!TWICheckStatus(0x28)) + { + Result = 0; + goto WrErr; + } + } + + TWIDAT = (U8)WrAddr; //дĴַ + TWICON = 0x40; + if(!TWICheckStatus(0x28)) + { + Result = 0; + goto WrErr; + } + + if(CrcFlg == TWI_CRC_YES) //дAFEĴ̶дһֽ+CRC + { + TWIDAT = *WrBuf; //Write Data + TWICON = 0x40; + if(!TWICheckStatus(0x28)) + { + Result = 0; + goto WrErr; + } + + TWIDAT = TempBuf[3]; //Write CRC + TWICON = 0x40; + if(!TWICheckStatus(0x28)) + { + Result = 0; + goto WrErr; + } + } + else //дEEPROMRTC + { + for(i=0; i 0) + { + HTimeoutChk(); + TWICON = 0x60; //Start + if((!TWICheckStatus(0x08))&&(!TWICheckStatus(0x10))) + { + Result = 0; + goto RdErr; + } + + TWIDAT = SlaveID; //Slaveдַ + TWICON = 0x40; + if(!TWICheckStatus(0x18)) + { + Result = 0; + goto RdErr; + } + + if(AddrType == TWI_ADDR_2B) //ַΪ2Bytes + { + TWIDAT = (U8)(RdAddr>>8); //Ĵֽڵַ-EEPROM + TWICON = 0x40; + if(!TWICheckStatus(0x28)) + { + Result = 0; + goto RdErr; + } + } + + TWIDAT = (U8)RdAddr; //ͼĴֽڵַ + TWICON = 0x40; + if(!TWICheckStatus(0x28)) + { + Result = 0; + goto RdErr; + } + +// if(SlaveID != AFE_ID) +// { +// TWIDAT = Length; //Ͷȡݳ +// TWICON = 0x40; +// if(!TWICheckStatus(0x28)) +// { +// Result = 0; +// goto RdErr; +// } +// } + + TWICON = 0x60; //RStart + if((!TWICheckStatus(0x08))&&(!TWICheckStatus(0x10))) + { + Result = 0; + goto RdErr; + } + + TWIDAT = SlaveID|0x01; //Slaveַ + TWICON = 0x40; + if(!TWICheckStatus(0x40)) + { + Result = 0; + goto RdErr; + } + + for(i=0; i= 10)&&(TWI_FREQ_KHz <= 400)) +// { +// #if TWIBR1 < 256 +// TWIBR = TWIBR1; +// TWISTA |= 0x06; +// #elif TWIBR2 < 256 +// TWIBR = TWIBR2; +// TWISTA |= 0x04; +// #elif TWIBR3 < 256 +// TWIBR = TWIBR3; +// TWISTA |= 0x02; +// #elif TWIBR4 < 256 +// TWIBR = TWIBR4; +// TWISTA |= 0x00; +// #endif +// } +// #else +// { +// #error: "Please enter a number(TWI_FREQ_KHz) from 10 to 400!"; +// } +// +// #endif + + TWICON = 0x40; //ENTWI ֹߵƽʱ + TWTFREE = 0xff; //ʱ + TWIDAT = 0x00; +} + + +//void TwiInit(void) +//{ +// U16 i,k; +// U8 j; +// TWICR = 0x32; //ĬãSCL--P0.5SDA--P0.4 +// TWITOUT = 0x00; //ⲿ裬оƬڲʹ +// i = (24000/TWI_FREQ_KHz-16)/2; //÷Ͳʣֹ߳ʱжϣf=fsys/(16+2*CR*TWIBR)=24MHz/(16+2*16*TWIBR)=**KHz +// for(j=1;j<4;j++) +// { +// k =1<<(2*j-2); +// if(i / k <= 255) +// { +// TWIBR = i / k; +// switch (j) +// { +// case 1: +// TWISTA = 0x00; +// break; +// +// case 2: +// TWISTA = 0x02; +// break; +// +// case 3: +// TWISTA = 0x04; +// break; +// +// case 4: +// TWISTA = 0x06; +// break; +// } +// goto loop; +// } +// } +//loop: +//// TWISTA = 0x06; //16Ƶ +// TWICON = 0x40; //ENTWI ֹߵƽʱ +// TWTFREE = 0xff; //ʱ +// TWIDAT = 0x00; +//} + +#endif \ No newline at end of file diff --git a/code_drv/Thermistor.c b/code_drv/Thermistor.c new file mode 100644 index 0000000..7809dbb --- /dev/null +++ b/code_drv/Thermistor.c @@ -0,0 +1,359 @@ +/******************************************************************************** +Copyright (C), Sinowealth Electronic. Ltd. +Author: Sino +Version: V1.0 +Date: 2020/12/29 +History: + V0.0 2014/08/28 Preliminary +********************************************************************************/ +#include "Main.h" + +/************************************************************************************************* +* : NTC103AT +* : +* ֵ: +* : bֵΪ3435NTCֵλΪ10 ohms +*************************************************************************************************/ +#if RT_TABLE == NTC_103AT_3435 +U16 code NTC103AT[NTC103AT_ARRAY_LEN]= //103ATbֵΪ3435 +{ + 32950, //-50 + 30970, //-49 + 29124, //-48 + 27404, //-47 + 25799, //-46 + 24770, //-45 + 23335, //-44 + 21995, //-43 + 20743, //-42 + 19572, //-41 + 18850, //-40 + 17796, //-39 + 16810, //-38 + 15885, //-37 + 15019, //-36 + 14410, //-35 + 13633, //-34 + 12904, //-33 + 12219, //-32 + 11576, //-31 + 11130, //-30 + 10550, //-29 + 10005, //-28 + 9492, //-27 + 9009, //-26 + 8643, //-25 + 8208, //-24 + 7798, //-23 + 7412, //-22 + 7048, //-21 + 6777, //-20 + 6447, //-19 + 6136, //-18 + 5842, //-17 + 5564, //-16 + 5341, //-15 + 5090, //-14 + 4852, //-13 + 4627, //-12 + 4414, //-11 + 4247, //-10 + 4053, //-09 + 3870, //-08 + 3696, //-07 + 3532, //-06 + 3390, //-05 + 3241, //-04 + 3099, //-03 + 2964, //-02 + 2836, //-01 + 2728, //00 + 2611, //01 + 2501, //02 + 2395, //03 + 2295, //04 + 2205, //05 + 2114, //06 + 2027, //07 + 1944, //08 + 1866, //09 + 1796, //10 + 1724, //11 + 1655, //12 + 1590, //13 + 1527, //14 + 1469, //15 + 1412, //16 + 1357, //17 + 1305, //18 + 1256, //19 + 1209, //20 + 1163, //21 + 1120, //22 + 1078, //23 + 1038, //24 + 1000, //25 + 963, //26 + 928, //27 + 894, //28 + 862, //29 + 831, //30 + 801, //31 + 772, //32 + 745, //33 + 719, //34 + 694, //35 + 670, //36 + 646, //37 + 624, //38 + 603, //39 + 583, //40 + 562, //41 + 543, //42 + 525, //43 + 508, //44 + 491, //45 + 474, //46 + 459, //47 + 444, //48 + 430, //49 + 416, //50 + 402, //51 + 389, //52 + 377, //53 + 365, //54 + 354, //55 + 342, //56 + 331, //57 + 321, //58 + 311, //59 + 302, //60 + 292, //61 + 283, //62 + 275, //63 + 267, //64 + 259, //65 + 251, //66 + 243, //67 + 236, //68 + 229, //69 + 223, //70 + 216, //71 + 210, //72 + 204, //73 + 198, //74 + 192, //75 + 186, //76 + 181, //77 + 176, //78 + 171, //79 + 167, //80 + 162, //81 + 157, //82 + 153, //83 + 149, //84 + 145, //85 + 141, //86 + 137, //87 + 133, //88 + 130, //89 + 127, //90 + 123, //91 + 120, //92 + 117, //93 + 114, //94 + 111, //95 + 108, //96 + 105, //97 + 102, //98 + 100, //99 + 97, //100 + 95, //101 + 92, //102 + 90, //103 + 88, //104 + 86, //105 + 83, //106 + 81, //107 + 79, //108 + 78, //109 + 76 //110 +}; + +/************************************************************************************************* +* : NTC103AT +* : +* ֵ: +* : bֵΪ3950NTCֵλΪ10 ohms +*************************************************************************************************/ +#elif RT_TABLE == NTC_103AT_3950 +U16 code NTC103AT[NTC103AT_ARRAY_LEN]= //103ATbֵΪ3950 +{ + 65535, //-50 + 65535, //-49 + 61567, //-48 + 57293, //-47 + 53466, //-46 + 49698, //-45 + 46324, //-44 + 43202, //-43 + 40310, //-42 + 37632, //-41 + 35150, //-40 + 32847, //-39 + 30711, //-38 + 28728, //-37 + 26886, //-36 + 25174, //-35 + 23583, //-34 + 22102, //-33 + 20724, //-32 + 19441, //-31 + 18246, //-30 + 17132, //-29 + 16093, //-28 + 15124, //-27 + 14120, //-26 + 13375, //-25 + 12586, //-24 + 11846, //-23 + 11159, //-22 + 10514, //-21 + 9910, //-20 + 9345, //-19 + 8816, //-18 + 8319, //-17 + 7854, //-16 + 7418, //-15 + 7009, //-14 + 6625, //-13 + 6264, //-12 + 5926, //-11 + 5607, //-10 + 5308, //-09 + 5026, //-08 + 4761, //-07 + 4512, //-06 + 4277, //-05 + 4056, //-04 + 3848, //-03 + 3652, //-02 + 3466, //-01 + 3292, //00 + 3127, //01 + 2972, //02 + 2825, //03 + 2686, //04 + 2555, //05 + 2430, //06 + 2314, //07 + 2203, //08 + 2098, //09 + 1999, //10 + 1904, //11 + 1815, //12 + 1731, //13 + 1651, //14 + 1575, //15 + 1503, //16 + 1435, //17 + 1370, //18 + 1309, //19 + 1250, //20 + 1195, //21 + 1143, //22 + 1093, //23 + 1045, //24 + 1000, //25 + 956, //26 + 915, //27 + 876, //28 + 838, //29 + 805, //30 + 771, //31 + 739, //32 + 709, //33 + 680, //34 + 652, //35 + 625, //36 + 600, //37 + 576, //38 + 553, //39 + 531, //40 + 510, //41 + 490, //42 + 471, //43 + 453, //44 + 435, //45 + 419, //46 + 403, //47 + 387, //48 + 373, //49 + 359, //50 + 345, //51 + 333, //52 + 320, //53 + 309, //54 + 297, //55 + 287, //56 + 276, //57 + 266, //58 + 257, //59 + 248, //60 + 239, //61 + 230, //62 + 222, //63 + 215, //64 + 207, //65 + 200, //66 + 193, //67 + 186, //68 + 180, //69 + 174, //70 + 168, //71 + 162, //72 + 157, //73 + 152, //74 + 146, //75 + 142, //76 + 137, //77 + 132, //78 + 128, //79 + 124, //80 + 120, //81 + 116, //82 + 112, //83 + 109, //84 + 105, //85 + 102, //86 + 99, //87 + 96, //88 + 93, //89 + 90, //90 + 87, //91 + 84, //92 + 82, //93 + 79, //94 + 77, //95 + 74, //96 + 72, //97 + 70, //98 + 68, //99 + 66, //100 + 64, //101 + 62, //102 + 60, //103 + 59, //104 + 57, //105 + 55, //106 + 54, //107 + 53, //108 + 52, //109 + 50 //110 +}; +#else + #error "underfined RT_TABLE!" +#endif + + + diff --git a/code_drv/TwiIO.c b/code_drv/TwiIO.c new file mode 100644 index 0000000..1204615 --- /dev/null +++ b/code_drv/TwiIO.c @@ -0,0 +1,451 @@ +/******************************************************************************** +Copyright (C), Sinowealth Electronic. Ltd. +Author: Sino +Version: V0.0 +Date: 2018/08/30 +History: + V0.0 2018/08/30 Preliminary +********************************************************************************/ + +#include "Main.h" +//#include "ExtE2PRomRTC.h" + + +#ifdef TWI_IO_OPERATE +/******************************************************************************* +Function: CRC8Table[] +Description: +Input: +Output: +Others: +*******************************************************************************/ +U8 code CRC8Table[]= +{ //120424-1 CRC Table + 0x00,0x07,0x0E,0x09,0x1C,0x1B,0x12,0x15,0x38,0x3F,0x36,0x31,0x24,0x23,0x2A,0x2D, + 0x70,0x77,0x7E,0x79,0x6C,0x6B,0x62,0x65,0x48,0x4F,0x46,0x41,0x54,0x53,0x5A,0x5D, + 0xE0,0xE7,0xEE,0xE9,0xFC,0xFB,0xF2,0xF5,0xD8,0xDF,0xD6,0xD1,0xC4,0xC3,0xCA,0xCD, + 0x90,0x97,0x9E,0x99,0x8C,0x8B,0x82,0x85,0xA8,0xAF,0xA6,0xA1,0xB4,0xB3,0xBA,0xBD, + 0xC7,0xC0,0xC9,0xCE,0xDB,0xDC,0xD5,0xD2,0xFF,0xF8,0xF1,0xF6,0xE3,0xE4,0xED,0xEA, + 0xB7,0xB0,0xB9,0xBE,0xAB,0xAC,0xA5,0xA2,0x8F,0x88,0x81,0x86,0x93,0x94,0x9D,0x9A, + 0x27,0x20,0x29,0x2E,0x3B,0x3C,0x35,0x32,0x1F,0x18,0x11,0x16,0x03,0x04,0x0D,0x0A, + 0x57,0x50,0x59,0x5E,0x4B,0x4C,0x45,0x42,0x6F,0x68,0x61,0x66,0x73,0x74,0x7D,0x7A, + 0x89,0x8E,0x87,0x80,0x95,0x92,0x9B,0x9C,0xB1,0xB6,0xBF,0xB8,0xAD,0xAA,0xA3,0xA4, + 0xF9,0xFE,0xF7,0xF0,0xE5,0xE2,0xEB,0xEC,0xC1,0xC6,0xCF,0xC8,0xDD,0xDA,0xD3,0xD4, + 0x69,0x6E,0x67,0x60,0x75,0x72,0x7B,0x7C,0x51,0x56,0x5F,0x58,0x4D,0x4A,0x43,0x44, + 0x19,0x1E,0x17,0x10,0x05,0x02,0x0B,0x0C,0x21,0x26,0x2F,0x28,0x3D,0x3A,0x33,0x34, + 0x4E,0x49,0x40,0x47,0x52,0x55,0x5C,0x5B,0x76,0x71,0x78,0x7F,0x6A,0x6D,0x64,0x63, + 0x3E,0x39,0x30,0x37,0x22,0x25,0x2C,0x2B,0x06,0x01,0x08,0x0F,0x1A,0x1D,0x14,0x13, + 0xAE,0xA9,0xA0,0xA7,0xB2,0xB5,0xBC,0xBB,0x96,0x91,0x98,0x9F,0x8A,0x8D,0x84,0x83, + 0xDE,0xD9,0xD0,0xD7,0xC2,0xC5,0xCC,0xCB,0xE6,0xE1,0xE8,0xEF,0xFA,0xFD,0xF4,0xF3 +}; + +/******************************************************************************* +Function: Delay4us() +Description: +Input: +Output: +Others: +*******************************************************************************/ +void Delay4us(void) +{ + U8 i; + for(i=0; i<13; i++) + { + } +} + +/******************************************************************************* +Function: +1. TwiStart() +2. TwiReStart() +3. TwiStop() +Input: +Output: +********************************************************************************/ +void TwiStart(void) +{ + TWI_DAT_OUT; + TWI_CLK_OUT; + + TWI_DAT_HIGH; + TWI_CLK_HIGH; + TWI_DAT_OUT; + TWI_CLK_OUT; + TWI_DAT_LOW; + Delay4us(); + TWI_CLK_LOW; +} + +void TwiReStart(void) +{ + TWI_DAT_HIGH; + TWI_CLK_HIGH; + Delay4us(); + TWI_DAT_LOW; + Delay4us(); + TWI_CLK_LOW; +} + +void TwiStop(void) +{ + TWI_DAT_OUT; + TWI_DAT_LOW; + Delay4us(); + TWI_CLK_HIGH; + Delay4us(); + TWI_DAT_HIGH; + Delay4us(); + TWI_DAT_IN; + TWI_CLK_IN; +} + +bit TwiChkClkRelease(void) +{ + U16 TimeoutCnt=1000; //If Clock is not released within 4ms, is considered overtime + BOOL result=0; + + TWI_CLK_IN; + while(TimeoutCnt--) + { + RSTSTAT = 0x00; + Delay4us(); + if(TWI_RD_CLK) + { + result = 1; + break; + } + } + + TWI_CLK_HIGH; + TWI_CLK_OUT; + + return result; +} + + +/******************************************************************************* +Function: TwiSendData() +Description: +Input: +Output: +********************************************************************************/ + +bit TwiSendData(U8 Data, U8 ClkFlg) +{ + U8 i; + BOOL result=0; + +//1. After sending the Start signal, there is no need to detect Clock is released, And sending the first bit + if(Data&0x80) + { + TWI_DAT_HIGH; + } + else + { + TWI_DAT_LOW; + } + if(ClkFlg == 1) + { + Delay4us(); + if(TwiChkClkRelease()) + { + TWI_CLK_LOW; + } + else + { + return result; + } + } + else + { + Delay4us(); + TWI_CLK_HIGH; + Delay4us(); + TWI_CLK_LOW; + } + +//2. Send the remaining seven bit + Data = Data<<1; + for(i=0; i<7; i++) + { + if(Data&0x80) + { + TWI_DAT_HIGH; + } + else + { + TWI_DAT_LOW; + } + Data = Data<<1; + Delay4us(); + TWI_CLK_HIGH; + Delay4us(); + TWI_CLK_LOW; + } + TWI_DAT_IN; + Delay4us(); + + for(i=0; i<10; i++) + { + if(TWI_RD_DAT == 0) + { + result = 1; + break; + } + } + TWI_CLK_HIGH; + + Delay4us(); + TWI_DAT_LOW; + TWI_DAT_OUT; + TWI_CLK_LOW; + Delay4us(); + + return result; +} + + +/******************************************************************************* +Function: TwiGetData() +Description: i2c get data(one byte) +Input: R6: 0 means no need send ack +Output: A: the data received +********************************************************************************/ +U8 TwiGetData(U8 AckFlg) +{ + U8 i, RdData=0; + + TWI_DAT_IN; + Delay4us(); + + for(i=0; i<8; i++) + { + TWI_CLK_HIGH; + Delay4us(); + if(TWI_RD_DAT) + { + RdData |= (1<<(7-i)); + } + TWI_CLK_LOW; + Delay4us(); + } + + TWI_DAT_OUT; + if(AckFlg != 0) + { + TWI_DAT_LOW; + } + else + { + TWI_DAT_HIGH; + } + TWI_CLK_HIGH; + Delay4us(); + TWI_CLK_LOW; + Delay4us(); + + return RdData; +} + + +/******************************************************************************* +Function: CRC8cal() +Description: +Input: +Output: +********************************************************************************/ +U8 CRC8cal(U8 *p, U8 Length) //look-up table calculte CRC +{ + U8 crc8 = 0; + + for(; Length > 0; Length--) + { + RSTSTAT = 0x00; + crc8 = CRC8Table[crc8^*p]; + p++; + } + + return(crc8); +} + + +/******************************************************************************* +Function: TWIWrite() +Description: write one byte +Input: SlaveID--Slave Address + RegAddr--register addr + RegData--register data +Output: CY:1--OK + 0--Error +********************************************************************************/ +BOOL TwiWrite(U8 SlaveID, U16 WrAddr, U8 Length, U8 xdata *WrBuf) +{ + U8 i; + U8 TempBuf[4]; + BOOL result = 0; + + TempBuf[0] = SlaveID; + TempBuf[1] = (U8)WrAddr; + TempBuf[2] = *WrBuf; + TempBuf[3] = CRC8cal(TempBuf, 3); + + EA = 0; + if(Length > 0) + { + TwiStart(); + + if(!TwiSendData(SlaveID, 1)) //Send Slave E2ucID + { + goto WrErr; + } + + if(SlaveID == E2PROM_ID) + { + if(!TwiSendData(WrAddr>>8, 0)) //Send Write Address(High 8bit) For EEPROM + { + goto WrErr; + } + } + if(TwiSendData(WrAddr, 0)) //Send Write Address(Low 8bit) + { + result = 1; + for(i=0; i 0) + { + TwiStart(); + + if(!TwiSendData(SlaveID, 1)) //Send Slave E2ucID + { + goto RdErr; + } + + if(SlaveID == E2PROM_ID) + { + if(!TwiSendData(RdAddr>>8, 0)) //Send Read Address(High 8bit) For EEPROM + { + goto RdErr; + } + } + if(!TwiSendData(RdAddr, 0)) //Send Read Address(Low 8bit) + { + goto RdErr; + } + +// if(SlaveID==AFE_CHIP_ID) //CRC +// { +// if(!TwiSendData(Length, 0)) +// { +// goto RdErr; +// } +// } + + TwiReStart(); + + if(TwiSendData(SlaveID|0x1, 0)) //Send Slave E2ucID + { + result = 1; + if(SlaveID==AFE_CHIP_ID) + { + for(i=0; i&$cKKsM&6jiTx#ymH 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 literal 0 HcmV?d00001 diff --git a/crc_tool/Hex2Array.exe b/crc_tool/Hex2Array.exe new file mode 100644 index 0000000000000000000000000000000000000000..f0bba21664289d8ddca33f5b38d2f0857695fb81 GIT binary patch literal 229376 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

_NuZ53cBqqY=+&mIK_4*R_Spk0= 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 F{{uUv^vVDL literal 0 HcmV?d00001 diff --git a/header_app/Initial.h b/header_app/Initial.h new file mode 100644 index 0000000..75a46e3 --- /dev/null +++ b/header_app/Initial.h @@ -0,0 +1,8 @@ +#ifndef __INITIAL_H +#define __INITIAL_H + + +extern void Initial(void); +extern void SysParaInit(void); +extern void InitIRQ(void); +#endif \ No newline at end of file diff --git a/header_app/InterruptApp.h b/header_app/InterruptApp.h new file mode 100644 index 0000000..42f9677 --- /dev/null +++ b/header_app/InterruptApp.h @@ -0,0 +1,25 @@ +#ifndef __INTERRUPT_APP_H +#define __INTERRUPT_APP_H + +#define TIME_5MS_50MS 10 +#define TIME_5MS_500MS 100 +#define TIME_5MS_1S 200 +#define TIME_50mS_50mS 1 +#define TIME_50mS_100mS 2 +#define TIME_50mS_200mS 4 +#define TIME_50MS_500MS 10 +#define TIME_50MS_2250MS 45 +#define TIME_1S_5S 5 + +extern BOOL bTimer5msFlg; +extern BOOL bTimer50msFlg; +extern BOOL bTimer1sFlg; +extern U8 ucTimer50ms; +extern U8 ucTimer1s; + + +extern void InterruptINT4App(U8 IntSource); +extern void InterruptTimer3App(void); + + +#endif \ No newline at end of file diff --git a/header_app/KeyApp.h b/header_app/KeyApp.h new file mode 100644 index 0000000..9193c8b --- /dev/null +++ b/header_app/KeyApp.h @@ -0,0 +1,9 @@ +#ifndef __KEY_APP_H +#define __KEY_APP_H + +extern U8 xdata ucDsgingSpeed; + +extern void KeyProcess(void); + + +#endif \ No newline at end of file diff --git a/header_app/Led.h b/header_app/Led.h new file mode 100644 index 0000000..20e2b5a --- /dev/null +++ b/header_app/Led.h @@ -0,0 +1,49 @@ +#ifndef __LED_H +#define __LED_H + +//#define IO_LED1 P2_0 +#define IO_LED2 P2_1 +#define IO_LED3 P2_2 +#define IO_LED4 P2_3 +#define IO_LED5 P2_4 +#define IO_LED_CHARGE P3_5 +#define IO_LED_BLE IO_LED1 + +#define LED5On() IO_LED5 = 1; +#define LED5Off() IO_LED5 = 0; +#define LED4On() IO_LED4 = 1; +#define LED4Off() IO_LED4 = 0; +#define LED3On() IO_LED3 = 1; +#define LED3Off() IO_LED3 = 0; +#define LED2On() IO_LED2 = 1; +#define LED2Off() IO_LED2 = 0; +#define LED1On() if(!bLedDisBleFlg) {IO_LED1 = 1;} +#define LED1Off() if(!bLedDisBleFlg) {IO_LED1 = 0;} +#define LEDAllOn() \ +{ \ + LED1On(); \ + LED2On(); \ + LED3On(); \ + LED4On(); \ + LED5On(); \ +} + +#define LEDAllOff() \ +{ \ + LED1Off(); \ + LED2Off(); \ + LED3Off(); \ + LED4Off(); \ + LED5Off(); \ +} + + +extern BOOL bLedDisFlg; +extern BOOL bLedDisBleFlg; +extern U8 xdata ucLedTimeCnt; +extern U8 xdata ucLedBleFlickCnt; + +extern void LedDisplay(void); + + +#endif \ No newline at end of file diff --git a/header_app/LowPower.h b/header_app/LowPower.h new file mode 100644 index 0000000..480181d --- /dev/null +++ b/header_app/LowPower.h @@ -0,0 +1,15 @@ +#ifndef __LOWPOWER_H +#define __LOWPOWER_H + +extern BOOL bSleepFlg; //ϵͳIDLE־ +extern BOOL bPDFlg; +extern BOOL bWakeupFlg; +extern BOOL bPCEnterPDFlg; //PC֪ͨϵͳSLEEP־ +extern U8 xdata ucSleepTimerCnt; +extern U8 xdata ucPDTimerCnt; +extern U8 xdata ucResetFlag; + +extern void LowPowerCheck(void); +extern void LowPowerProcess(void); + +#endif \ No newline at end of file diff --git a/header_app/Main.h b/header_app/Main.h new file mode 100644 index 0000000..06ce7b7 --- /dev/null +++ b/header_app/Main.h @@ -0,0 +1,153 @@ +#ifndef __MAIN_H +#define __MAIN_H + + +//***------- <<< Use Configuration Wizard in Context Menu >>> ------------------ + +// ѡ-uart0 +// ѡлںźҪֶ޸InitGPIO()˿ڳʼȷйвƻMOSIAP/ISPĹҲҪͬл +// <0=>Uart0 : ʹuart0 +// <1=>Uart0 : P0.6 For RXD0,P0.7 For TXD0 UART0CR=32(UART0Ĭ) +// <2=>Uart0 : P0.6 For RXD0,P2.4 For TXD0 UART0CR=42 +// <3=>Uart0 : P0.6 For RXD0,P2.5 For TXD0 UART0CR=52 +// <4=>Uart0 : P0.6 For RXD0,P0.0 For TXD0 UART0CR=02 +// <5=>Uart0 : P0.6 For RXD0,P0.1 For TXD0 UART0CR=12 +// <6=>Uart0 : P0.7 For RXD0,P0.6 For TXD0 UART0CR=23 +// <7=>Uart0 : P0.7 For RXD0,P2.4 For TXD0 UART0CR=43 +// <8=>Uart0 : P0.7 For RXD0,P2.5 For TXD0 UART0CR=53 +// <9=>Uart0 : P0.7 For RXD0,P0.0 For TXD0 UART0CR=03 +// <10=>Uart0 : P0.7 For RXD0,P0.1 For TXD0 UART0CR=13 +// <11=>Uart0 : P2.4 For RXD0,P0.6 For TXD0 UART0CR=24 +// <12=>Uart0 : P2.4 For RXD0,P0.7 For TXD0 UART0CR=34 +// <13=>Uart0 : P2.4 For RXD0,P2.5 For TXD0 UART0CR=54 +// <14=>Uart0 : P2.4 For RXD0,P0.0 For TXD0 UART0CR=04 +// <15=>Uart0 : P2.4 For RXD0,P0.1 For TXD0 UART0CR=14 +// <16=>Uart0 : P2.5 For RXD0,P0.6 For TXD0 UART0CR=25 +// <17=>Uart0 : P2.5 For RXD0,P0.7 For TXD0 UART0CR=35 +// <18=>Uart0 : P2.5 For RXD0,P2.4 For TXD0 UART0CR=45 +// <19=>Uart0 : P2.5 For RXD0,P0.0 For TXD0 UART0CR=05 +// <20=>Uart0 : P2.5 For RXD0,P0.1 For TXD0 UART0CR=15 +// <21=>Uart0 : P0.0 For RXD0,P0.7 For TXD0 UART0CR=30 +// <22=>Uart0 : P0.0 For RXD0,P2.4 For TXD0 UART0CR=40 +// <23=>Uart0 : P0.0 For RXD0,P2.5 For TXD0 UART0CR=50 +// <24=>Uart0 : P0.0 For RXD0,P0.6 For TXD0 UART0CR=20 +// <25=>Uart0 : P0.0 For RXD0,P0.1 For TXD0 UART0CR=10 +// <26=>Uart0 : P0.1 For RXD0,P0.7 For TXD0 UART0CR=31 +// <27=>Uart0 : P0.1 For RXD0,P2.4 For TXD0 UART0CR=41 +// <28=>Uart0 : P0.1 For RXD0,P2.5 For TXD0 UART0CR=51 +// <29=>Uart0 : P0.1 For RXD0,P0.0 For TXD0 UART0CR=01 +// <30=>Uart0 : P0.1 For RXD0,P0.6 For TXD0 UART0CR=21 + +#define UART0_DEFINE 1 + +// ѡ-uart1 +// <0=>Uart1 : ʹuart1 +// <1=>Uart1 : P1.0 For RXD1,P1.1 For TXD1 UART1CR=10(UART1Ĭ) +// <2=>Uart1 : P1.0 For RXD1,P3.3 For TXD1 UART1CR=40 +// <3=>Uart1 : P1.0 For RXD1,P3.4 For TXD1 UART1CR=50 +// <4=>Uart1 : P1.0 For RXD1,P2.6 For TXD1 UART1CR=20 +// <5=>Uart1 : P1.0 For RXD1,P2.7 For TXD1 UART1CR=30 +// <6=>Uart1 : P1.1 For RXD1,P1.0 For TXD1 UART1CR=01 +// <7=>Uart1 : P1.1 For RXD1,P3.3 For TXD1 UART1CR=41 +// <8=>Uart1 : P1.1 For RXD1,P3.4 For TXD1 UART1CR=51 +// <9=>Uart1 : P1.1 For RXD1,P2.6 For TXD1 UART1CR=21 +// <10=>Uart1 : P1.1 For RXD1,P2.7 For TXD1 UART1CR=31 +// <11=>Uart1 : P3.3 For RXD1,P1.0 For TXD1 UART1CR=04 +// <12=>Uart1 : P3.3 For RXD1,P1.1 For TXD1 UART1CR=14 +// <13=>Uart1 : P3.3 For RXD1,P3.4 For TXD1 UART1CR=54 +// <14=>Uart1 : P3.3 For RXD1,P2.6 For TXD1 UART1CR=24 +// <15=>Uart1 : P3.3 For RXD1,P2.7 For TXD1 UART1CR=34 +// <16=>Uart1 : P3.4 For RXD1,P1.0 For TXD1 UART1CR=05 +// <17=>Uart1 : P3.4 For RXD1,P1.1 For TXD1 UART1CR=15 +// <18=>Uart1 : P3.4 For RXD1,P3.3 For TXD1 UART1CR=45 +// <19=>Uart1 : P3.4 For RXD1,P2.6 For TXD1 UART1CR=25 +// <20=>Uart1 : P3.4 For RXD1,P2.7 For TXD1 UART1CR=35 +// <21=>Uart1 : P2.6 For RXD1,P1.0 For TXD1 UART1CR=02 +// <22=>Uart1 : P2.6 For RXD1,P1.1 For TXD1 UART1CR=12 +// <23=>Uart1 : P2.6 For RXD1,P3.3 For TXD1 UART1CR=42 +// <24=>Uart1 : P2.6 For RXD1,P3.4 For TXD1 UART1CR=52 +// <25=>Uart1 : P2.6 For RXD1,P2.7 For TXD1 UART1CR=32 +// <26=>Uart1 : P2.7 For RXD1,P1.0 For TXD1 UART1CR=03 +// <27=>Uart1 : P2.7 For RXD1,P1.1 For TXD1 UART1CR=13 +// <28=>Uart1 : P2.7 For RXD1,P3.3 For TXD1 UART1CR=43 +// <29=>Uart1 : P2.7 For RXD1,P3.4 For TXD1 UART1CR=53 +// <30=>Uart1 : P2.7 For RXD1,P2.6 For TXD1 UART1CR=23 +#define UART1_DEFINE 0 + +// ѡ-uart2 +// <0=>Uart2 : ʹuart2 +// <1=>Uart2 : P2.2 For RXD2,P2.1 For TXD2 + +#define UART2_DEFINE 0 +// ѡ +// <0=>9600 +// <1=>115200 +#define UART_BRT 0 + + +// ʹ +//#define SOFT_START 1 + +// ʹܾ +//#define BALEN 0 + +// ʹISP/IAP +// ˵:SH39F325֧ISP,SH39F325A֧IAPISP +//#define ISPEN 0 + +// ٵ +// +// +//#define SPEED_LEVEL 3 + +// +//#define KEY_NUM 2 + +//*<<< end of configuration section >>> + +#include "MCURegister.h" +#include "c51_type.h" +#include "ABSACC.H" +#include "STDLIB.H" +#include "INTRINS.H" +#include "Initial.h" +#include "InterruptApp.h" +#include "KeyApp.h" +#include "Led.h" +#include "LowPower.h" +#include "Memory.h" +#include "UartApp.h" +#include "Afe.h" +#include "Balance.h" +#include "Calculate.h" +#include "Calibrate.h" +#include "ChargerLoad.h" +#include "ExtE2PRom.h" +#include "GasGaugeV4_13.h" +#include "Interrupt.h" +#include "KeyScan.h" +#include "McuFlash.h" +#include "McuLib.h" +#include "MosCtrl.h" +#include "PorSelfTest.h" +#include "Protect.h" +#include "RTC.h" +#include "Twi.h" +#include "Uart.h" +#include "TWIIO.h" +//#include "sh_iec60730b_8051f_testproc.h" + + +#define IO_DSG_PWM P2_5 +#define IO_BLE_PW P0_3 + +// SL +#define IO_485_DE P2_0 +#define IO_LED P2_4 + +#define BlueToothPowerEn() IO_BLE_PW = 0; +#define BlueToothPowerDis() IO_BLE_PW = 1; + +extern void ISPProcess(void); + +#endif diff --git a/header_app/Memory.h b/header_app/Memory.h new file mode 100644 index 0000000..51356c4 --- /dev/null +++ b/header_app/Memory.h @@ -0,0 +1,187 @@ +#ifndef __MEMORY_H +#define __MEMORY_H + +#define STACK_ADDR 0xA0 + +//*****************************DATA MEMORY START***************************// +extern U8 idata STACK[]; //ջ + +//*****************************BIT MEMORY START***************************// +extern U16 bdata uiPackConfig; +extern BOOL bCellNum1; +extern BOOL bCellNum2; +extern BOOL bCellNum3; +extern BOOL bLEDNum0; +extern BOOL bLEDNum1; +extern BOOL bTempNum; +extern BOOL bLoadLock; +extern BOOL bChgerLock; +extern BOOL bOV_EN; +extern BOOL bSC_EN; +extern BOOL bOCRC_EN; +extern BOOL bBAL_EN; +extern BOOL bCTO_EN; +extern BOOL bEnEEPRomBK; + +extern U16 bdata uiPackStatus; +extern BOOL bCHGMOS; //chgmos flag +extern BOOL bDSGMOS; //dsgmos flag +extern BOOL bCHGING; //charge status flag means connect to charger +extern BOOL bDSGING; //discharge status flag means disconnect to charger +extern BOOL bSlowDischarge; //charge PWM ratio is max +extern BOOL bMidDischarge; //charge PWM ratio is max +extern BOOL bFastDischarge; //charge PWM ratio is min + +extern U16 bdata uiBatStatus; +extern BOOL bOV; +extern BOOL bUV; +extern BOOL bFC; +extern BOOL bFD; +extern BOOL bVDQ; + +extern BOOL bOCC; +extern BOOL bOCD1; +extern BOOL bOCD2; +extern BOOL bOTC; +extern BOOL bOTD; +extern BOOL bUTC; +extern BOOL bUTD; + +//ALARM +extern BOOL bAFE_SC; +extern BOOL bAFE_OV; +extern BOOL bAFE_WDT; +extern BOOL bAFE_TWI; +extern BOOL bAFE_POR; +extern BOOL bAFE_ODD_ERR; +extern BOOL bAFE_RST; +extern BOOL bAFE_VADC; +extern BOOL bCTO; + +extern U8 bdata ucAFEStatus; +extern BOOL bAfeChger; +extern BOOL bAfeLoad; +extern BOOL bAfeChging; +extern BOOL bAfeDsging; +extern BOOL bAfeCHG; +extern BOOL bAfeDSG; + +/**************************************************************************************/ +//DataFlashַ +/**************************************************************************************/ +//ϵͳϢʼ SubClassID=0x00 langth=48 +extern U16 xdata E2uiPackConfigMap; +extern U16 xdata E2uiVOC[10]; +extern U32 xdata E2ulDesignCapacity; +extern U16 xdata E2Reserve; +extern S16 xdata E2siDfilterCur; +extern U8 xdata E2ucLowPowerDeley; +extern U8 xdata E2ucChgBKDelay; +extern S16 xdata E2siChgBKCur; +extern U8 xdata E2ucRTCBKDelay; +extern U8 xdata E2ucRamCheckFlg0; + +//ûԶʼ SubClassID=0x01 langth=50 +extern U16 xdata E2uiSWVersion; +extern U16 xdata E2uiHWVersion; +extern U8 xdata E2ucID; +extern U8 xdata E2ucMNFName[12]; +extern U32 xdata E2ulMNFDate; +extern U16 xdata E2uiSerialNum; +extern U8 xdata E2ucDeviceName[12]; +extern U8 xdata E2ucDeviceChem[12]; +extern U16 xdata E2uiChemID; +extern U8 xdata E2ucRamCheckFlg1; + +//ʼ SubClassID=0x02 langth=18 +extern U16 xdata E2uiOVvol; +extern U16 xdata E2uiOVRvol; +extern U8 xdata E2ucOVDelay; +extern U8 xdata E2ucOVRDelay; +extern U16 xdata E2uiChgEndVol0; +extern S16 xdata E2siChgEndCurr0; +extern U8 xdata E2ucChgEndDelay0; +extern S32 xdata E2slOCCCurrent; +extern U8 xdata E2ucOCCDelay; +extern U8 xdata E2ucOCCRDelay; +extern U8 xdata E2ucRamCheckFlg2; + +//ŵʼ SubClassID=0x03 langth=21 +extern U16 xdata E2uiUVvol; +extern U16 xdata E2uiUVRvol; +extern U8 xdata E2ucUVDelay; +extern U8 xdata E2ucUVRDelay; +extern U8 xdata E2ucDsgEndDelay0; +extern U16 xdata E2uiDsgEndVol0; +extern S32 xdata E2slOCD1Current; +extern U8 xdata E2ucOCD1Delay; +extern S32 xdata E2slOCD2Current; +extern U8 xdata E2ucOCD2Delay; +extern U8 xdata E2ucLoadRDelay; +extern U8 xdata E2ucRamCheckFlg3; + +//Ԥʼ SubClassID=0x04 +//Reserved + +//ŵPWMʼ SubClassID=0x05 langth=5 +extern U16 xdata E2uiDSG1PWMFreq; +extern U8 xdata E2ucDSG1PWMRatioL; +extern U8 xdata E2ucDSG1PWMRatioH; +extern U8 xdata E2ucRamCheckFlg5; + +//¶ȱʼ SubClassID=0x06 langth=11 +extern U16 xdata E2uiTempOTC; +extern U16 xdata E2uiTempOTCR; +extern U16 xdata E2uiTempOTD; +extern U16 xdata E2uiTempOTDR; +extern U8 xdata E2ucTempDelay; +extern U8 xdata E2ucTempRDelay; +extern U8 xdata E2ucRamCheckFlg6; + +//ŵ¶ȱʼ SubClassID=0x07 langth=9 +extern U16 xdata E2uiTempUTC; +extern U16 xdata E2uiTempUTCR; +extern U16 xdata E2uiTempUTD; +extern U16 xdata E2uiTempUTDR; +extern U8 xdata E2ucRamCheckFlg7; + +//ƽʼ SubClassID=0x08 langth=8 +extern U16 xdata E2uiBalanceVol; +extern U16 xdata E2uiBalanceVolDiff; +extern S16 xdata E2siBalCurrent; +extern U8 xdata E2ucBalanceDelay; +extern U8 xdata E2ucRamCheckFlg8; + +//ͳƲʼ SubClassID=0x09 length=17 +extern U16 xdata E2uiLearnLowTempe; +extern U8 xdata E2ucSOC; +extern U32 xdata E2ulFCC; +extern U32 xdata E2ulDfRC; +extern U32 xdata E2ulCycleThreshold; +extern U32 xdata E2ulCycleThresholdCount; +extern U16 xdata E2uiCycleCount; +extern S32 xdata E2slDsgEndCurr; +extern U16 xdata E2uiLastCCount; +extern U8 xdata E2ucDsgEndFlg; +extern U8 xdata E2ucRamCheckFlg9; + +//AFEʼ SubClassID=0x0A langth=4 +extern U8 xdata E2ucAFEProtectConfig; +extern U16 xdata E2uiAFEOVvol; +extern U8 xdata E2ucRamCheckFlgA; + +//У׼ʼ SubClassID=0x0B langth=12 +extern U16 xdata E2uiVPackGain; +extern S16 xdata E2siCadcGain; +extern S16 xdata E2siCadcOffset; +extern S16 xdata E2siTS0Offset; +extern S16 xdata E2siTS1Offset; +extern U8 xdata E2ucCalibrated; +extern U8 xdata E2ucRamCheckFlgB; + +//DataflashCheck +extern U16 xdata E2uiCheckFlag; + + + +#endif \ No newline at end of file diff --git a/header_app/UartApp.h b/header_app/UartApp.h new file mode 100644 index 0000000..5936808 --- /dev/null +++ b/header_app/UartApp.h @@ -0,0 +1,140 @@ +#ifndef __UART_APP_H +#define __UART_APP_H + +#define UART_SLAVE_ADDR 0x00 +#define UART_CMD_NO 0x01 +#define UART_LENGTH 0x02 +#define UART_DATA 0x03 + +#define CMD_RD_EEPROM 0x78 + +//Ϣɨ +#define CELL1 0X01 +#define CELL2 0X02 +#define CELL3 0X03 +#define CELL4 0X04 +#define CELL5 0X05 +#define CELL6 0X06 +#define CELL7 0X07 +#define CELL8 0X08 +#define CELL9 0X09 +#define CELL10 0X0A +#define TOTAL_VOLTAGE 0X0B +#define EXT_TEMP1 0X0C +#define EXT_TEMP2 0X0D +#define DIE_TEMP1 0X0E +#define DIE_TEMP2 0X0F +#define CADC_CURRENT 0X10 +#define FULL_CHG_CAP 0X11 +#define REMAIN_CAP 0X12 +#define R_SOC 0X13 +#define CYCLE_COUNT 0X14 +#define PACK_STATUS 0X15 +#define BATTERY_STATUS 0X16 +#define PACK_CONFIG 0X17 +#define MANUFACTURE_COMMAND 0X18 + +//MCU +#define DATA_FLASH_COMMAND 0x77 +#define SUB_PAGE1 0x78 +#define SUB_PAGE2 0x79 +#define SUB_PAGE3 0x7A +#define SUB_PAGE4 0x7B +#define SUB_PAGE5 0x7C +#define SUB_PAGE6 0x7D +#define SUB_PAGE7 0x7E +#define SUB_PAGE8 0x7F +#define RTC_SUBID 0x0C + +//У׼ +#define CALI_VOL_COMMAND 0xA0 +#define CALI_TS1_COMMAND 0xA1 +#define CALI_TS2_COMMAND 0xA2 +#define CALI_CUR_COMMAND 0xA3 +#define CALI_ZERO_CUR_COMMAND 0xA4 +#define CALI_RTC_COMMAND 0xAF + +#define CMD_E2PROM_ERASE 0xB0 +#define CMD_E2PROM_ERASE_4K 0xB1 + +#define CMD_VALID_ACK 0x5A +#define CMD_INVALID_ACK 0xFF + +#define Uart0SendAck() Uart0TxEn(CMD_VALID_ACK) +#define Uart0SendNack() Uart0TxEn(CMD_INVALID_ACK) +#define Uart0SendData() Uart0TxEn(ucUart0Buf[ucUart0BufPT]) + +#define Uart1SendAck() Uart1TxEn(CMD_VALID_ACK) +#define Uart1SendNack() Uart1TxEn(CMD_INVALID_ACK) +#define Uart1SendData() Uart1TxEn(ucUart1Buf[ucUart1BufPT]) + +#define Uart2SendAck() Uart2TxEn(CMD_VALID_ACK) +#define Uart2SendNack() Uart2TxEn(CMD_INVALID_ACK) +#define Uart2SendData() Uart2TxEn(ucUart2Buf[ucUart2BufPT]) + + +//IAPض +#define HEARD1 0x00 +#define HEARD2 0x01 +#define LENGTH 0x02 +#define SOURCE 0x03 +#define TARGET 0x04 +#define COMMAND 0x05 +#define INDEXES 0x06 +#define DATA 0x07 +#define IAP_BMSID 0x07 //عϵͳ1 +#define IAP_PCID 0x3D //λϵͳ +//IAP&ISP Command +#define IAP_CMD_HANDSHAKE 0x06 +#define IAP_CMD_BEGIN 0x07 +#define IAP_CMD_TRANS 0x08 +#define IAP_CMD_VERIFY 0x09 +#define IAP_CMD_RESET 0x0A + +#define IAPERROR_CHECKSUM 0x80 +#define IAPERROR_ADDR 0x40 +#define IAPERROR_CMD 0x20 + +extern BOOL bISPFlg; //ISP־ISP +extern BOOL bUart0ReadFlg; +extern BOOL bUart0WriteFlg; +extern BOOL bUart0SndAckFlg; //UARTѾACK + +extern BOOL bUart1ReadFlg; +extern BOOL bUart1WriteFlg; +extern BOOL bUart1SndAckFlg; //UARTѾACK + +extern BOOL bUart2ReadFlg; +extern BOOL bUart2WriteFlg; +extern BOOL bUart2SndAckFlg; //UARTѾACK + +extern U8 xdata ucSubClassID; +extern U8 xdata ucUart0Buf[]; +extern U8 xdata ucUart0BufPT; +extern U8 xdata ucUart0SndLength; +extern U8 xdata ucUart0TimeoutCnt; + +extern U8 xdata ucUart1Buf[]; +extern U8 xdata ucUart1BufPT; +extern U8 xdata ucUart1SndLength; +extern U8 xdata ucUart1TimeoutCnt; + +extern U8 xdata ucUart2Buf[]; +extern U8 xdata ucUart2BufPT; +extern U8 xdata ucUart2SndLength; +extern U8 xdata ucUart2TimeoutCnt; + +extern void InterruptUart0AppRx(U8 RxData); +extern void InterruptUart0AppTx(void); +extern void Uart0Check(void); + +extern void InterruptUart1AppRx(U8 RxData); +extern void InterruptUart1AppTx(void); +extern void Uart1Check(void); + +extern void InterruptUart2AppRx(U8 RxData); +extern void InterruptUart2AppTx(void); +extern void Uart2Check(void); + + +#endif \ No newline at end of file diff --git a/header_bootloader/C51_type.h b/header_bootloader/C51_type.h new file mode 100644 index 0000000..ded1fec --- /dev/null +++ b/header_bootloader/C51_type.h @@ -0,0 +1,15 @@ +#ifndef __C51_TYPE_H +#define __C51_TYPE_H + + + +typedef unsigned char U8; +typedef unsigned int U16; +typedef unsigned long U32; +typedef signed char S8; +typedef signed int S16; +typedef signed long S32; +typedef bit BOOL; + + +#endif \ No newline at end of file diff --git a/header_bootloader/Flash.h b/header_bootloader/Flash.h new file mode 100644 index 0000000..58f9a95 --- /dev/null +++ b/header_bootloader/Flash.h @@ -0,0 +1,96 @@ +/******************************************************************************* + Ȩ (C), 2018,ӱӹɷ޹˾ +********************************************************************************/ +#ifndef __FLASH_H__ +#define __FLASH_H__ +#include "C51_TYPE.H" + +#define MCU_TYPE_CODE 0x00 +#define MCU_TYPE_E2P 0x01 + +#define BOOT_PGR_OK 0x00 +#define BOOT_PGR_ERASE_ERR 0x01 +#define BOOT_PGR_WR_ERR 0x02 + +#define BootMcuWdtClear() RSTSTAT &= 0xF8; //忴Ź +/****************************************************************************** +MCU 64K +Bootռ4K (0x0000~0x0FFF) +Appռ29K (0x1000~0x83FF) +Appռ30K (0x8400~0xFBFF) CODEͲCODE +Appݲռ1K (0xFC00~0xFFFF) +*******************************************************************************/ +#define MCU_CODE_SECTOR_SIZE ((U32)0x200) + +#define BOOT_CODE_START_ADDR ((U32)0x0000) //BOOTʼַ +#define BOOT_CODE_SIZE ((U32)4*1024) //BOOTʼַ + +#define IAP_CODE_START_ADDR ((U32)BOOT_CODE_START_ADDR+BOOT_CODE_SIZE)//APPʼַ +#define IAP_CODE_SIZE ((U32)29*1024) //APP29K +#define IAP_CODE_END_ADDR ((U32)IAP_CODE_START_ADDR+IAP_CODE_SIZE-1) + +#define IAP_BK_CODE_START_ADDR ((U32)IAP_CODE_START_ADDR+IAP_CODE_SIZE) //APP򱸷ʼַ +#define IAP_BK_CODE_SIZE ((U32)30*1024) //APP򱸷ַ +#define IAP_BK_CODE_END_ADDR ((U32)IAP_BK_CODE_START_ADDR+IAP_BK_CODE_SIZE-1) + +#define APP_PARA_START_ADDR ((U32)0x0000) //ʼַ--EEPROMַ0ʼ +#define APP_PARA_SIZE ((U32)1*1024) //1K + +#define BOOT_FLG_START_ADDR ((U32)BOOT_CODE_START_ADDR+BOOT_CODE_SIZE-MCU_CODE_SECTOR_SIZE)//BOOT1Sector +#define BOOT_FLG_IAP_ADDR ((U32)BOOT_FLG_START_ADDR+MCU_CODE_SECTOR_SIZE-1) //IAP־ڱ־Sectorһֽ +#define BOOT_FLG_ISP_ADDR ((U32)BOOT_FLG_START_ADDR+MCU_CODE_SECTOR_SIZE-1) //IAP־ڱ־Sectorһֽ + +#define ISP_CODE_START_ADDR ((U32)IAP_CODE_START_ADDR) //APPʼַ +#define ISP_CODE_SIZE ((U32)59*1024) //APP59K1KIJ + +extern U8 ucMcuFlashWrValid; + +extern U8 McuFlashRdOneByte(U32 xdata McuFlashAddr, U8 xdata McuType); +extern void McuFlashEraseSector(U32 xdata McuFlashAddr, U8 xdata McuType); +extern BOOL McuFlashBlankCheck(U32 xdata McuFlashAddr, U8 xdata McuType); +extern void McuFlashWrOneByte(U32 xdata McuFlashAddr, U8 xdata WrData, U8 xdata McuType); +extern BOOL BootUpgradeCode(void); + + + + +#endif + + + + + + + + +//#define MCU_CODE_SECTOR_SIZE ((U32)0x200) + +//#define BOOT_CODE_START_ADDR ((U32)0x0000) //BOOTʼַ +//#define BOOT_CODE_SIZE ((U32)4*1024) //BOOTʼַ + +//#define IAP_CODE_START_ADDR (0x0000+4096)//APPʼַ +//#define IAP_CODE_SIZE ((U32)29*1024) //APP29K +//#define IAP_CODE_END_ADDR (4096+29K-1) + +//#define IAP_BK_CODE_START_ADDR (4096+29K) //APP򱸷ʼַ +//#define IAP_BK_CODE_SIZE ((U32)30*1024) //APP򱸷ַ +//#define IAP_BK_CODE_END_ADDR (33K+30K-1) + +//#define APP_PARA_START_ADDR ((U32)0x0000) //ʼַ--EEPROMַ0ʼ +//#define APP_PARA_SIZE ((U32)1*1024) //1K + +//#define BOOT_FLG_START_ADDR (0x0000+4096-0x200)//BOOT1Sector +//#define BOOT_FLG_IAP_ADDR (3.5K+0x200-1) //IAP־ڱ־Sectorһֽ +//#define BOOT_FLG_ISP_ADDR (3.5K+0x200-1) //IAP־ڱ־Sectorһֽ + +//#define ISP_CODE_START_ADDR (4096) //APPʼַ +//#define ISP_CODE_SIZE ((U32)59*1024) //APP60K1KIJ + + + + + + + + + diff --git a/header_bootloader/IapIsp.h b/header_bootloader/IapIsp.h new file mode 100644 index 0000000..cfc6aae --- /dev/null +++ b/header_bootloader/IapIsp.h @@ -0,0 +1,150 @@ +#ifndef __IAP_COMMUNICATE_H +#define __IAP_COMMUNICATE_H + +//***------- <<< Use Configuration Wizard in Context Menu >>> ------------------ + +// ѡ +// ѡлںźҪֶ޸InitGPIO()˿ڳʼȷйвƻMOSIAP/ISPĹҲҪͬл +// <1=>Uart0 : P0.6 For RXD0,P0.7 For TXD0 UART0CR=32(uart0Ĭ) +// <2=>Uart0 : P0.6 For RXD0,P2.4 For TXD0 UART0CR=42 +// <3=>Uart0 : P0.6 For RXD0,P2.5 For TXD0 UART0CR=52 +// <4=>Uart0 : P0.6 For RXD0,P0.0 For TXD0 UART0CR=02 +// <5=>Uart0 : P0.6 For RXD0,P0.1 For TXD0 UART0CR=12 +// <6=>Uart0 : P0.7 For RXD0,P0.6 For TXD0 UART0CR=23 +// <7=>Uart0 : P0.7 For RXD0,P2.4 For TXD0 UART0CR=43 +// <8=>Uart0 : P0.7 For RXD0,P2.5 For TXD0 UART0CR=53 +// <9=>Uart0 : P0.7 For RXD0,P0.0 For TXD0 UART0CR=03 +// <10=>Uart0 : P0.7 For RXD0,P0.1 For TXD0 UART0CR=13 +// <11=>Uart0 : P2.4 For RXD0,P0.6 For TXD0 UART0CR=24 +// <12=>Uart0 : P2.4 For RXD0,P0.7 For TXD0 UART0CR=34 +// <13=>Uart0 : P2.4 For RXD0,P2.5 For TXD0 UART0CR=54 +// <14=>Uart0 : P2.4 For RXD0,P0.0 For TXD0 UART0CR=04 +// <15=>Uart0 : P2.4 For RXD0,P0.1 For TXD0 UART0CR=14 +// <16=>Uart0 : P2.5 For RXD0,P0.6 For TXD0 UART0CR=25 +// <17=>Uart0 : P2.5 For RXD0,P0.7 For TXD0 UART0CR=35 +// <18=>Uart0 : P2.5 For RXD0,P2.4 For TXD0 UART0CR=45 +// <19=>Uart0 : P2.5 For RXD0,P0.0 For TXD0 UART0CR=05 +// <20=>Uart0 : P2.5 For RXD0,P0.1 For TXD0 UART0CR=15 +// <21=>Uart0 : P0.0 For RXD0,P0.7 For TXD0 UART0CR=30 +// <22=>Uart0 : P0.0 For RXD0,P2.4 For TXD0 UART0CR=40 +// <23=>Uart0 : P0.0 For RXD0,P2.5 For TXD0 UART0CR=50 +// <24=>Uart0 : P0.0 For RXD0,P0.6 For TXD0 UART0CR=20 +// <25=>Uart0 : P0.0 For RXD0,P0.1 For TXD0 UART0CR=10 +// <26=>Uart0 : P0.1 For RXD0,P0.7 For TXD0 UART0CR=31 +// <27=>Uart0 : P0.1 For RXD0,P2.4 For TXD0 UART0CR=41 +// <28=>Uart0 : P0.1 For RXD0,P2.5 For TXD0 UART0CR=51 +// <30=>Uart0 : P0.1 For RXD0,P0.6 For TXD0 UART0CR=21 +// <29=>Uart0 : P0.1 For RXD0,P0.0 For TXD0 UART0CR=01 + +// <31=>Uart1 : P1.0 For RXD1,P1.1 For TXD1 UART1CR=10(uart1Ĭ) +// <32=>Uart1 : P1.0 For RXD1,P3.3 For TXD1 UART1CR=40 +// <33=>Uart1 : P1.0 For RXD1,P3.4 For TXD1 UART1CR=50 +// <34=>Uart1 : P1.0 For RXD1,P2.6 For TXD1 UART1CR=20 +// <35=>Uart1 : P1.0 For RXD1,P2.7 For TXD1 UART1CR=30 +// <36=>Uart1 : P1.1 For RXD1,P1.0 For TXD1 UART1CR=01 +// <37=>Uart1 : P1.1 For RXD1,P3.3 For TXD1 UART1CR=41 +// <38=>Uart1 : P1.1 For RXD1,P3.4 For TXD1 UART1CR=51 +// <39=>Uart1 : P1.1 For RXD1,P2.6 For TXD1 UART1CR=21 +// <40=>Uart1 : P1.1 For RXD1,P2.7 For TXD1 UART1CR=31 +// <41=>Uart1 : P3.3 For RXD1,P1.0 For TXD1 UART1CR=04 +// <42=>Uart1 : P3.3 For RXD1,P1.1 For TXD1 UART1CR=14 +// <43=>Uart1 : P3.3 For RXD1,P3.4 For TXD1 UART1CR=54 +// <44=>Uart1 : P3.3 For RXD1,P2.6 For TXD1 UART1CR=24 +// <45=>Uart1 : P3.3 For RXD1,P2.7 For TXD1 UART1CR=34 +// <46=>Uart1 : P3.4 For RXD1,P1.0 For TXD1 UART1CR=05 +// <47=>Uart1 : P3.4 For RXD1,P1.1 For TXD1 UART1CR=15 +// <48=>Uart1 : P3.4 For RXD1,P3.3 For TXD1 UART1CR=45 +// <49=>Uart1 : P3.4 For RXD1,P2.6 For TXD1 UART1CR=25 +// <50=>Uart1 : P3.4 For RXD1,P2.7 For TXD1 UART1CR=35 +// <51=>Uart1 : P2.6 For RXD1,P1.0 For TXD1 UART1CR=02 +// <52=>Uart1 : P2.6 For RXD1,P1.1 For TXD1 UART1CR=12 +// <53=>Uart1 : P2.6 For RXD1,P3.3 For TXD1 UART1CR=42 +// <54=>Uart1 : P2.6 For RXD1,P3.4 For TXD1 UART1CR=52 +// <55=>Uart1 : P2.6 For RXD1,P2.7 For TXD1 UART1CR=32 +// <56=>Uart1 : P2.7 For RXD1,P1.0 For TXD1 UART1CR=03 +// <57=>Uart1 : P2.7 For RXD1,P1.1 For TXD1 UART1CR=13 +// <58=>Uart1 : P2.7 For RXD1,P3.3 For TXD1 UART1CR=43 +// <59=>Uart1 : P2.7 For RXD1,P3.4 For TXD1 UART1CR=53 +// <60=>Uart1 : P2.7 For RXD1,P2.6 For TXD1 UART1CR=23 + +// <61=>uart2 : P2.2 For RXD2,P2.1 For TXD2 +#define UART_DEFINE 1 + +// ѡ +// <0=>9600 +// <1=>115200 +#define UART_BRT 0 + +#if UART_BRT == 0 + #define UART_BPS_H 0x7F + #define UART_BPS_L 0x64 + #define UART_BPS_F 0x04 + #elif UART_BRT == 1 + #define UART_BPS_H 0x7F + #define UART_BPS_L 0xF3 + #define UART_BPS_F 0x00 +#endif + +//*<<< end of configuration section >>> + +#if ((UART_DEFINE >= 0)&&(UART_DEFINE<= 30)) + #define UartRxEn() INSCON = 0x00; REN = 1; //UARTԽ + #define UartTxEn(TxData) INSCON = 0x00; REN = 0; SBUF = TxData; //UART +#elif ((UART_DEFINE >= 31)&&(UART_DEFINE<= 60)) + #define UartRxEn() INSCON = 0x40; REN1 = 1; INSCON = 0x00; //UARTԽ + #define UartTxEn(TxData) INSCON = 0x40; REN1 = 0; SBUF1 = TxData; INSCON = 0x00; //UART +#elif UART_DEFINE == 61 + #define UartRxEn() INSCON = 0x40; REN2 = 1; INSCON = 0x00; //UARTԽ + #define UartTxEn(TxData) INSCON = 0x40; REN2 = 0; SBUF2 = TxData; INSCON = 0x00; //UART +#endif + +#define IAP_FLG 0x5A +#define ISP_FLG 0xA5 + +#define IAP_MODE 0 +#define ISP_MODE 1 + +//for 485 communication +#define HEARD1 0x00 +#define HEARD2 0x01 +#define LENGTH 0x02 +#define SOURCE 0x03 +#define TARGET 0x04 +#define COMMAND 0x05 +#define INDEXES 0x06 +#define DATA 0x07 + +#define IAP_BMSID 0x07 //عϵͳ1 +#define IAP_PCID 0x3D //λϵͳ + +//IAP&ISP Command +#define IAP_CMD_HANDSHAKE 0x06 +#define IAP_CMD_BEGIN 0x07 +#define IAP_CMD_TRANS 0x08 +#define IAP_CMD_VERIFY 0x09 +#define IAP_CMD_RESET 0x0A + +//CMD_IAP_ACK error +#define IAPERROR_SIZE 0x01 //̼СΧ +#define IAPERROR_ERASE 0x02 //flashʧ +#define IAPERROR_WR 0x03 //дflashʧ +#define IAPERROR_UNLOCK 0x04 //δ״̬δڿɸ¹̼״̬ +#define IAPERROR_INDEX 0x05 // +#define IAPERROR_BUSY 0x06 //IAPæ +#define IAPERROR_FORM 0x07 //ݸʽ󣨷8 +#define IAPERROR_CRC 0x08 //Уʧ +#define IAPERROR_RESET 0x09 //оƬλʧ +#define IAPERROR_HANDSHAKE 0x0A //ʧ + + +#define IAPERROR_CHECKSUM 0x80 +#define IAPERROR_ADDR 0x40 +#define IAPERROR_CMD 0x30 + + +extern BOOL bIapIspFlg; +extern BOOL bHandsheakOkFlg; + +extern void BootIapIsp(void); + +#endif \ No newline at end of file diff --git a/header_bootloader/MCURegister.h b/header_bootloader/MCURegister.h new file mode 100644 index 0000000..7c31220 --- /dev/null +++ b/header_bootloader/MCURegister.h @@ -0,0 +1,428 @@ +/*-------------------------------------------------------------------------- +REG_MCU_H + +Header file for generic SH79xx series microcontroller. +Copyright (c) 1996-2014 Sionwealth Electronic and Sinowealth Software, Inc. +All rights reserved. +--------------------------------------------------------------------------*/ +#ifndef REG_MCU_H +#define REG_MCU_H + +/*-------------------------- BYTE Register --------------------------*/ +/* CPU */ +sfr ACC = 0xE0; +sfr B = 0xF0; +sfr AUXC = 0xF1; +sfr PSW = 0xD0; +sfr SP = 0x81; +sfr DPL = 0x82; +sfr DPH = 0x83; +sfr16 DPTR = 0x82; +sfr DPL1 = 0x84; +sfr DPH1 = 0x85; +sfr16 DPTR1 = 0x84; +sfr INSCON = 0x86; + +/* power */ +sfr PCON = 0x87; +sfr SUSLO = 0x8E; + +/* FLASH */ +sfr IB_OFFSET = 0xFB; +sfr IB_DATA = 0xFC; +sfr IB_CON1 = 0xF2; +sfr IB_CON2 = 0xF3; +sfr IB_CON3 = 0xF4; +sfr IB_CON4 = 0xF5; +sfr IB_CON5 = 0xF6; +sfr XPAGE = 0xF7; +sfr FLASHCON = 0xA7; + +/* WDT */ +sfr RSTSTAT = 0xB1; + +/* CLKCTRL */ +sfr CLKCON = 0xB2; + +/* INTERRUPT */ +sfr IEN0 = 0xA8; +sfr IEN1 = 0xA9; +sfr IEN2 = 0xAA; +sfr IENC = 0xBA; +sfr IPL0 = 0xB8; +sfr IPH0 = 0xB4; +sfr IPL1 = 0xB9; +sfr IPH1 = 0xB5; +sfr EXF1 = 0xD8; +sfr EXCON = 0x8B; +sfr EXF0 = 0xE8; +sfr TCON = 0x88; + +/* TWI */ +sfr TWICON = 0xC8; +sfr TWISTA = 0xD1; +sfr TWIBR = 0x8A; +sfr TWITOUT = 0xE6; +sfr TWIDAT = 0x8D; +sfr TWIADR = 0x8C; +sfr TWIAMR = 0x8F; +sfr TWTFREE = 0x89; + +/* PORT */ +sfr P0 = 0x80; +sfr P1 = 0x90; +sfr P2 = 0xA0; +sfr P3 = 0xB0; +sfr P4 = 0xC0; +sfr P5 = 0x80; //BANK1 +sfr P0CR = 0xE1; +sfr P1CR = 0xE2; +sfr P2CR = 0xE3; +sfr P3CR = 0xE4; +sfr P4CR = 0xE5; +sfr P5CR = 0x8A; //BANK1 +sfr P0PCR = 0xE9; +sfr P1PCR = 0xEA; +sfr P2PCR = 0xEB; +sfr P3PCR = 0xEC; +sfr P4PCR = 0xED; +sfr P5PCR = 0x8B; //BANK1 +sfr PIMS0 = 0xD2; +sfr PIMS1 = 0xD9; +sfr PIMS2 = 0xDB; + +/* TIMER */ +sfr T3CON = 0x88; //BANK1 +sfr TL3 = 0x8C; //BANK1 +sfr TH3 = 0x8D; //BANK1 +sfr16 T3_16 = 0x8C; //BANK1 + +/* EUART */ +sfr SCON = 0x98; +sfr SBUF = 0x99; +sfr SADEN = 0x9B; +sfr SADDR = 0x9A; +sfr SBRTL = 0x9C; +sfr SBRTH = 0x9D; +sfr16 SBRT_16 = 0x9C; +sfr SFINE = 0x9E; +sfr SCON1 = 0xA0; //BANK1 +sfr SBUF1 = 0xA1; //BANK1 +sfr SADEN1 = 0xA3; //BANK1 +sfr SADDR1 = 0xA2; //BANK1 +sfr SBRTL1 = 0xA4; //BANK1 +sfr SBRTH1 = 0xA5; //BANK1 +sfr16 SBRT1_16 = 0xA4; //BANK1 +sfr SFINE1 = 0xA6; //BANK1 +sfr PCON1 = 0xA7; //BANK1 +sfr SCON2 = 0x90; //BANK1 +sfr SBUF2 = 0x91; //BANK1 +sfr SADEN2 = 0x93; //BANK1 +sfr SADDR2 = 0x92; //BANK1 +sfr SBRTL2 = 0x94; //BANK1 +sfr SBRTH2 = 0x95; //BANK1 +sfr16 SBRT2_16 = 0x94; //BANK1 +sfr SFINE2 = 0x96; //BANK1 +sfr PCON2 = 0x97; //BANK1 + +/* SPI */ +sfr SPCON = 0xA2; +sfr SPSTA = 0xF8; +sfr SPDAT = 0xA3; + +/* ADC */ +sfr ADCON1 = 0x93; +sfr ADCON2 = 0x92; +sfr SEQCON = 0x91; +sfr SEQCHx = 0x9F; +sfr ADDxL = 0x96; +sfr ADDxH = 0x97; +sfr16 ADDx_16 = 0x96; +sfr ADCH1 = 0x95; +sfr ADCH2 = 0xA6; +sfr ADT = 0x94; + +/* PWM */ +sfr PWM0CON = 0xC7; +sfr PWM1CON = 0xB6; +sfr PWM2CON = 0xB7; +sfr PWM0PH = 0xCD; +sfr PWM0PL = 0xCC; +sfr16 PWM0P_16 = 0xCC; +sfr PWM1PH = 0xAF; +sfr PWM1PL = 0xAE; +sfr16 PWM1P_16 = 0xAE; +sfr PWM2PH = 0xBD; +sfr PWM2PL = 0xBC; +sfr16 PWM2P_16 = 0xBC; +sfr PWM0DH = 0xCF; +sfr PWM0DL = 0xCE; +sfr16 PWM0D_16 = 0xCE; +sfr PWM1DH = 0xA5; +sfr PWM1DL = 0xA4; +sfr16 PWM1D_16 = 0xA4; +sfr PWM2DH = 0xBF; +sfr PWM2DL = 0xBE; +sfr16 PWM2D_16 = 0xBE; + +/* PCA */ +sfr P0CF = 0x98; //BANK1 +sfr P0CMD = 0x99; //BANK1 +sfr P0CPM0 = 0x9A; //BANK1 +sfr P0CPM1 = 0x9B; //BANK1 +sfr P0TOPL = 0x9E; //BANK1 +sfr P0TOPH = 0x9F; //BANK1 +sfr16 P0TOP_16 = 0x9E; //BANK1 +sfr P0CPL0 = 0x9C; //BANK1 +sfr P0CPH0 = 0x9D; //BANK1 +sfr16 P0CP0_16 = 0x9C; //BANK1 +sfr P0CPL1 = 0xD4; //BANK1 +sfr P0CPH1 = 0xD5; //BANK1 +sfr16 P0CP1_16 = 0xD4; //BANK1 +sfr PCACON = 0xD8; //BANK1 +sfr P0FORCE = 0xDC; //BANK1 +sfr P1CF = 0xC0; //BANK1 +sfr P1CMD = 0xC1; //BANK1 +sfr P1CPM0 = 0xC2; //BANK1 +sfr P1CPM1 = 0xC3; //BANK1 +sfr P1TOPL = 0xC6; //BANK1 +sfr P1TOPH = 0xC7; //BANK1 +sfr16 P1TOP_16 = 0xC6; //BANK1 +sfr P1CPL0 = 0xC4; //BANK1 +sfr P1CPH0 = 0xC5; //BANK1 +sfr16 P1CP0_16 = 0xC4; //BANK1 +sfr P1CPL1 = 0xE4; //BANK1 +sfr P1CPH1 = 0xE5; //BANK1 +sfr16 P1CP1_16 = 0xE4; //BANK1 +sfr P1FORCE = 0xEC; //BANK1 +sfr P2CF = 0xC8; //BANK1 +sfr P2CMD = 0xC9; //BANK1 +sfr P2CPM0 = 0xCA; //BANK1 +sfr P2CPM1 = 0xCB; //BANK1 +sfr P2TOPL = 0xCE; //BANK1 +sfr P2TOPH = 0xCF; //BANK1 +sfr16 P2TOP_16 = 0xCE; //BANK1 +sfr P2CPL0 = 0xCC; //BANK1 +sfr P2CPH0 = 0xCD; //BANK1 +sfr16 P2CP0_16 = 0xCC; //BANK1 +sfr P2CPL1 = 0xF4; //BANK1 +sfr P2CPH1 = 0xF5; //BANK1 +sfr16 P2CP1_16 = 0xF4; //BANK1 +sfr P2FORCE = 0xFC; //BANK1 + +/* LPD*/ +sfr LPDCON = 0xB3; +sfr LPDSEL = 0xBB; + +/* CRC */ +sfr CRCCON = 0xC1; +sfr CRCDH = 0xC3; +sfr CRCDL = 0xC2; +sfr16 CRCD_16 = 0xC2; +sfr CRCSTAL = 0xD4; +sfr CRCSTAH = 0xD5; +sfr16 CRCSTA_16 = 0xD4; +sfr CRCSTOL = 0xDC; +sfr CRCSTOH = 0xDD; +sfr16 CRCSTO_16 = 0xDC; + +/* LCM */ +sfr UART0CR = 0xC4; +sfr UART1CR = 0xC5; +sfr TWICR = 0xC6; +sfr PWMCR = 0xCA; +sfr CEXCR = 0xCB; +sfr ECICR = 0xC9; + +/*-------------------------- BIT Register --------------------------*/ +/* SPSTA */ +sbit SPEN = 0xFF; +sbit SPIF = 0xFE; +sbit MODF = 0xFD; +sbit WCOL = 0xFC; +sbit RXOV = 0xFB; + +/* B */ + +/* EXF0 */ +sbit IT41 = 0xEF; +sbit IT40 = 0xEE; +sbit IT31 = 0xED; +sbit IT30 = 0xEC; +sbit IT21 = 0xEB; +sbit IT20 = 0xEA; +sbit IE3 = 0xE9; +sbit IE2 = 0xE8; +/* ACC */ + +/* EXF1 */ +sbit IF47 = 0xDF; +sbit IF46 = 0xDE; +sbit IF45 = 0xDD; +sbit IF44 = 0xDC; +sbit IF43 = 0xDB; +sbit IF42 = 0xDA; +sbit IF41 = 0xD9; +sbit IF40 = 0xD8; + +/* PSW */ +sbit CY = 0xD7; +sbit AC = 0xD6; +sbit F0 = 0xD5; +sbit RS1 = 0xD4; +sbit RS0 = 0xD3; +sbit OV = 0xD2; +sbit F1 = 0xD1; +sbit P = 0xD0; + +/*TWICON*/ +sbit TOUT = 0xCF; +sbit ENTWI = 0xCE; +sbit STA = 0xCD; +sbit STO = 0xCC; +sbit TWINT = 0xCB; +sbit AA = 0xCA; +sbit TFREE = 0xC9; +sbit EFREE = 0xC8; + +/* P5 */ +sbit P5_0 = P5^0; //BANK1 +sbit P5_1 = P5^1; //BANK1 + + +/* P4 */ +sbit P4_0 = P4^0; +sbit P4_1 = P4^1; +sbit P4_2 = P4^2; +sbit P4_3 = P4^3; +sbit P4_4 = P4^4; +sbit P4_5 = P4^5; +sbit P4_6 = P4^6; +sbit P4_7 = P4^7; + +/* IPL0 */ +sbit PINTL = 0xBF; +sbit PADCL = 0xBE; +sbit PT3L = 0xBD; +sbit PS0L = 0xBC; +sbit PCF1L = 0xBB; +sbit PX1L = 0xBA; +sbit PCF0L = 0xB9; +sbit PX0L = 0xB8; + +/* P3 */ +sbit P3_0 = P3^0; +sbit P3_1 = P3^1; +sbit P3_2 = P3^2; +sbit P3_3 = P3^3; +sbit P3_4 = P3^4; +sbit P3_5 = P3^5; +sbit P3_6 = P3^6; +sbit P3_7 = P3^7; + +/* IEN0 */ +sbit EA = 0xAF; +sbit EADC = 0xAE; +sbit ET3 = 0xAD; +sbit ES0 = 0xAC; +sbit EPCA1 = 0xAB; +sbit EX1 = 0xAA; +sbit EPCA0 = 0xA9; +sbit EX0 = 0xA8; + +/* P2 */ +sbit P2_0 = P2^0; +sbit P2_1 = P2^1; +sbit P2_2 = P2^2; +sbit P2_3 = P2^3; +sbit P2_4 = P2^4; +sbit P2_5 = P2^5; +sbit P2_6 = P2^6; +sbit P2_7 = P2^7; + +/* SCON */ +sbit SM0_FE = 0x9F; +sbit SM1_RXOV = 0x9E; +sbit SM2_TXCOL = 0x9D; +sbit REN = 0x9C; +sbit TB8 = 0x9B; +sbit RB8 = 0x9A; +sbit TI = 0x99; +sbit RI = 0x98; + +/* P1 */ +sbit P1_0 = P1^0; +sbit P1_1 = P1^1; +sbit P1_2 = P1^2; +sbit P1_3 = P1^3; +sbit P1_4 = P1^4; +sbit P1_5 = P1^5; +sbit P1_6 = P1^6; +sbit P1_7 = P1^7; + +/* TCON */ + +sbit IE1 = 0x8B; +sbit IT1 = 0x8A; +sbit IE0 = 0x89; +sbit IT0 = 0x88; + +/* P0 */ +sbit P0_0 = P0^0; +sbit P0_1 = P0^1; +sbit P0_2 = P0^2; +sbit P0_3 = P0^3; +sbit P0_4 = P0^4; +sbit P0_5 = P0^5; +sbit P0_6 = P0^6; +sbit P0_7 = P0^7; + +/* PCACON */ +sbit PR2 = 0xDA; //BANK1 +sbit PR1 = 0xD9; //BANK1 +sbit PR0 = 0xD8; //BANK1 + +/* P2CF */ +sbit CF2 = 0xCF; //BANK1 +sbit P2CCF1 = 0xC9; //BANK1 +sbit P2CCF0 = 0xC8; //BANK1 + +/* P1CF */ +sbit CF1 = 0xC7; //BANK1 +sbit P1CCF1 = 0xC1; //BANK1 +sbit P1CCF0 = 0xC0; //BANK1 + +/* SCON1 */ +sbit SM10_FE1 = 0xA7; //BANK1 +sbit SM11_RXOV1 = 0xA6; //BANK1 +sbit SM12_TXCOL1 = 0xA5; //BANK1 +sbit REN1 = 0xA4; //BANK1 +sbit TB81 = 0xA3; //BANK1 +sbit RB81 = 0xA2; //BANK1 +sbit TI1 = 0xA1; //BANK1 +sbit RI1 = 0xA0; //BANK1 + +/* P0CF */ +sbit CF0 = 0x9F; //BANK1 +sbit P0CCF1 = 0x99; //BANK1 +sbit P0CCF0 = 0x98; //BANK1 + +/* SCON2 */ +sbit SM20_FE2 = 0x97; //BANK1 +sbit SM21_RXOV2 = 0x96; //BANK1 +sbit SM22_TXCOL2 = 0x95; //BANK1 +sbit REN2 = 0x94; //BANK1 +sbit TB82 = 0x93; //BANK1 +sbit RB82 = 0x92; //BANK1 +sbit TI2 = 0x91; //BANK1 +sbit RI2 = 0x90; //BANK1 + +/* T3CON */ +sbit TF3 = 0x8F; //BANK1 +sbit T3PS1 = 0x8D; //BANK1 +sbit T3PS0 = 0x8C; //BANK1 +sbit TR3 = 0x8A; //BANK1 +sbit T3CLKS1 = 0x89; //BANK1 +sbit T3CLKS0 = 0x88; //BANK1 + +#endif diff --git a/header_drv/Afe.h b/header_drv/Afe.h new file mode 100644 index 0000000..6cee382 --- /dev/null +++ b/header_drv/Afe.h @@ -0,0 +1,156 @@ +#ifndef __AFE_H +#define __AFE_H + +#define AFE_ID (0x1B<<1) + + + +//Define AFE register addr +#define AFE_FLAG1 0x00 +#define AFE_FLAG2 0x01 +#define AFE_BSTATUS 0x02 +#define AFE_INT_EN 0x03 +#define AFE_SCONF1 0x04 +#define AFE_SCONF2 0x05 +#define AFE_SCONF3 0x06 +#define AFE_SCONF4 0x07 +#define AFE_SCONF5 0x08 +#define AFE_SCONF6 0x09 +#define AFE_SCONF7 0x0A +#define AFE_SCONF8 0x0B +#define AFE_SCONF9 0x0C +#define AFE_SCONF10 0x0D + +#define AFE_CELL1H 0x0E +#define AFE_CELL1L 0x0F +#define AFE_CELL2H 0x10 +#define AFE_CELL2L 0x11 +#define AFE_CELL3H 0x12 +#define AFE_CELL3L 0x13 +#define AFE_CELL4H 0x14 +#define AFE_CELL4L 0x15 +#define AFE_CELL5H 0x16 +#define AFE_CELL5L 0x17 +#define AFE_CELL6H 0x18 +#define AFE_CELL6L 0x19 +#define AFE_CELL7H 0x1A +#define AFE_CELL7L 0x1B +#define AFE_CELL8H 0x1C +#define AFE_CELL8L 0x1D +#define AFE_CELL9H 0x1E +#define AFE_CELL9L 0x1F +#define AFE_CELL10H 0x20 +#define AFE_CELL10L 0x21 +#define AFE_TS1H 0x22 +#define AFE_TS1L 0x23 +#define AFE_TS2H 0x24 +#define AFE_TS2L 0x25 +#define AFE_TEMP1H 0x26 +#define AFE_TEMP1L 0x27 +#define AFE_TEMP2H 0x28 +#define AFE_TEMP2L 0x29 +#define AFE_CURH 0x2A +#define AFE_CURL 0x2B + +#define AFE_ALARM_SC 0x40 +#define AFE_ALARM_OV 0x20 +#define AFE_ALARM_CD 0x10 +#define AFE_ALARM_CADC 0x08 +#define AFE_ALARM_VADC 0x04 +#define AFE_ALARM_WDT 0x02 +#define AFE_ALARM_TWI 0x01 + +typedef struct _SYSINFOR_ //data for up-computer monitor +{ + U16 uiPackStatus; //packstatus include + U16 uiBatStatus; + U16 uiVCell[10]; + U16 ulVoltage; + S32 slCurr; + U16 uiTS[2]; + U16 uiICTempe[2]; + U32 ulFCC; + U32 ulRC; + U16 uiRSOC; + U16 uiCycleCount; + U16 uiPackConfig; + U16 uiManuCommand; +}SYSINFOR; +extern SYSINFOR xdata Info; + +typedef struct _AFEDATA_ //data get form AFE +{ + U16 uiCell[10]; + U16 uiTS[2]; //TS1 is external tempe + U16 uiICTempe[2]; //DieTempe + S16 siCurr; +}AFEDATA; +extern AFEDATA xdata AFE; //AFEĴȡֵ + +typedef struct _AFEREG_ //data for AFE set in init +{ + U8 AFEFLAG1; + U8 AFEFLAG2; + U8 AFEBSTATUS; + U8 AFEINTEN; + U8 AFESCONF1; + U8 AFESCONF2; + U8 AFESCONF3; + U8 AFESCONF4; + U8 AFESCONF5; + U8 AFESCONF6; + U8 AFESCONF7; + U8 AFESCONF8; + U8 AFESCONF9; + U8 AFESCONF10; +}AFEREG; +extern AFEREG xdata REG; //AFEĴԤֵ + + +//AFEصı +extern BOOL bAfeAlarmFlg; +extern BOOL bCADCFlg; +extern BOOL bVADCFlg; +extern BOOL bAfeI2CRWErrFlg; +extern BOOL bAfeErr; +extern U8 data ucCellNum; //ǰӲо +extern U8 data ucCellNumOffset; //ǰӲоӷʽӦƫƣڳȡAFEӦĴ +extern U16 data uiCellVmax; //оѹֵ +extern U16 data uiCellVmin; //оѹСֵ +extern U16 xdata uiVadcVmax; //ADCɼֵ +extern U16 xdata uiVadcVmin; //ADCɼСֵ +extern U8 xdata ucTempeMiddle; +extern U16 xdata uiTempeMin; +extern U16 xdata uiTempeMax; +extern S32 xdata slCadcCurrent; +extern S32 xdata slCadcCurAverage; +extern U8 xdata ucCadcCnt; +extern S32 xdata slCadcCurBuf[16]; +extern U8 xdata ucAfeI2CErrDelayCnt; + + + +extern BOOL AFEWriteReg(U8 Reg, U8 Length, U8 xdata *WrBuf); +extern BOOL AFEReadReg(U8 Reg, U8 Length, U8 xdata *RdBuf); +extern BOOL AFEInit(void); +extern void AFERdFlg(void); +extern void AFEClrFlg(void); +extern void AFERamCheck(void); +extern void AFEInitReg(void); +extern void AFEMosCtl(U8 MosStatus); +extern void AFEEnterPD(void); +extern void AFERdStatus(void); +extern void AFEChgerCheckEn(void); +extern void AFEChgerCheckDis(void); +extern void AFELoadCheckEn(void); +extern void AFELoadCheckDis(void); +extern void AfeBalCtl(U16 BalChTemp); +extern void AfeWDTEn(void); +extern void AfeWDTDis(void); +extern void AfeTempADCEn(void); +extern void AfeTempADCDis(void); +extern void AFETwiCheck(void); +extern void AfeAlarmEn(U8 AlarmFlg); +extern void AfeAlarmDis(U8 AlarmFlg); + +#endif \ No newline at end of file diff --git a/header_drv/Balance.h b/header_drv/Balance.h new file mode 100644 index 0000000..313a9ea --- /dev/null +++ b/header_drv/Balance.h @@ -0,0 +1,30 @@ +#ifndef __BALANCE_H +#define __BALANCE_H + + +#define BALANCE_ENABLE 1 +#define BALANCE_START 2 +#define BALANCING 3 +#define BALANCE_DISABLE 4 +#define BALANCE_NULL 5 +#define BAL_DELAY_CNT (E2ucBalanceDelay*10) + +#define VOL_CELL_CUT_1200MV 1200 +#define VOL_CELL_CUT_180MV 180 +#define VOL_CELL_CUT_1380MV (VOL_CELL_CUT_1200MV+VOL_CELL_CUT_180MV) + + +extern BOOL bBalanceFlg; +extern BOOL bBalancingFlg; +extern BOOL bBalanceOddFlg; +extern BOOL bCTOValidFlg; //оѹ1200mVʱΪڶߣҪоѹ2V +extern BOOL bCellOpenDecFlag; +extern U16 xdata uiBalanceChannel; +extern U8 xdata ucBalanceTimeCnt; +extern U8 xdata ucBalanceStep; +extern U8 xdata ucCellOpenDecCnt; +extern U8 xdata ucCtoCnt; + +extern void BalanceProcess(void); + +#endif \ No newline at end of file diff --git a/header_drv/Calculate.h b/header_drv/Calculate.h new file mode 100644 index 0000000..d3a5814 --- /dev/null +++ b/header_drv/Calculate.h @@ -0,0 +1,37 @@ +#ifndef __CALCULATE_H +#define __CALCULATE_H + + +#if (AFE_ID == 0x34) +#define REF_RES_VAL (680 + 5*ucMTPBuffer[25]) //resistance = (680 + 5*TR[6~0])*10, The unit is 10 ohms +#else +#define REF_RES_VAL 1000 //оƬڲIJοĬΪ10K=1000*10, λ10 ohms +#endif + +#define NTC_103AT_3435 1 +#define NTC_103AT_3950 0 + +#define RT_TABLE NTC_103AT_3435 + +#if RT_TABLE == NTC_103AT_3435 +#define NTC103AT_ARRAY_LEN 161 +#define TEMP_UPPER_LIMIT 110 // 110 +#define TEMP_LOWER_LIMIT -50 // -50 +#elif RT_TABLE == NTC_103AT_3950 +#define NTC103AT_ARRAY_LEN 161 +#define TEMP_UPPER_LIMIT 110 // 110 +#define TEMP_LOWER_LIMIT -50 // -50 +#else + #error "underfined RT_TABLE!" +#endif + +extern U16 code NTC103AT[NTC103AT_ARRAY_LEN]; +extern U8 xdata ucChgingCheckCnt; +extern U8 xdata ucDsgingCheckCnt; + +extern void AfeCalcuVol(void); +extern void AfeCalcuTempe(void); +extern void AFEInfoProcess(void); +extern U16 CalcuTemp(U16 getdata); + +#endif \ No newline at end of file diff --git a/header_drv/Calibrate.h b/header_drv/Calibrate.h new file mode 100644 index 0000000..aaa2782 --- /dev/null +++ b/header_drv/Calibrate.h @@ -0,0 +1,19 @@ +#ifndef __CALIBRATE_H +#define __CALIBRATE_H + +#define CALIPACKVOL 3800 +#define CALIVOL 3800 +#define CALICUR -1000 + +extern BOOL bCaliFlg; //λУ׼λñ־ +extern U16 xdata ulExtVPack; +extern S32 xdata slExtCur; +extern U16 xdata uiExtTemp1; +extern U16 xdata uiExtTemp2; +extern U8 xdata ucExtRTC[]; +extern U8 xdata ucExtcaliSwitch1; + +extern void CaliProcess(void); + + +#endif \ No newline at end of file diff --git a/header_drv/ChargerLoad.h b/header_drv/ChargerLoad.h new file mode 100644 index 0000000..4ecc91e --- /dev/null +++ b/header_drv/ChargerLoad.h @@ -0,0 +1,19 @@ +#ifndef __CHARGE_LOAD_H +#define __CHARGE_LOAD_H + +#define CHGER_DELAY_CNT (E2ucLoadRDelay*2) +#define LOAD_DELAY_CNT (E2ucLoadRDelay*2) + + +extern BOOL bChgerStartCheckFlg; +extern BOOL bChgerChkingFlg; +extern BOOL bLoadStartCheckFlg; +extern BOOL bLoadChkingFlg; + +extern U8 xdata ucChgerRCnt; +extern U8 xdata ucLoadRCnt; + +extern void LoadCheck(void); +extern void ChgerCheck(void); + +#endif \ No newline at end of file diff --git a/header_drv/ExtE2PRom.h b/header_drv/ExtE2PRom.h new file mode 100644 index 0000000..772f41f --- /dev/null +++ b/header_drv/ExtE2PRom.h @@ -0,0 +1,46 @@ +#ifndef __EXT_E2PROM_H +#define __EXT_E2PROM_H + +#define E2PROM_ID 0xA0 + +#define E2PROM_SIZE 0x10000 +#define E2PROM_BOOT_ADDR 0x10000-0x20 +#define E2PROM_RTC_ADDR 0x10000-0x10 + +#define E2PROM_BKTYPE_CHG_START 0x10 +#define E2PROM_BKTYPE_CHG_END 0x01 +#define E2PROM_BKTYPE_DSG_END 0x02 + +extern BOOL bE2PProcessFlg; //EEPROM־ +extern BOOL bE2PBKDsgEnd; //ŵ־ҪϢEEPROM +extern BOOL bE2PBKDsgEndValid; +extern BOOL bE2PBKChgStop; //־ҪϢEEPROM +extern BOOL bE2PBKChgStart; //翪ʼ־ҪϢEEPROM +extern BOOL bE2PBKRtc; //RTCʱݱ־ҪϢEEPROM +extern BOOL bE2PErase; //EEPROM־ +extern U8 xdata bUart0E2PRdData; //ȡEEPROM־ +extern U8 xdata bUart1E2PRdData; //ȡEEPROM־ +extern U8 xdata bUart2E2PRdData; //ȡEEPROM־ +extern BOOL bE2PRErr; //EEPROMʴ󣬵д5Sλñ־ +extern BOOL bE2PTwiRWErrFlg; //EEPROMдδ +extern U8 xdata bUart0RTCRdTime; //ȡRTCʱ־ +extern U8 xdata bUart1RTCRdTime; //ȡRTCʱ־ +extern U8 xdata bUart2RTCRdTime; //ȡRTCʱ־ +extern BOOL bDsgToChgFlg; //ŵתΪ磬Ҫ +extern BOOL bChgToDsgFlg; //תΪŵ磬Ҫ +extern U16 xdata uiE2PDataAddr; +extern U8 xdata ucE2PTwiRWErrDelayCnt; +extern U8 xdata ucRTCBKTime1; +extern U16 xdata uiRTCBKTime2; +extern U8 idata ucUpDataLimitTime; +extern U16 xdata uiCHGValidTime; +extern U8 xdata ucRTCBuf[7]; + + +extern BOOL E2PRomRead(U16 RdAddr, U8 Length, U8 xdata *RdBuf); +extern BOOL E2PRomInit(void); +extern void E2PRomBKProcess(void); +extern void E2PRomBKCheck(void); +extern void E2PRomTwiCheck(void); + +#endif \ No newline at end of file diff --git a/header_drv/ISP.h b/header_drv/ISP.h new file mode 100644 index 0000000..9056641 --- /dev/null +++ b/header_drv/ISP.h @@ -0,0 +1,41 @@ +#ifndef __ISP_H +#define __ISP_H + + +#define STATE_OK 0x5a +#define STATE_ERROR 0xff + +#define UART_ERASE 0xfe +#define UART_PROGRAM 0xfd +#define UART_BLANK_CHECK 0xfc +#define UART_CHECKSUM_CHECK 0xfb +#define UART_READ 0xfa +#define UART_READ4B 0xf9 +#define UART_SOFT_RESET 0xf8 + +#define CODE_SECTOR 1 //512Bytes +#define CODE_SIZE 122 //64KBytes = 512byte*1282KbyteISPԤ4K EEPROM + +#define E2P_SECTOR 1 //512Bytes(EEPROM One Sector SizeλΪ512Bytes) +#define E2P_SIZE 8 //8KBytes(EEPROM all Sector SizeλΪ512Bytes) + +#define PROGRAM_LENGTH 64 + + + + + +extern U8 xdata ucUartBuf[]; +extern U8 xdata ucUartBufPT; +extern U8 xdata ucUartSndLength; + + + + +//extern void ISPProcess(void); + + + + + +#endif \ No newline at end of file diff --git a/header_drv/Interrupt.h b/header_drv/Interrupt.h new file mode 100644 index 0000000..121e41a --- /dev/null +++ b/header_drv/Interrupt.h @@ -0,0 +1,7 @@ +#ifndef __INTERRUPT_H +#define __INTERRUPT_H + + + + +#endif \ No newline at end of file diff --git a/header_drv/KeyScan.h b/header_drv/KeyScan.h new file mode 100644 index 0000000..cba88b0 --- /dev/null +++ b/header_drv/KeyScan.h @@ -0,0 +1,69 @@ +#ifndef __KEY_SCAN_H +#define __KEY_SCAN_H + +//#define KEY_NUM1_DEF //֧һ +#define KEY_NUM2_DEF //֧ +//#define KEY_NUM3_DEF //֧ + + +#define IO_KEY_ON P2_7 +#define IO_KEY_LED P3_0 + + +#ifdef KEY_NUM1_DEF //֧һ +#define KEY_1_IO_RD IO_KEY_ON +#endif + +#ifdef KEY_NUM2_DEF //֧ +#define KEY_1_IO_RD IO_KEY_ON +#define KEY_2_IO_RD IO_KEY_LED +#endif + +#ifdef KEY_NUM3_DEF //֧ +#define KEY_1_IO_RD IO_KEY_ON +#define KEY_2_IO_RD IO_KEY_LED +#define KEY_3_IO_RD IO_KEY_LED //ûԶ +#endif + + +#define KEY_ON_S 0x01 //һ +#define KEY_ON_L 0x11 +#define KEY_ON_LC 0x21 +#define KEY_ON_LE 0x41 + +#define KEY_LED_S 0x02 //ڶ +#define KEY_LED_L 0x12 +#define KEY_LED_LC 0x22 +#define KEY_LED_LE 0x42 + +#define KEY_3_S 0x03 //Ԥ +#define KEY_3_L 0x13 +#define KEY_3_LC 0x23 +#define KEY_3_LE 0x43 + +#define KEYVAL_1 0x01 +#define KEYVAL_2 0x02 +#define KEYVAL_3 0x03 +#define KEYVAL_NULL 0x0F + +#define KEY_STATE_S 0x00 +#define KEY_STATE_L 0x10 +#define KEY_STATE_LC 0x20 +#define KEY_STATE_LE 0x40 + +#define KEY_S_TIME 10 //(2+1)*5ms +#define KEY_L_TIME 400 //400*5ms +#define KEY_LC_TIME 1200 //1200*5ms + + + +extern BOOL bKeyFlg; +extern U16 data uiKeyValidCnt; +extern U16 data uiKeyInvalidCnt; +extern U8 data ucKeyValue; +extern U8 data ucKeyOldValue; +extern U8 data ucKeyValueBK; + +extern void KeyScan(void); + +#endif \ No newline at end of file diff --git a/header_drv/MCURegister.h b/header_drv/MCURegister.h new file mode 100644 index 0000000..7c31220 --- /dev/null +++ b/header_drv/MCURegister.h @@ -0,0 +1,428 @@ +/*-------------------------------------------------------------------------- +REG_MCU_H + +Header file for generic SH79xx series microcontroller. +Copyright (c) 1996-2014 Sionwealth Electronic and Sinowealth Software, Inc. +All rights reserved. +--------------------------------------------------------------------------*/ +#ifndef REG_MCU_H +#define REG_MCU_H + +/*-------------------------- BYTE Register --------------------------*/ +/* CPU */ +sfr ACC = 0xE0; +sfr B = 0xF0; +sfr AUXC = 0xF1; +sfr PSW = 0xD0; +sfr SP = 0x81; +sfr DPL = 0x82; +sfr DPH = 0x83; +sfr16 DPTR = 0x82; +sfr DPL1 = 0x84; +sfr DPH1 = 0x85; +sfr16 DPTR1 = 0x84; +sfr INSCON = 0x86; + +/* power */ +sfr PCON = 0x87; +sfr SUSLO = 0x8E; + +/* FLASH */ +sfr IB_OFFSET = 0xFB; +sfr IB_DATA = 0xFC; +sfr IB_CON1 = 0xF2; +sfr IB_CON2 = 0xF3; +sfr IB_CON3 = 0xF4; +sfr IB_CON4 = 0xF5; +sfr IB_CON5 = 0xF6; +sfr XPAGE = 0xF7; +sfr FLASHCON = 0xA7; + +/* WDT */ +sfr RSTSTAT = 0xB1; + +/* CLKCTRL */ +sfr CLKCON = 0xB2; + +/* INTERRUPT */ +sfr IEN0 = 0xA8; +sfr IEN1 = 0xA9; +sfr IEN2 = 0xAA; +sfr IENC = 0xBA; +sfr IPL0 = 0xB8; +sfr IPH0 = 0xB4; +sfr IPL1 = 0xB9; +sfr IPH1 = 0xB5; +sfr EXF1 = 0xD8; +sfr EXCON = 0x8B; +sfr EXF0 = 0xE8; +sfr TCON = 0x88; + +/* TWI */ +sfr TWICON = 0xC8; +sfr TWISTA = 0xD1; +sfr TWIBR = 0x8A; +sfr TWITOUT = 0xE6; +sfr TWIDAT = 0x8D; +sfr TWIADR = 0x8C; +sfr TWIAMR = 0x8F; +sfr TWTFREE = 0x89; + +/* PORT */ +sfr P0 = 0x80; +sfr P1 = 0x90; +sfr P2 = 0xA0; +sfr P3 = 0xB0; +sfr P4 = 0xC0; +sfr P5 = 0x80; //BANK1 +sfr P0CR = 0xE1; +sfr P1CR = 0xE2; +sfr P2CR = 0xE3; +sfr P3CR = 0xE4; +sfr P4CR = 0xE5; +sfr P5CR = 0x8A; //BANK1 +sfr P0PCR = 0xE9; +sfr P1PCR = 0xEA; +sfr P2PCR = 0xEB; +sfr P3PCR = 0xEC; +sfr P4PCR = 0xED; +sfr P5PCR = 0x8B; //BANK1 +sfr PIMS0 = 0xD2; +sfr PIMS1 = 0xD9; +sfr PIMS2 = 0xDB; + +/* TIMER */ +sfr T3CON = 0x88; //BANK1 +sfr TL3 = 0x8C; //BANK1 +sfr TH3 = 0x8D; //BANK1 +sfr16 T3_16 = 0x8C; //BANK1 + +/* EUART */ +sfr SCON = 0x98; +sfr SBUF = 0x99; +sfr SADEN = 0x9B; +sfr SADDR = 0x9A; +sfr SBRTL = 0x9C; +sfr SBRTH = 0x9D; +sfr16 SBRT_16 = 0x9C; +sfr SFINE = 0x9E; +sfr SCON1 = 0xA0; //BANK1 +sfr SBUF1 = 0xA1; //BANK1 +sfr SADEN1 = 0xA3; //BANK1 +sfr SADDR1 = 0xA2; //BANK1 +sfr SBRTL1 = 0xA4; //BANK1 +sfr SBRTH1 = 0xA5; //BANK1 +sfr16 SBRT1_16 = 0xA4; //BANK1 +sfr SFINE1 = 0xA6; //BANK1 +sfr PCON1 = 0xA7; //BANK1 +sfr SCON2 = 0x90; //BANK1 +sfr SBUF2 = 0x91; //BANK1 +sfr SADEN2 = 0x93; //BANK1 +sfr SADDR2 = 0x92; //BANK1 +sfr SBRTL2 = 0x94; //BANK1 +sfr SBRTH2 = 0x95; //BANK1 +sfr16 SBRT2_16 = 0x94; //BANK1 +sfr SFINE2 = 0x96; //BANK1 +sfr PCON2 = 0x97; //BANK1 + +/* SPI */ +sfr SPCON = 0xA2; +sfr SPSTA = 0xF8; +sfr SPDAT = 0xA3; + +/* ADC */ +sfr ADCON1 = 0x93; +sfr ADCON2 = 0x92; +sfr SEQCON = 0x91; +sfr SEQCHx = 0x9F; +sfr ADDxL = 0x96; +sfr ADDxH = 0x97; +sfr16 ADDx_16 = 0x96; +sfr ADCH1 = 0x95; +sfr ADCH2 = 0xA6; +sfr ADT = 0x94; + +/* PWM */ +sfr PWM0CON = 0xC7; +sfr PWM1CON = 0xB6; +sfr PWM2CON = 0xB7; +sfr PWM0PH = 0xCD; +sfr PWM0PL = 0xCC; +sfr16 PWM0P_16 = 0xCC; +sfr PWM1PH = 0xAF; +sfr PWM1PL = 0xAE; +sfr16 PWM1P_16 = 0xAE; +sfr PWM2PH = 0xBD; +sfr PWM2PL = 0xBC; +sfr16 PWM2P_16 = 0xBC; +sfr PWM0DH = 0xCF; +sfr PWM0DL = 0xCE; +sfr16 PWM0D_16 = 0xCE; +sfr PWM1DH = 0xA5; +sfr PWM1DL = 0xA4; +sfr16 PWM1D_16 = 0xA4; +sfr PWM2DH = 0xBF; +sfr PWM2DL = 0xBE; +sfr16 PWM2D_16 = 0xBE; + +/* PCA */ +sfr P0CF = 0x98; //BANK1 +sfr P0CMD = 0x99; //BANK1 +sfr P0CPM0 = 0x9A; //BANK1 +sfr P0CPM1 = 0x9B; //BANK1 +sfr P0TOPL = 0x9E; //BANK1 +sfr P0TOPH = 0x9F; //BANK1 +sfr16 P0TOP_16 = 0x9E; //BANK1 +sfr P0CPL0 = 0x9C; //BANK1 +sfr P0CPH0 = 0x9D; //BANK1 +sfr16 P0CP0_16 = 0x9C; //BANK1 +sfr P0CPL1 = 0xD4; //BANK1 +sfr P0CPH1 = 0xD5; //BANK1 +sfr16 P0CP1_16 = 0xD4; //BANK1 +sfr PCACON = 0xD8; //BANK1 +sfr P0FORCE = 0xDC; //BANK1 +sfr P1CF = 0xC0; //BANK1 +sfr P1CMD = 0xC1; //BANK1 +sfr P1CPM0 = 0xC2; //BANK1 +sfr P1CPM1 = 0xC3; //BANK1 +sfr P1TOPL = 0xC6; //BANK1 +sfr P1TOPH = 0xC7; //BANK1 +sfr16 P1TOP_16 = 0xC6; //BANK1 +sfr P1CPL0 = 0xC4; //BANK1 +sfr P1CPH0 = 0xC5; //BANK1 +sfr16 P1CP0_16 = 0xC4; //BANK1 +sfr P1CPL1 = 0xE4; //BANK1 +sfr P1CPH1 = 0xE5; //BANK1 +sfr16 P1CP1_16 = 0xE4; //BANK1 +sfr P1FORCE = 0xEC; //BANK1 +sfr P2CF = 0xC8; //BANK1 +sfr P2CMD = 0xC9; //BANK1 +sfr P2CPM0 = 0xCA; //BANK1 +sfr P2CPM1 = 0xCB; //BANK1 +sfr P2TOPL = 0xCE; //BANK1 +sfr P2TOPH = 0xCF; //BANK1 +sfr16 P2TOP_16 = 0xCE; //BANK1 +sfr P2CPL0 = 0xCC; //BANK1 +sfr P2CPH0 = 0xCD; //BANK1 +sfr16 P2CP0_16 = 0xCC; //BANK1 +sfr P2CPL1 = 0xF4; //BANK1 +sfr P2CPH1 = 0xF5; //BANK1 +sfr16 P2CP1_16 = 0xF4; //BANK1 +sfr P2FORCE = 0xFC; //BANK1 + +/* LPD*/ +sfr LPDCON = 0xB3; +sfr LPDSEL = 0xBB; + +/* CRC */ +sfr CRCCON = 0xC1; +sfr CRCDH = 0xC3; +sfr CRCDL = 0xC2; +sfr16 CRCD_16 = 0xC2; +sfr CRCSTAL = 0xD4; +sfr CRCSTAH = 0xD5; +sfr16 CRCSTA_16 = 0xD4; +sfr CRCSTOL = 0xDC; +sfr CRCSTOH = 0xDD; +sfr16 CRCSTO_16 = 0xDC; + +/* LCM */ +sfr UART0CR = 0xC4; +sfr UART1CR = 0xC5; +sfr TWICR = 0xC6; +sfr PWMCR = 0xCA; +sfr CEXCR = 0xCB; +sfr ECICR = 0xC9; + +/*-------------------------- BIT Register --------------------------*/ +/* SPSTA */ +sbit SPEN = 0xFF; +sbit SPIF = 0xFE; +sbit MODF = 0xFD; +sbit WCOL = 0xFC; +sbit RXOV = 0xFB; + +/* B */ + +/* EXF0 */ +sbit IT41 = 0xEF; +sbit IT40 = 0xEE; +sbit IT31 = 0xED; +sbit IT30 = 0xEC; +sbit IT21 = 0xEB; +sbit IT20 = 0xEA; +sbit IE3 = 0xE9; +sbit IE2 = 0xE8; +/* ACC */ + +/* EXF1 */ +sbit IF47 = 0xDF; +sbit IF46 = 0xDE; +sbit IF45 = 0xDD; +sbit IF44 = 0xDC; +sbit IF43 = 0xDB; +sbit IF42 = 0xDA; +sbit IF41 = 0xD9; +sbit IF40 = 0xD8; + +/* PSW */ +sbit CY = 0xD7; +sbit AC = 0xD6; +sbit F0 = 0xD5; +sbit RS1 = 0xD4; +sbit RS0 = 0xD3; +sbit OV = 0xD2; +sbit F1 = 0xD1; +sbit P = 0xD0; + +/*TWICON*/ +sbit TOUT = 0xCF; +sbit ENTWI = 0xCE; +sbit STA = 0xCD; +sbit STO = 0xCC; +sbit TWINT = 0xCB; +sbit AA = 0xCA; +sbit TFREE = 0xC9; +sbit EFREE = 0xC8; + +/* P5 */ +sbit P5_0 = P5^0; //BANK1 +sbit P5_1 = P5^1; //BANK1 + + +/* P4 */ +sbit P4_0 = P4^0; +sbit P4_1 = P4^1; +sbit P4_2 = P4^2; +sbit P4_3 = P4^3; +sbit P4_4 = P4^4; +sbit P4_5 = P4^5; +sbit P4_6 = P4^6; +sbit P4_7 = P4^7; + +/* IPL0 */ +sbit PINTL = 0xBF; +sbit PADCL = 0xBE; +sbit PT3L = 0xBD; +sbit PS0L = 0xBC; +sbit PCF1L = 0xBB; +sbit PX1L = 0xBA; +sbit PCF0L = 0xB9; +sbit PX0L = 0xB8; + +/* P3 */ +sbit P3_0 = P3^0; +sbit P3_1 = P3^1; +sbit P3_2 = P3^2; +sbit P3_3 = P3^3; +sbit P3_4 = P3^4; +sbit P3_5 = P3^5; +sbit P3_6 = P3^6; +sbit P3_7 = P3^7; + +/* IEN0 */ +sbit EA = 0xAF; +sbit EADC = 0xAE; +sbit ET3 = 0xAD; +sbit ES0 = 0xAC; +sbit EPCA1 = 0xAB; +sbit EX1 = 0xAA; +sbit EPCA0 = 0xA9; +sbit EX0 = 0xA8; + +/* P2 */ +sbit P2_0 = P2^0; +sbit P2_1 = P2^1; +sbit P2_2 = P2^2; +sbit P2_3 = P2^3; +sbit P2_4 = P2^4; +sbit P2_5 = P2^5; +sbit P2_6 = P2^6; +sbit P2_7 = P2^7; + +/* SCON */ +sbit SM0_FE = 0x9F; +sbit SM1_RXOV = 0x9E; +sbit SM2_TXCOL = 0x9D; +sbit REN = 0x9C; +sbit TB8 = 0x9B; +sbit RB8 = 0x9A; +sbit TI = 0x99; +sbit RI = 0x98; + +/* P1 */ +sbit P1_0 = P1^0; +sbit P1_1 = P1^1; +sbit P1_2 = P1^2; +sbit P1_3 = P1^3; +sbit P1_4 = P1^4; +sbit P1_5 = P1^5; +sbit P1_6 = P1^6; +sbit P1_7 = P1^7; + +/* TCON */ + +sbit IE1 = 0x8B; +sbit IT1 = 0x8A; +sbit IE0 = 0x89; +sbit IT0 = 0x88; + +/* P0 */ +sbit P0_0 = P0^0; +sbit P0_1 = P0^1; +sbit P0_2 = P0^2; +sbit P0_3 = P0^3; +sbit P0_4 = P0^4; +sbit P0_5 = P0^5; +sbit P0_6 = P0^6; +sbit P0_7 = P0^7; + +/* PCACON */ +sbit PR2 = 0xDA; //BANK1 +sbit PR1 = 0xD9; //BANK1 +sbit PR0 = 0xD8; //BANK1 + +/* P2CF */ +sbit CF2 = 0xCF; //BANK1 +sbit P2CCF1 = 0xC9; //BANK1 +sbit P2CCF0 = 0xC8; //BANK1 + +/* P1CF */ +sbit CF1 = 0xC7; //BANK1 +sbit P1CCF1 = 0xC1; //BANK1 +sbit P1CCF0 = 0xC0; //BANK1 + +/* SCON1 */ +sbit SM10_FE1 = 0xA7; //BANK1 +sbit SM11_RXOV1 = 0xA6; //BANK1 +sbit SM12_TXCOL1 = 0xA5; //BANK1 +sbit REN1 = 0xA4; //BANK1 +sbit TB81 = 0xA3; //BANK1 +sbit RB81 = 0xA2; //BANK1 +sbit TI1 = 0xA1; //BANK1 +sbit RI1 = 0xA0; //BANK1 + +/* P0CF */ +sbit CF0 = 0x9F; //BANK1 +sbit P0CCF1 = 0x99; //BANK1 +sbit P0CCF0 = 0x98; //BANK1 + +/* SCON2 */ +sbit SM20_FE2 = 0x97; //BANK1 +sbit SM21_RXOV2 = 0x96; //BANK1 +sbit SM22_TXCOL2 = 0x95; //BANK1 +sbit REN2 = 0x94; //BANK1 +sbit TB82 = 0x93; //BANK1 +sbit RB82 = 0x92; //BANK1 +sbit TI2 = 0x91; //BANK1 +sbit RI2 = 0x90; //BANK1 + +/* T3CON */ +sbit TF3 = 0x8F; //BANK1 +sbit T3PS1 = 0x8D; //BANK1 +sbit T3PS0 = 0x8C; //BANK1 +sbit TR3 = 0x8A; //BANK1 +sbit T3CLKS1 = 0x89; //BANK1 +sbit T3CLKS0 = 0x88; //BANK1 + +#endif diff --git a/header_drv/McuFlash.h b/header_drv/McuFlash.h new file mode 100644 index 0000000..5e8d26c --- /dev/null +++ b/header_drv/McuFlash.h @@ -0,0 +1,85 @@ +#ifndef __MCU_FLASH_H +#define __MCU_FLASH_H + + +#define XRAM_MAP_ADDR 0x0000 +#define MCUFLASH_BK1_ADDR 0x0000 +#define MCUFLASH_BK2_ADDR (MCUFLASH_BK1_ADDR + 512) +#define MCUFLASH_BK1_FLG_ADDR (MCUFLASH_BK1_ADDR + 510) +#define MCUFLASH_BK2_FLG_ADDR (MCUFLASH_BK2_ADDR + 510) +#define MCUFLASH_SECTOR_SIZE 512 //1SectorijΪ512ֽ + +#define MCU_FLASH_WATI_DELAY 2 + +/**************************************************************************************/ +//MCU Flashַ +/**************************************************************************************/ +//ϵͳϢʼ SubClassID=0x00 +#define SYS_PARA_MAP_ADDR XRAM_MAP_ADDR +#define SYS_PARA_LEN 48 + +//ûԶʼ SubClassID=0x01 +#define SYSINFO_MAP_ADDR (SYS_PARA_MAP_ADDR+SYS_PARA_LEN) +#define SYSINFO_LEN 50 + +//ʼ SubClassID=0x02 +#define CHG_PARA_MAP_ADDR (SYSINFO_MAP_ADDR+SYSINFO_LEN) +#define CHG_PARA_LEN 18 + +//ŵʼ SubClassID=0x03 +#define DSG_PARA_MAP_ADDR (CHG_PARA_MAP_ADDR+CHG_PARA_LEN) +#define DSG_PARA_LEN 21 + +//Ԥʼ SubClassID=0x04 +//Reserved + +//ŵPWMʼ SubClassID=0x05 +#define DSG_PWM_PARA_MAP_ADDR (DSG_PARA_MAP_ADDR+DSG_PARA_LEN) +#define DSG_PWM_PARA_LEN 5 + +//¶ȱʼ SubClassID=0x06 +#define CHG_TEMP_PARA_MAP_ADDR (DSG_PWM_PARA_MAP_ADDR+DSG_PWM_PARA_LEN) +#define CHG_TEMP_PARA_LEN 11 + +//ŵ¶ȱʼ SubClassID=0x07 +#define DSG_TEMP_PARA_MAP_ADDR (CHG_TEMP_PARA_MAP_ADDR+CHG_TEMP_PARA_LEN) +#define DSG_TEMP_PARA_LEN 9 + +//ƽʼ SubClassID=0x08 +#define BAL_PARA_MAP_ADDR (DSG_TEMP_PARA_MAP_ADDR+DSG_TEMP_PARA_LEN) +#define BAL_PARA_LEN 8 + +//ͳƲʼ SubClassID=0x09 +#define SOC_PARA_MAP_ADDR (BAL_PARA_MAP_ADDR+BAL_PARA_LEN) +#define SOC_PARA_LEN 17 + +//AFEʼ SubClassID=0x0A +#define AFE_PARA_MAP_ADDR (SOC_PARA_MAP_ADDR+SOC_PARA_LEN) +#define AFE_PARA_LEN 4 + +//У׼ʼ SubClassID=0x0B +#define CALI_PARA_MAP_ADDR (AFE_PARA_MAP_ADDR+AFE_PARA_LEN) +#define CALI_PARA_LEN 12 + +#define RESERVED_DATA_MAP_ADDR (CALI_PARA_MAP_ADDR+CALI_PARA_LEN) +#define RESERVED_DATA_LEN (510-(RESERVED_DATA_MAP_ADDR)) + +#define DataflashCheck_Map_ADDR 0xfe +#define DataflashCheck_LEN 0x0002 + + +extern BOOL bMcuFlashWrWaitFlg; +extern BOOL bMcuFlashWrFlg; +extern BOOL bMcuFlashErr; +extern U8 xdata ucMcuFlashWrValid; +extern U8 xdata bMcuFlashWrWaitCnt; + +extern BOOL McuFlashRead(U16 SourceAddr, U8 xdata *TargetAddr, U16 Length); +extern BOOL McuFlashWrite(U16 McuFlashAddr, U16 XramAddr); +extern void McuFlashWrOneByte(U16 McuFlashAddr,U8 WrData); +extern void McuFlashProcess(void); +extern void McuFlashWrWaitCheck(void); +extern BOOL McuFlashCheckFlg(U16 Saddr); + + +#endif \ No newline at end of file diff --git a/header_drv/McuLib.h b/header_drv/McuLib.h new file mode 100644 index 0000000..4d2e6a4 --- /dev/null +++ b/header_drv/McuLib.h @@ -0,0 +1,102 @@ +#ifndef __MCU_LIB_H +#define __MCU_LIB_H + +#define RAM_CHECK_DATA 0x5A + +#define TIM_CLK_24MHz 0x00 +#define TIM_CLK_12MHz 0x11 +#define TIM_CLK_6MHz 0x22 +#define TIM_CLK_2MHz 0x33 +#define TIM_CLK_128KHz 0x44 +#define TIM_CLK_32KHz 0x55 + +#define MCU_CLK_24MHz 0x00 +#define MCU_CLK_12MHz 0x20 +#define MCU_CLK_6MHz 0x40 +#define MCU_CLK_2MHz 0x60 +#define MCU_CLK_128KHz 0x80 +#define MCU_CLK_32KHz 0xA0 + +#define McuBank0Sel() INSCON = 0x00; //ĴBank0 +#define McuBank1Sel() INSCON = 0x40; //ĴBank1 + +#define McuWDTClear() RSTSTAT &= 0xF8; //忴Ź + +#define McuFlashEn() FLASHCON |= 0x01; //MCUFlash +#define McuFlashDis() FLASHCON &= ~0x01; //MCUFlash + +#define McuTwiEn() ENTWI = 1; //MCUTwiģ +#define McuTwiDis() ENTWI = 0; //رMCUTwiģ + +#define McuPWM0En() PWM0CON |= 0x01; //PWM +#define McuPWM1En() PWM1CON |= 0x01; //PWM +#define McuPWM2En() PWM2CON |= 0x01; //PWM + +#define McuPWM0Dis() PWM0CON &= ~0x81; //رPWMΪIO +#define McuPWM1Dis() PWM1CON &= ~0x81; //رPWMΪIO +#define McuPWM2Dis() PWM2CON &= ~0x81; //رPWMΪIO + +#define IrqEn() EA = 1; //жʹλ +#define IrqDis() EA = 0; //رжʹλ + +#define IrqINT0En() EX0 = 1; //ⲿж0ؿ +#define IrqINT0Dis() EX0 = 0; +#define IrqINT0FlgClr() IE0 = 0; +#define IrqINT0TrigLow() IT0 = 0; +#define IrqINT0TrigFalling() IT0 = 1; + +#define IrqINT1En() EX1 = 1; //ⲿж1ؿ +#define IrqINT1Dis() EX1 = 0; +#define IrqINT1FlgClr() IE1 = 0; +#define IrqINT1TrigLow() IT1 = 0; +#define IrqINT1TrigFalling() IT1 = 1; + +#define INT4_EXS40 0x01 +#define INT4_EXS41 0x02 +#define INT4_EXS42 0x04 +#define INT4_EXS43 0x08 +#define INT4_EXS44 0x10 +#define INT4_EXS45 0x20 +#define INT4_EXS46 0x40 +#define INT4_EXS47 0x80 +#define IrqINT4En() IEN1 |= 0x08; +#define IrqINT4Dis() IEN1 &= ~0x08; +#define IrqINT4xChEn(INT4x) IENC |= INT4x; +#define IrqINT4xChDis(INT4x) IENC &= ~INT4x; +#define IrqINT4FlgClr() EXF1 = 0; + +#define INT4_TRIG_LOW 0x00 +#define INT4_TRIG_FALLING 0x40 +#define INT4_TRIG_RISING 0x80 +#define INT4_TRIG_FALL_RISE 0xC0 +#define IrqINT4Trig(INT4Trig) EXF0 |= INT4Trig; + +#define IrqTimer3En() ET3 = 1; +#define IrqTimer3Dis() ET3 = 0; +#define IrqTimer3FlgClr() _push_(INSCON);McuBank1Sel();TF3 = 0;_pop_(INSCON); + +#define IrqUart0En() ES0 = 1; +#define IrqUart0Dis() ES0 = 0; + +#define IrqUart1En() IEN2 |= 0x01; +#define IrqUart1Dis() IEN2 &= 0xFE; + +#define IrqUart2En() IEN2 |= 0x02; +#define IrqUart2Dis() IEN2 &= 0xFD; + +extern void ClrRam(void); +extern void MemorySet(U8 xdata *pt, U8 setval, U8 length); +extern void MemoryCopy(U8 xdata *source, U8 xdata *target, U8 length); + +extern void McuTimer3Set(U8 ClkSource, U16 XmS); +extern void McuClockSet(U8 SysClock); +extern void McuPWM0Set(U16 PwmFreq, U8 DutyRatio); +extern void McuPWM1Set(U16 PwmFreq, U8 DutyRatio); +extern void McuPWM2Set(U16 PwmFreq, U8 DutyRatio); +extern void Delay1ms(U8 delaycnt); +extern void McuIntoIdle(void); +extern void McuIntoPD(void); +extern void SystemResetProcess(void); +extern BOOL RamCheckProcess(void); + +#endif diff --git a/header_drv/MosCtrl.h b/header_drv/MosCtrl.h new file mode 100644 index 0000000..e56c515 --- /dev/null +++ b/header_drv/MosCtrl.h @@ -0,0 +1,8 @@ +#ifndef __MOS_CTL_H +#define __MOS_CTL_H + + +extern void MosCtrl(void); + + +#endif \ No newline at end of file diff --git a/header_drv/PorSelfTest.h b/header_drv/PorSelfTest.h new file mode 100644 index 0000000..72a06e6 --- /dev/null +++ b/header_drv/PorSelfTest.h @@ -0,0 +1,9 @@ +#ifndef __PORSELFTEST_H +#define __PORSELFTEST_H + + +extern BOOL bPorSelfTestFlg; + +extern void PorSelfTest(void); + +#endif \ No newline at end of file diff --git a/header_drv/Protect.h b/header_drv/Protect.h new file mode 100644 index 0000000..c40a830 --- /dev/null +++ b/header_drv/Protect.h @@ -0,0 +1,47 @@ +#ifndef __PROTECT_H +#define __PROTECT_H + + +#define OV_DELAY_CNT (E2ucOVDelay*10) +#define OVR_DELAY_CNT (E2ucOVRDelay*10) +#define UV_DELAY_CNT (E2ucUVDelay*10) +#define UVR_DELAY_CNT (E2ucUVRDelay*10) +#define BAL_DELAY_CNT (E2ucBalanceDelay*10) + +#define OCC_DELAY_CNT (E2ucOCCDelay*10) +#define OCD1_DELAY_CNT (E2ucOCD1Delay*10) +#define OCD2_DELAY_CNT (E2ucOCD2Delay*2) + +#define TEMPE_DELAY_CNT (E2ucTempDelay*20) +#define TEMPER_DELAY_CNT (E2ucTempDelay*20) + +#define OCCR_DELAY_CNT (E2ucOCCRDelay*20) +#define OCDR_DELAY_CNT (E2ucOCCRDelay*20) + + +//صIJ +extern BOOL bUVLock; +extern BOOL bOVLock; +extern U16 xdata uiOVDelayCnt; +extern U16 xdata uiOVRDelayCnt; +extern U16 xdata uiUVDelayCnt; +extern U16 xdata uiUVRDelayCnt; +extern U16 xdata uiOTCDelayCnt; +extern U16 xdata uiOTCRDelayCnt; +extern U16 xdata uiUTCDelayCnt; +extern U16 xdata uiUTCRDelayCnt; +extern U16 xdata uiOTDDelayCnt; +extern U16 xdata uiOTDRDelayCnt; +extern U16 xdata uiUTDDelayCnt; +extern U16 xdata uiUTDRDelayCnt; +extern U16 xdata uiOCCDelayCnt; +extern U16 xdata uiOCD1DelayCnt; +extern U16 xdata uiOCD2DelayCnt; +extern U16 xdata uiOCCRcnt; +extern U16 xdata uiOCDRcnt; + + +extern void ProtectProcess(void); +extern void ProtectOCRecover(void); + +#endif \ No newline at end of file diff --git a/header_drv/RTC.h b/header_drv/RTC.h new file mode 100644 index 0000000..81cfc5e --- /dev/null +++ b/header_drv/RTC.h @@ -0,0 +1,36 @@ +#ifndef __EXT_RTC_H +#define __EXT_RTC_H + +#define RTC_ID 0xDE + +#define RTC_REG_SECOND 0x00 +#define RTC_REG_MINUTE 0x01 +#define RTC_REG_HOUR 0x02 +#define RTC_REG_DATE 0x03 +#define RTC_REG_MONTH 0x04 +#define RTC_REG_YEAR 0x05 +#define RTC_REG_WEEK 0x06 +#define RTC_REG_STATUS 0x07 + +typedef struct _RTC_VAR_ //BCD Type +{ + U8 Second; + U8 Minute; + U8 Hour; + U8 Date; + U8 Month; + U8 Year; + U8 Week; +}RTC_VAR; +extern RTC_VAR xdata RTC; +extern BOOL bRTCErr; +extern BOOL bRTCTwiRWErr; +extern U8 xdata ucRTCTwiRWErrDelayCnt; + + +extern BOOL RTCInitTime(RTC_VAR xdata *RtcInitVal); +extern BOOL RTCReadTime(RTC_VAR xdata *RtcRdVal); +extern BOOL RTCModifyTime(RTC_VAR xdata *RtcMdyVal); +extern void RTCTwiCheck(void); + +#endif \ No newline at end of file diff --git a/header_drv/Twi.h b/header_drv/Twi.h new file mode 100644 index 0000000..62853c6 --- /dev/null +++ b/header_drv/Twi.h @@ -0,0 +1,27 @@ +#ifndef __TWI_MODULE_H +#define __TWI_MODULE_H + +#define TWI_Hardware_Module +#ifdef TWI_Hardware_Module +#define TWI_FREQ_KHz 100 //(KHz) //10-400KHzͨѶƵ + +#define TWIBR1 (24000/TWI_FREQ_KHz -16)/2 +#define TWIBR2 (24000/TWI_FREQ_KHz -16)/8 +#define TWIBR3 (24000/TWI_FREQ_KHz -16)/32 +#define TWIBR4 (24000/TWI_FREQ_KHz -16)/128 + +#define TWI_ADDR_1B 0 +#define TWI_ADDR_2B 1 + +#define TWI_CRC_NO 0 +#define TWI_CRC_YES 1 + +//#define AFE_CHIP_ID (0x1B<<1) //AFE_ID +#define HTimeoutChk() TWITOUT |= 0xc0; TWISTA |=0x01; TWICON |=0X01; +extern U8 CRC8cal(U8 *p, U8 counter); +extern BOOL TwiWrite(U8 SlaveID, U16 WrAddr, U8 AddrType, U8 Length, U8 CrcFlg, U8 xdata *WrBuf); +extern BOOL TwiRead(U8 SlaveID, U16 RdAddr, U8 AddrType, U8 Length, U8 CrcFlg, U8 xdata *RdBuf); +extern void TwiInit(void); + +#endif +#endif diff --git a/header_drv/TwiIO.h b/header_drv/TwiIO.h new file mode 100644 index 0000000..1ab91fb --- /dev/null +++ b/header_drv/TwiIO.h @@ -0,0 +1,40 @@ +#ifndef _TWI_IO_H +#define _TWI_IO_H + +//#define TWI_IO_OPERATE +#ifdef TWI_IO_OPERATE +//Define For I2C Driver + +#define AFE_CHIP_ID (0x1B<<1) //AFE_ID + +#define TRY_TIMES 5 + +#define RTC_REG_STATUS 0x07 + +#define SDA_BIT 0x10 +#define SCL_BIT 0x20 +#define SDA P0_4 +#define SCL P0_5 + +#define TWI_CLK_OUT P0CR |= SCL_BIT; +#define TWI_CLK_IN P0CR &= ~SCL_BIT; +#define TWI_CLK_HIGH TWI_CLK_IN; SCL = 1; +#define TWI_CLK_LOW TWI_CLK_OUT; SCL = 0; + +#define TWI_DAT_OUT P0CR |= SDA_BIT; +#define TWI_DAT_IN P0CR &= ~SDA_BIT; +#define TWI_DAT_HIGH TWI_DAT_IN; SDA = 1; +#define TWI_DAT_LOW TWI_DAT_OUT; SDA = 0; + +#define TWI_RD_DAT SDA +#define TWI_RD_CLK SCL + +extern void TwiInit(void); +extern BOOL TwiRead(U8 SlaveID, U16 RdAddr, U8 Length, U8 xdata *RdBuf); +extern BOOL TwiWrite(U8 SlaveID, U16 WrAddr, U8 Length, U8 xdata *WrBuf); +extern U8 CRC8cal(U8 *p, U8 counter); + + +#endif + +#endif \ No newline at end of file diff --git a/header_drv/Uart.h b/header_drv/Uart.h new file mode 100644 index 0000000..a4421cf --- /dev/null +++ b/header_drv/Uart.h @@ -0,0 +1,69 @@ +#ifndef __UART_H +#define __UART_H + + +#if UART_BRT == 0 + #define UART_BPS_H 0x7F + #define UART_BPS_L 0x64 + #define UART_BPS_F 0x04 +#elif UART_BRT == 1 + #define UART_BPS_H 0x7F + #define UART_BPS_L 0xF3 + #define UART_BPS_F 0x00 +#endif + +//#if ((0<=UART0_DEFINE <= 11)) +/**********************************UART0ģ**********************************/ +#define UART_SLAVE_SADDR 0x0A //UARTַĬΪ0x0A +#define Uart0RxEn() REN = 1; //UARTԽ +#define Uart0TxEn(TxData) REN = 0; SBUF = TxData; //UART + +//#define IrqUartEn() IrqUart0En() +//#define IrqUartDis() IrqUart0Dis() + +//#define InterruptUart0AppRx(RxData) InterruptUartAppRx(RxData) +//#define InterruptUart0AppTx() InterruptUartAppTx() +//#define UARTInit() UART0Init() + +extern void UART0Init(void); + +//#elif ((0<=UART1_DEFINE <=11)) +/**********************************UART1ģ**********************************/ +//#define UART1_SLAVE_SADDR 0x0A //UARTַĬΪ0x0A +#define Uart1RxEn() McuBank1Sel(); REN1 = 1; McuBank0Sel(); //UARTԽ +#define Uart1TxEn(TxData) McuBank1Sel(); REN1 = 0; SBUF1 = TxData; McuBank0Sel(); //UART + +//#define IrqUartEn() IrqUart1En() +//#define IrqUartDis() IrqUart1Dis() + +//#define InterruptUart1AppRx(RxData) InterruptUartAppRx(RxData) +//#define InterruptUart1AppTx() InterruptUartAppTx() +//#define UARTInit() UART1Init() + +extern void UART1Init(void); + +//#elif UART2_DEFINE = 0 +/**********************************UART2ģ**********************************/ +//#define UART2_SLAVE_SADDR 0x0A //UARTַĬΪ0x0A +#define Uart2RxEn() McuBank1Sel(); REN2 = 1; McuBank0Sel(); //UARTԽ +#define Uart2TxEn(TxData) McuBank1Sel(); REN2 = 0; SBUF2 = TxData; McuBank0Sel(); //UART + +//#define IrqUartEn() IrqUart2En() +//#define IrqUartDis() IrqUart2Dis() + +//#define InterruptUart2AppRx(RxData) InterruptUartAppRx(RxData) +//#define InterruptUart2AppTx() InterruptUartAppTx() +//#define UARTInit() UART2Init() + +extern void UART2Init(void); +//#endif //UART_DEFINE + + +//extern void InitUART0(void); + + + + + + +#endif \ No newline at end of file diff --git a/header_drv/c51_type.h b/header_drv/c51_type.h new file mode 100644 index 0000000..ed752f3 --- /dev/null +++ b/header_drv/c51_type.h @@ -0,0 +1,15 @@ +#ifndef __C51_TYPE_H +#define __C51_TYPE_H + + +typedef unsigned char U8; +typedef unsigned int U16; +typedef unsigned long U32; +typedef signed char S8; +typedef signed int S16; +typedef signed long S32; +typedef bit BOOL; + + + +#endif \ No newline at end of file diff --git a/output/AFE.lst b/output/AFE.lst new file mode 100644 index 0000000..2bfbb71 --- /dev/null +++ b/output/AFE.lst @@ -0,0 +1,563 @@ +C51 COMPILER V9.01 AFE 02/06/2025 15:28:45 PAGE 1 + + +C51 COMPILER V9.01, COMPILATION OF MODULE AFE +OBJECT MODULE PLACED IN .\output\AFE.obj +COMPILER INVOKED BY: D:\Tool\Keil\C51\BIN\C51.EXE code_drv\AFE.c LARGE OPTIMIZE(7,SIZE) REGFILE(.\output\MCUCore_Load.OR + -C) BROWSE INTVECTOR(0X1000) INCDIR(.\header_app;.\header_drv;.\code_gasguage;.\code_classb\iec60730_lib\include;.\code_c + -lassb\iec60730_proc\Include;.\code_classb\config) DEBUG OBJECTEXTEND PRINT(.\output\AFE.lst) OBJECT(.\output\AFE.obj) + +line level source + + 1 /******************************************************************************** + 2 Copyright (C), Sinowealth Electronic. Ltd. + 3 Author: Sino + 4 Version: V0.0 + 5 Date: 2020/04/26 + 6 History: + 7 V2.0 2020/04/26 Preliminary + 8 ********************************************************************************/ + 9 #include "Main.h" + 10 + 11 //AFEصı + 12 BOOL bAfeAlarmFlg; + 13 BOOL bCADCFlg; + 14 BOOL bVADCFlg; + 15 BOOL bAfeI2CRWErrFlg; + 16 BOOL bAfeErr; + 17 U8 data ucCellNum; //ǰӲо + 18 U8 data ucCellNumOffset; //ǰӲоӷʽӦƫƣڳȡAFEӦ + - + 19 U16 data uiCellVmax; //оѹֵ + 20 U16 data uiCellVmin; //оѹСֵ + 21 U16 xdata uiVadcVmax; //ADCɼֵ + 22 U16 xdata uiVadcVmin; //ADCɼСֵ + 23 U8 xdata ucTempeMiddle; + 24 U16 xdata uiTempeMin; + 25 U16 xdata uiTempeMax; + 26 S32 xdata slCadcCurrent; + 27 S32 xdata slCadcCurAverage; + 28 U8 xdata ucCadcCnt; + 29 S32 xdata slCadcCurBuf[16]; + 30 U8 xdata ucAfeI2CErrDelayCnt; + 31 SYSINFOR xdata Info; //ֵ + 32 AFEDATA xdata AFE; //AFEĴȡֵ + 33 AFEREG xdata REG; //AFEĴԤֵ + 34 + 35 + 36 + 37 /************************************************************************************************* + 38 * : AFETwiCheck + 39 * : + 40 * ֵ: + 41 * : 5S⵽AFEI2CͨѶλbAfeErr=1 + 42 *************************************************************************************************/ + 43 void AFETwiCheck(void) + 44 { + 45 1 if(bAfeI2CRWErrFlg) + 46 1 { + 47 2 if(++ucAfeI2CErrDelayCnt >= TIME_1S_5S) + 48 2 { + 49 3 bAfeErr = 1; + 50 3 ucAfeI2CErrDelayCnt = TIME_1S_5S; + 51 3 } + 52 2 } + C51 COMPILER V9.01 AFE 02/06/2025 15:28:45 PAGE 2 + + 53 1 else + 54 1 { + 55 2 ucAfeI2CErrDelayCnt = 0; + 56 2 } + 57 1 } + 58 + 59 + 60 /************************************************************************************************* + 61 * : AFEWriteReg + 62 * : RegĴַ + 63 WrBufдݣ1Byte+1Byte CRC + 64 * ֵ: 1:ɹ0:ʧ + 65 * : дAFEĴÿдһĴ + 66 *************************************************************************************************/ + 67 BOOL AFEWriteReg(U8 Reg, U8 Length, U8 xdata *WrBuf) + 68 { + 69 1 BOOL Result = 0; + 70 1 U8 Times = 0; + 71 1 U8 i; + 72 1 + 73 1 if(!bAfeErr) + 74 1 { + 75 2 for(i=0; i= 5) + 101 3 { + 102 4 break; + 103 4 } + 104 3 else + 105 3 { + 106 4 Times = 0; + 107 4 Reg++; + 108 4 WrBuf++; + 109 4 } + 110 3 Delay1ms(1); + 111 3 } + 112 2 } + 113 1 bAfeI2CRWErrFlg = !Result; //ͨѶǷ + 114 1 + C51 COMPILER V9.01 AFE 02/06/2025 15:28:45 PAGE 3 + + 115 1 return Result; + 116 1 } + 117 + 118 + 119 /************************************************************************************************* + 120 * : AFEReadReg + 121 * : RegĴַ + 122 RdBufݣ2Byte+1Byte CRC + 123 * ֵ: 1:ɹ0:ʧ + 124 * : AFEĴÿĴ + 125 *************************************************************************************************/ + 126 BOOL AFEReadReg(U8 Reg, U8 Length , U8 xdata *RdBuf) + 127 { + 128 1 BOOL Result = 0; + 129 1 U8 Times = 0; + 130 1 + 131 1 if(!bAfeErr) + 132 1 { + 133 2 while(Times++ < 5) //Try 5 + 134 2 { + 135 3 #ifdef TWI_Hardware_Module + 136 3 Result = TwiRead(AFE_ID, Reg, TWI_ADDR_1B, Length, TWI_CRC_YES, RdBuf); + 137 3 #else + Result = TwiRead(AFE_ID, Reg, Length, RdBuf); + #endif + 140 3 if(Result) //ɹCRCУȷ˳ѭسɹ־ + 141 3 { + 142 4 break; + 143 4 } + 144 3 else //TWICRCУʧܣʱ1mS֮ٶȡ + 145 3 { + 146 4 TWICON = 0; //Close TWI module + 147 4 Delay1ms(1); + 148 4 TwiInit(); //Reinitial + 149 4 Delay1ms(1); + 150 4 } + 151 3 } + 152 2 } + 153 1 bAfeI2CRWErrFlg = !Result; //ͨѶǷ + 154 1 + 155 1 return Result; + 156 1 } + 157 + 158 + 159 /************************************************************************************************* + 160 * : AFEClrFlg + 161 * : + 162 * ֵ: + 163 * : AFE־Ĵ + 164 *************************************************************************************************/ + 165 void AFEClrFlg(void) + 166 { + 167 1 if(AFEReadReg(AFE_FLAG1, 2, ®.AFEFLAG1)) + 168 1 { + 169 2 if((REG.AFEFLAG1!=0) || (REG.AFEFLAG2!=0)) + 170 2 { + 171 3 REG.AFESCONF1 |= 0x80; + 172 3 AFEWriteReg(AFE_SCONF1, 1, ®.AFESCONF1); + 173 3 REG.AFESCONF1 &= ~0x80; + 174 3 AFEWriteReg(AFE_SCONF1, 1, ®.AFESCONF1); + 175 3 } + 176 2 } + C51 COMPILER V9.01 AFE 02/06/2025 15:28:45 PAGE 4 + + 177 1 } + 178 + 179 + 180 /************************************************************************************************* + 181 * : AFEInitReg + 182 * : + 183 * ֵ: + 184 * : ʼAFEĴ + 185 *************************************************************************************************/ + 186 void AFEInitReg(void) + 187 { + 188 1 U16 TempVar; + 189 1 + 190 1 REG.AFEINTEN = 0x00; //ȡѯʽʲҪALARMж + 191 1 REG.AFESCONF1 = 0x50; //ʹCTLDWDT + 192 1 REG.AFESCONF2 = 0x00; //AFEΪλźţALARM͵ƽ壬ŵMOSMOSر + 193 1 REG.AFESCONF3 = 0xF8; //ĬVADCCADCCADC10λADCVADCֻɼ + -ѹת50ms + 194 1 REG.AFESCONF4 = 0x00; //ĬϹرƽBAT6-10 + 195 1 REG.AFESCONF5 = 0x00; //ĬϹرƽBAT1-5 + 196 1 REG.AFESCONF6 = 0x70; //CADCɼ200mVΧλźſ1SӲ·ѹ100mVӲ·ʱ5 + -0uS + 197 1 REG.AFESCONF7 = 0x01; //Ӳ屣ʱ1תڣŵ״ֵ̬ѡλ1.4mV + -ÿŹ10S + 198 1 REG.AFESCONF8 = 0x03; //SCONF8 + SCONF9 = 11 1111 1111 = 1023 + 199 1 REG.AFESCONF9 = 0xff; //Ӳ屣ֵ1023*5.86mV = 5994.78 + 200 1 REG.AFESCONF10= 0x00; //͹Ŀλд0x33дPD_EN=1͹ + 201 1 + 202 1 if(bSC_EN) //ʹAFE· + 203 1 { + 204 2 REG.AFESCONF1 |= 0x08; + 205 2 REG.AFESCONF6 |= (E2ucAFEProtectConfig&0x0f);//FLASHڲдAFEĴ + 206 2 } + 207 1 if(bOV_EN) //ʹAFEѹ + 208 1 { + 209 2 REG.AFESCONF1 |= 0x04; + 210 2 REG.AFESCONF7 |= (E2ucAFEProtectConfig&0xf0);//FLASHڲдAFEĴ + 211 2 TempVar = (U32)E2uiAFEOVvol*50/293; //ȡѹѹ + 212 2 REG.AFESCONF8 = TempVar>>8; //дλ + 213 2 REG.AFESCONF9 = TempVar; //дͰλ + 214 2 } + 215 1 } + 216 + 217 + 218 + 219 /************************************************************************************************* + 220 * : AFEInit + 221 * : + 222 * ֵ: 1:ɹ0:ʧ + 223 * : ʼAFE + 224 *************************************************************************************************/ + 225 BOOL AFEInit(void) + 226 { + 227 1 U8 xdata RdBuf[2]; + 228 1 U8 i; + 229 1 BOOL Result = 1; + 230 1 U8 j = 3; + 231 1 + 232 1 while(j--) + 233 1 { + 234 2 if( AFEWriteReg(AFE_INT_EN, 11, ®.AFEINTEN)) + 235 2 { + C51 COMPILER V9.01 AFE 02/06/2025 15:28:45 PAGE 5 + + 236 3 for(i=3; i<=11; i=i+2) + 237 3 { + 238 4 AFEReadReg(i, 2, RdBuf); + 239 4 + 240 4 if((RdBuf[0]!=*(®.AFEFLAG1+i)) || (RdBuf[1]!=*(®.AFEFLAG1+i+1))) + 241 4 { + 242 5 if(i != 7) //ƽĴ⣬ΪƽĴλ30sԶ + 243 5 { + 244 6 Result = 0; + 245 6 break; + 246 6 } + 247 5 } + 248 4 } + 249 3 } + 250 2 else + 251 2 { + 252 3 Result = 0; + 253 3 } + 254 2 if(Result) + 255 2 { + 256 3 break; + 257 3 } + 258 2 } + 259 1 return Result; + 260 1 + 261 1 } + 262 + 263 + 264 /************************************************************************************************* + 265 * : AFERdFlg + 266 * : + 267 * ֵ: + 268 * : ȡAFE־Ĵ + 269 AFE_SCʾ· + 270 FLAG2bit2Ϊ1ʾLVRλҪ³ʼAFE + 271 *************************************************************************************************/ + 272 void AFERdFlg(void) + 273 { + 274 1 if(AFEReadReg(AFE_FLAG1, 2, ®.AFEFLAG1)) + 275 1 { + 276 2 if((REG.AFEFLAG2&0x02) != 0) //CADC ת + 277 2 { + 278 3 bCADCFlg = 1; + 279 3 } + 280 2 + 281 2 if((REG.AFEFLAG2&0x01) != 0) //VADC ѹת + 282 2 { + 283 3 bVADCFlg = 1; + 284 3 } + 285 2 + 286 2 if((REG.AFEFLAG1&0x08) != 0 && (bLoadChkingFlg != 1)) //AFE· + 287 2 { + 288 3 bAFE_SC = 1; + 289 3 bLoadStartCheckFlg = 1; //ؼ + 290 3 } + 291 2 if((REG.AFEFLAG1&0x04) != 0) //AFE Ӳѹ + 292 2 { + 293 3 bAFE_OV= 1; + 294 3 } + 295 2 + 296 2 if((REG.AFEFLAG2&0x04) != 0) //жFLAG2bit2ǷΪ1Ϊ1ʾAFELVR + -³ʼAFEĴ + C51 COMPILER V9.01 AFE 02/06/2025 15:28:45 PAGE 6 + + 297 2 { + 298 3 AFEInit(); + 299 3 } + 300 2 } + 301 1 } + 302 + 303 + 304 /************************************************************************************************* + 305 * : AFERdStatus + 306 * : + 307 * ֵ: + 308 * : ȡAFE״̬Ĵ + 309 *************************************************************************************************/ + 310 void AFERdStatus(void) + 311 { + 312 1 U8 RegTemp[2]; + 313 1 if(AFEReadReg(AFE_BSTATUS, 2, RegTemp))//®.AFEBSTATUS))//AFE̶2Bytesֻȡ1Byte + 314 1 { + 315 2 ucAFEStatus = REG.AFEBSTATUS = RegTemp[0]; //³صļ + 316 2 } + 317 1 } + 318 + 319 + 320 /************************************************************************************************* + 321 * : AFERamCheck + 322 * : + 323 * ֵ: + 324 * : ʱAFEļĴǷ񱻸д³ʼ + 325 *************************************************************************************************/ + 326 void AFERamCheck(void) + 327 { + 328 1 U8 xdata RdBuf[2]; + 329 1 U8 i; + 330 1 + 331 1 for(i=3; i<=11; i=i+2) + 332 1 { + 333 2 AFEReadReg(i, 2, RdBuf); + 334 2 + 335 2 if((RdBuf[0]!=*(®.AFEFLAG1+i)) || (RdBuf[1]!=*(®.AFEFLAG1+i+1))) + 336 2 { + 337 3 if(i != 7) //ƽĴ⣬ΪƽĴλ30sԶ + 338 3 { + 339 4 if(!AFEInit()) + 340 4 { + 341 5 bPDFlg = 1; + 342 5 } + 343 4 break; + 344 4 } + 345 3 } + 346 2 } + 347 1 } + 348 + 349 + 350 /************************************************************************************************* + 351 * : AFEEnterPD + 352 * : + 353 * ֵ: + 354 * : AFEPD״̬ر3.3V + 355 *************************************************************************************************/ + 356 void AFEEnterPD(void) + 357 { + 358 1 REG.AFESCONF10 = 0x33; + C51 COMPILER V9.01 AFE 02/06/2025 15:28:45 PAGE 7 + + 359 1 if(AFEWriteReg(AFE_SCONF10, 1, ®.AFESCONF10)) + 360 1 { + 361 2 REG.AFESCONF1 |= 0x20; + 362 2 AFEWriteReg(AFE_SCONF1, 1, ®.AFESCONF1); + 363 2 } + 364 1 } + 365 + 366 + 367 /************************************************************************************************* + 368 * : AFEMosCtl + 369 * : MosStatusMOS״̬10ر + 370 * ֵ: + 371 * : ƳŵMOSĿ͹ر + 372 *************************************************************************************************/ + 373 void AFEMosCtl(U8 MosStatus) + 374 { + 375 1 REG.AFESCONF2 &= ~0x03; + 376 1 REG.AFESCONF2 |= MosStatus; + 377 1 AFEWriteReg(AFE_SCONF2, 1, ®.AFESCONF2); + 378 1 } + 379 + 380 + 381 + 382 /************************************************************************************************* + 383 * : AFEChgerCheckEnAFEChgerCheckDisAFELoadCheckEnAFELoadCheckDis + 384 * : + 385 * ֵ: + 386 * : ʹ/رճ⡢ؼ + 387 *************************************************************************************************/ + 388 void AFEChgerCheckEn(void) + 389 { + 390 1 REG.AFESCONF1 |= 0x01; + 391 1 AFEWriteReg(AFE_SCONF1, 1, ®.AFESCONF1); + 392 1 } + 393 + 394 + 395 void AFEChgerCheckDis(void) + 396 { + 397 1 REG.AFESCONF1 &= ~0x01; + 398 1 AFEWriteReg(AFE_SCONF1, 1, ®.AFESCONF1); + 399 1 } + 400 + 401 + 402 void AFELoadCheckEn(void) + 403 { + 404 1 REG.AFESCONF1 |= 0x02; + 405 1 AFEWriteReg(AFE_SCONF1, 1, ®.AFESCONF1); + 406 1 } + 407 + 408 + 409 void AFELoadCheckDis(void) + 410 { + 411 1 REG.AFESCONF1 &= ~0x02; + 412 1 AFEWriteReg(AFE_SCONF1, 1, ®.AFESCONF1); + 413 1 } + 414 + 415 + 416 /************************************************************************************************* + 417 * : AfeBalEn + 418 * : BalChTempƽӦCELLȫΪ0رƽ + 419 * ֵ: + 420 * : ͹رƽ + C51 COMPILER V9.01 AFE 02/06/2025 15:28:45 PAGE 8 + + 421 *************************************************************************************************/ + 422 void AfeBalCtl(U16 BalChTemp) + 423 { + 424 1 REG.AFESCONF4 = BalChTemp>>5; + 425 1 if(AFEWriteReg(AFE_SCONF4, 1, ®.AFESCONF4)) + 426 1 { + 427 2 REG.AFESCONF5 = BalChTemp; + 428 2 AFEWriteReg(AFE_SCONF5, 1, ®.AFESCONF5); + 429 2 } + 430 1 } + 431 + 432 + 433 /************************************************************************************************* + 434 * : AfeWDTEn AfeWDTDis + 435 * : + 436 * ֵ: + 437 * : ͹رտŹģ + 438 *************************************************************************************************/ + 439 void AfeWDTEn(void) + 440 { + 441 1 REG.AFESCONF1 |= 0x10; + 442 1 AFEWriteReg(AFE_SCONF1, 1, ®.AFESCONF1); + 443 1 } + 444 + 445 + 446 void AfeWDTDis(void) + 447 { + 448 1 REG.AFESCONF1 &= ~0x10; + 449 1 AFEWriteReg(AFE_SCONF1, 1, ®.AFESCONF1); + 450 1 } + 451 + 452 + 453 /************************************************************************************************* + 454 * : AfeWDTEn AfeWDTDis + 455 * : + 456 * ֵ: + 457 * : ͹رտŹģ + 458 *************************************************************************************************/ + 459 void AfeADCEn(void) + 460 { + 461 1 REG.AFESCONF3 |= 0xf8; + 462 1 AFEWriteReg(AFE_SCONF3, 1, ®.AFESCONF3); + 463 1 } + 464 + 465 + 466 void AfeADCDis(void) + 467 { + 468 1 REG.AFESCONF3 &= ~0xf8; + 469 1 AFEWriteReg(AFE_SCONF3, 1, ®.AFESCONF3); + 470 1 } + 471 + 472 void AfeCADCEn(void) + 473 { + 474 1 REG.AFESCONF3 |= 0xe0; + 475 1 AFEWriteReg(AFE_SCONF3, 1, ®.AFESCONF3); + 476 1 } + 477 + 478 + 479 void AfeCADCDis(void) + 480 { + 481 1 REG.AFESCONF3 &= ~0xe0; + 482 1 AFEWriteReg(AFE_SCONF3, 1, ®.AFESCONF3); + C51 COMPILER V9.01 AFE 02/06/2025 15:28:45 PAGE 9 + + 483 1 } + 484 + 485 void AfeTempADCEn(void) + 486 { + 487 1 REG.AFESCONF3 |= 0x08; + 488 1 AFEWriteReg(AFE_SCONF3, 1, ®.AFESCONF3); + 489 1 } + 490 + 491 + 492 void AfeTempADCDis(void) + 493 { + 494 1 REG.AFESCONF3 &= ~0x08; + 495 1 AFEWriteReg(AFE_SCONF3, 1, ®.AFESCONF3); + 496 1 } + 497 + 498 + 499 /************************************************************************************************* + 500 * : AfeAlarmEnAfeAlarmDis + 501 * : AlarmFlgλӦALARMλ + 502 * ֵ: + 503 * : ͹رնӦALARMжϴ + 504 *************************************************************************************************/ + 505 void AfeAlarmEn(U8 AlarmFlg) + 506 { + 507 1 REG.AFEINTEN |= AlarmFlg; + 508 1 AFEWriteReg(AFE_INT_EN, 1, ®.AFEINTEN); + 509 1 } + 510 + 511 void AfeAlarmDis(U8 AlarmFlg) + 512 { + 513 1 REG.AFEINTEN &= ~AlarmFlg; + 514 1 AFEWriteReg(AFE_INT_EN, 1, ®.AFEINTEN); + 515 1 } + 516 + 517 + + +MODULE INFORMATION: STATIC OVERLAYABLE + CODE SIZE = 1206 ---- + CONSTANT SIZE = ---- ---- + XDATA SIZE = 181 22 + PDATA SIZE = ---- ---- + DATA SIZE = 6 ---- + IDATA SIZE = ---- ---- + BIT SIZE = 5 3 +END OF MODULE INFORMATION. + + +C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S) diff --git a/output/AFE.obj b/output/AFE.obj new file mode 100644 index 0000000000000000000000000000000000000000..da3b00c5509a4dfae8c98ca6e60ca22a9be1b205 GIT binary patch literal 85039 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

Ba=tZ*8LHj8r4 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 //¶ȱʱƽ,жѹѹָ + -ֹʱͣƽ + 42 3 ||((uiCellVmax < E2uiOVRvol)&&(bOV)) + 43 3 || bOTC || bUTC || bOTD || bUTD) + 44 3 { + 45 4 bBalanceFlg = 0; + 46 4 ucBalanceTimeCnt = 0; + 47 4 } + 48 3 else + 49 3 { + C51 COMPILER V9.01 BALANCE 02/06/2025 15:28:45 PAGE 2 + + 50 4 if(((uiCellVmax>E2uiBalanceVol) && (uiCellVmax-uiCellVmin)>=E2uiBalanceVolDiff) && (Info.slCurr>=E2 + -siBalCurrent)) + 51 4 { + 52 5 if(!bBalanceFlg) + 53 5 { + 54 6 ucBalanceTimeCnt++; + 55 6 } + 56 5 if(ucBalanceTimeCnt >= BAL_DELAY_CNT) + 57 5 { + 58 6 for(i=ucCellNumOffset; i=E2uiBalanceVolDiff)&&(Info.uiVCell[i]>=E2uiBalanceVol)) //о + -ѹƽѹѹֵõоƽ + 61 7 { + 62 8 uiBalanceChannel |= (1<= TIME_50MS_500MS) // 500mS + 101 5 { + 102 6 bCTO = 1; + 103 6 } + 104 5 } + 105 4 else + 106 4 { + 107 5 bCTOValidFlg = 0; + 108 5 ucCtoCnt = 0; + 109 5 } + C51 COMPILER V9.01 BALANCE 02/06/2025 15:28:45 PAGE 3 + + 110 4 } + 111 3 } + 112 2 #ifdef SP_CTO_RECOVER + else //߻ָܣÿ250mSһжСѹ + { + if(uiVadcVmin >= VOL_CELL_CUT_180MV) //180mV + { + if(++ucCtoRCnt >= TIME_250MS_1S) + { + bCTO = 0; + } + } + else + { + ucCtoRCnt = 0; + } + } + #endif + 128 2 } + 129 1 + 130 1 return bResult; + 131 1 } + 132 + 133 + 134 /************************************************************************************************* + 135 * : BalProcess + 136 * : + 137 * ֵ: + 138 * : + 139 1. ƽڷΪ5STEPϼ250mS + 140 2. ƽЧ<100/(250mS*2)(żƽ) + 141 3. ⵽ߣƽж߼ + 142 4. ƽ⿪ĵѹжʱܻʱ250mS(һƽ) + 143 *************************************************************************************************/ + 144 void BalProcess(void) + 145 { + 146 1 U16 BalChTemp; + 147 1 + 148 1 //жϵоѹѹǷ񳬹1.2Vж϶ߣҪоѹ<2Vƽᴥж + 149 1 //жϵоѹǷС1.38VСж϶ߣҪδЧоѹѹ + -ж + 150 1 if((uiCellVmax-uiCellVmin>=VOL_CELL_CUT_1200MV) || (uiCellVmax<=VOL_CELL_CUT_1380MV)) + 151 1 { + 152 2 bCTOValidFlg = 1; + 153 2 } + 154 1 + 155 1 switch(ucBalanceStep) + 156 1 { + 157 2 case BALANCE_ENABLE: //VADCɼѹж + 158 2 if(bCellOpenDecFlag || bBalanceFlg) + 159 2 { + 160 3 if(bBalanceOddFlg) //odd balance + 161 3 { + 162 4 BalChTemp = uiBalanceChannel&0x5555; + 163 4 } + 164 3 else //even balance + 165 3 { + 166 4 BalChTemp = uiBalanceChannel&0xAAAA; + 167 4 } + 168 3 AfeBalCtl(BalChTemp); //ƽ + 169 3 ucBalanceStep = BALANCE_START; + 170 3 bBalancingFlg = 1; + C51 COMPILER V9.01 BALANCE 02/06/2025 15:28:45 PAGE 4 + + 171 3 } + 172 2 break; + 173 2 + 174 2 case BALANCE_START: //VADCɼĵѹݶ + 175 2 ucBalanceStep = BALANCING; + 176 2 break; + 177 2 + 178 2 case BALANCING: //VADCɼĵѹж϶ + 179 2 if(!CTOCheckVol()) //ж + 180 2 { + 181 3 AfeBalCtl(0); //رƽ + 182 3 ucBalanceStep = BALANCE_DISABLE; + 183 3 bBalanceOddFlg = ~bBalanceOddFlg; + 184 3 } + 185 2 break; + 186 2 + 187 2 case BALANCE_DISABLE: //VADCɼĵѹݶ + 188 2 if(!CTOCheckVol()) //ж + 189 2 { + 190 3 ucBalanceStep = BALANCE_NULL; + 191 3 } + 192 2 else + 193 2 { + 194 3 ucBalanceStep = BALANCE_ENABLE; + 195 3 bBalanceOddFlg = ~bBalanceOddFlg; + 196 3 } + 197 2 break; + 198 2 + 199 2 case BALANCE_NULL: //VADCɼѹж + 200 2 ucBalanceStep = BALANCE_ENABLE; + 201 2 bCellOpenDecFlag = 0; + 202 2 bBalanceFlg = 0; + 203 2 bBalancingFlg = 0; + 204 2 break; + 205 2 } + 206 1 } + 207 + 208 + 209 /************************************************************************************************* + 210 * : CellOpenProcess + 211 * : + 212 * ֵ: + 213 * : ÿ2Sһζ߼ + 214 *************************************************************************************************/ + 215 void CTOTurnOnCheck(void) + 216 { + 217 1 #ifdef SP_CTO_RECOVER + if(bCTO_EN) //ֶ֧߻ָ + #else + 220 1 if(bCTO_EN && !bCTO) //ѷ򲻼 + 221 1 #endif + 222 1 { + 223 2 if(++ucCellOpenDecCnt >= TIME_50MS_2250MS) //2S + 224 2 { + 225 3 ucCellOpenDecCnt = TIME_50MS_2250MS; //üƽżϵ + 226 3 if(!bBalancingFlg) //ƽ⣬һƽڽٿ߼ + 227 3 { + 228 4 ucCellOpenDecCnt = 0; + 229 4 bCellOpenDecFlag = 1; + 230 4 uiBalanceChannel = 0x03ff; + 231 4 } + 232 3 } + C51 COMPILER V9.01 BALANCE 02/06/2025 15:28:45 PAGE 5 + + 233 2 } + 234 1 } + 235 + 236 /************************************************************************************************* + 237 * : BalanceProcess + 238 * : + 239 * ֵ: + 240 * : ƽ߼⴦ + 241 *************************************************************************************************/ + 242 void BalanceProcess(void) + 243 { + 244 1 BalTurnOnCheck(); //Ƿƽ⿪ + 245 1 + 246 1 CTOTurnOnCheck(); //ʱ߼ + 247 1 + 248 1 BalProcess(); //ƽͶʱ + 249 1 } + 250 + 251 + 252 + 253 + + +MODULE INFORMATION: STATIC OVERLAYABLE + CODE SIZE = 611 ---- + CONSTANT SIZE = ---- ---- + XDATA SIZE = 6 2 + PDATA SIZE = ---- ---- + DATA SIZE = ---- ---- + IDATA SIZE = ---- ---- + BIT SIZE = 5 1 +END OF MODULE INFORMATION. + + +C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S) diff --git a/output/Balance.obj b/output/Balance.obj new file mode 100644 index 0000000000000000000000000000000000000000..d9ffe877bc3f50bcff5e3a144e8f22daad4286d5 GIT binary patch literal 72001 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 F{|D>#mpT9d literal 0 HcmV?d00001 diff --git a/output/BootApp.__i b/output/BootApp.__i new file mode 100644 index 0000000..6305c22 --- /dev/null +++ b/output/BootApp.__i @@ -0,0 +1 @@ +"code_drv\BootApp.c" LARGE OPTIMIZE (7,SIZE) REGFILE (.\output\MCUCore_Load.ORC) BROWSE INTVECTOR(0x1000) INCDIR(.\header_app;.\header_drv;.\code_gasguage;.\code_classb\iec60730_lib\include;.\code_classb\iec60730_proc\Include;.\code_classb\config) DEBUG OBJECTEXTEND PRINT(.\output\BootApp.lst) OBJECT(.\output\BootApp.obj) \ No newline at end of file diff --git a/output/BootApp.lst b/output/BootApp.lst new file mode 100644 index 0000000..519ac65 --- /dev/null +++ b/output/BootApp.lst @@ -0,0 +1,55 @@ +C51 COMPILER V9.01 BOOTAPP 02/06/2025 15:28:46 PAGE 1 + + +C51 COMPILER V9.01, COMPILATION OF MODULE BOOTAPP +OBJECT MODULE PLACED IN .\output\BootApp.obj +COMPILER INVOKED BY: D:\Tool\Keil\C51\BIN\C51.EXE code_drv\BootApp.c LARGE OPTIMIZE(7,SIZE) REGFILE(.\output\MCUCore_Loa + -d.ORC) BROWSE INTVECTOR(0X1000) INCDIR(.\header_app;.\header_drv;.\code_gasguage;.\code_classb\iec60730_lib\include;.\co + -de_classb\iec60730_proc\Include;.\code_classb\config) DEBUG OBJECTEXTEND PRINT(.\output\BootApp.lst) OBJECT(.\output\Boo + -tApp.obj) + +line level source + + 1 /******************************************************************************** + 2 Copyright (C), Sinowealth Electronic. Ltd. + 3 Author: sino + 4 Version: V1.0 + 5 Date: 2020/12/29 + 6 History: + 7 V0.0 2020/04/26 Preliminary + 8 ********************************************************************************/ + 9 #include "Main.h" + 10 + 11 /************************************************************************************************* + 12 * : ISPProcess + 13 * : + 14 * ֵ: + 15 * : ISPIAPĽӿں + 16 *************************************************************************************************/ + 17 void ISPProcess(void) + 18 { + 19 1 if(bISPFlg &&( bUart0SndAckFlg ||bUart1SndAckFlg||bUart2SndAckFlg)) + 20 1 { + 21 2 bISPFlg = 0; + 22 2 bUart0SndAckFlg = 0; + 23 2 bUart1SndAckFlg = 0; + 24 2 bUart2SndAckFlg = 0; + 25 2 IrqDis(); //رжԴ + 26 2 AfeWDTDis(); //رAFEĿŹܣڸ³ʱMCUḴλ + 27 2 ((void(code*)(void))0x00A6)(); //BootIAPISP + 28 2 } + 29 1 } + + +MODULE INFORMATION: STATIC OVERLAYABLE + CODE SIZE = 29 ---- + CONSTANT SIZE = ---- ---- + XDATA SIZE = ---- ---- + PDATA SIZE = ---- ---- + DATA SIZE = ---- ---- + IDATA SIZE = ---- ---- + BIT SIZE = ---- ---- +END OF MODULE INFORMATION. + + +C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S) diff --git a/output/BootApp.obj b/output/BootApp.obj new file mode 100644 index 0000000000000000000000000000000000000000..6a585a7fd1f2fbaa410f65b5bf878d930c8ab310 GIT binary patch literal 65791 zcmb__34CK$b@#JpJjskl(kxbNC7u~)Pgn*ovt}V9OR}X{wj4>eXOhXhNVaS%Bg>AL zSxA6{5J*A^lr7MOrG&K{BmXPV4;}0v2VCo zm?>rYauen0OsZTc-q3$?pufNWM*2-EohuUPVy!Y)TeT}ID>r)uYMu(JCkvIeg^kKW zjmxu*%Gz4>biFovr2ptpzul-)p*h>wm@|H|vbsEbIv4uQ>~eFyzHnn-Ix{>q+E*C9 zojRF0SKn9r5UnIb;;!o%lk z-Qok9N4tD#GK05&{80Pt`_ea^E*A><(_@)j{xrQkP1rx394;kOsm;GBmDBm$Fn_Z@ zv>rkep{j(BKJvkHwcAdga@x5wJv?4IUCIs}AL;KOx{iJvveTLILaLC?*wcdt2M+7Q z%}wOWxnv%-Z2Prywe&Nsg^*I5nk*9rQC0Qhzjo&N&#bDk%qh2$mAAic;pS&nNj{TC zH$HX#i)T(e!x{=RlZ6>)ra#>NNbMPpW}FaTJcYjW)USJ{b2ODKGGaUa^QE;tg6NVX zir)4f`1YC0#Eao%J~@$6FK??nwa_D8rjq&8R6bc&uir+CpyhRLxahwA_&>d~B3D8x z3&vE;7m^Ci2mWGjO~PX>4^9>f;~4qhJ+N9kaPYLEztLoAbSgQTIgNiLr$#f=hwOnN ze6?rd9cN@EMBoll;r0Jq{9<5yL@1?HQmxgu-0{?cT#B?-NAk&17NCzGe(geBjGo@Q z%WL~v-xa8KyiiJ&i)ul<_bu-_BL_ZND3&t$k#eR~M$I?Z|0n=WV=faf!^@rNFP@Q8 zRV=Gz|IOTM7vzibOb!t5e#h%HW(1alna7*n@2u5`wYh8xZwMq;IGBB2d#82DaG?PD z`0%9KjCxnK1rPFwAkwbhCZqxSyNL^_!o8_AEh zw|T!D@PFCv{c_O%D2UHAn(9i4VAm9f)PQX=B^fPK*Mn891-Sl&h)k8nK ztOWhM%(|R@Caf#yXD|JSpZly=(U>~4F@2VhzJ+Py)2sB^(?9Sh&3gK2?b}b@1FW@K zYt*+(X&&lxmGw%;1@&_UKewtMkf0qk_1i`K+^AfxL@RZ#Rk(hja)lDF?N*q8{X*p` zC1Tqxxx$2yja3dPG23p*)$I$~Co0z}QQK~9E^P1r3E#26ovvKx*7p;H?zbwVO6;~< z|69RZsN|LCZMXiv2;b4lh!Vf;)-x1YEP$V^q%4SFVsp<>ghB}aRwb*%aJ%)t7Q}C& zkwFwc2azDVmerlCaAYmu2-VE-TFzw`bAV3#C5PTO<;eC z#txAk9J?p9OSH5hwu4LC7u=t%>{Ft<-3k}p@1!OmzJpD80(_JZ0}&oXj1c0BR13s- zuoh2{Ur$pEQ68LPCCo`NvLMcbFO@+55ivlBbe#eELj7ke#JWkWw_Blt{e9IP#MepC zq$}&S-LnxA1C|BJfnPo_2k}6Bn%F+e&d-tfc}W$5!LqtCgB!C%gOjVv>$TbSl(M$= zQ6*bR^lza*_~@l>C2b_M-a}br3H?>%s zJ)3H-=Z#(8O&IVixU1^mB}U_~r%R&)lQZKZtF`-H>%w=q{eOuz^cQRJ|5NQ$9q1@k z=H^!4LQw7WUk81GZoSOwc8^ump!QcGxJmYJ)TfslrIlK3j{1Dk*k;^%M1%g84_!>9 z>ua-%mDPpXg9^Hh+IBGhu-D_b^`Hj*J;r#hIlpXgG^hjXWVQdj+xR6e_=6gFRRiC{ zb4|ozr!x8cVD`5O6r;g|zx~OIk=o%rm@K>MC@ni}+p%cvtZjeH2;3oN`XUdSSY6JZ zOcs-NJ~Q!lBXp1Te68t0?lmF2GB-QDRJrg9cfgDWuCZMck#)TNPY5 zWv4W_Q#^yXg)}2*oZ=^;}7xD_vc513@4;VKz8{SBiuFtw^7}x>fg53NNudH?jkU-l5O+{&0cgVqr-|>8K*Vt z7l@TS#sjXF8q4QBy8Ie}L){PK1P5Gj4EXM9OjW-0px8w zxlEErvtU2rD2iFvXrNQosQT_wGXIl}Mxpt6BVZ>f(SDl?!8Ql;zhMN8k>2fto?)H^ zmP_0+Id^Y<`TR&@;e%8`IJ=EoN3{xW<#{DyPSqNXzaThF5R4=Y`aW%fm?AMjuV4(* z1l4LQ)FPxr_}uKI-#ZU5e6hM+)x70gr7=M;;Bib2kIY?5C9(zRH&<#fC|{+OpT(SV za;8vBw^1$O6Vzet)u2|GXMjJ`{1&FqEjJcbx4~u|R_8C>i1l6#_)nQ46{c(F>a(?p z%2Mqv7d+~MGeJYF-KBwF$t-81PHQ+_Yg8^0m;O~_5qvnd_fof<2lKoZ zr0S#jUonEl#Bj@1$1d%JrVG|QTFzc$gpDflLBnWvoe5eooZ+$Wy2IV(PS8V|EP9pJ z-7hh5RI&04>9kGWpFdN;;rvF&Rhn1BRAqI2pm-tEyxG{@1A?-%j3r`IhwRMB(xLue zHi9OsBU+D-GwAs225B0D#3g$+0oCd0c5kq$>}YY8#5OHpN6iTvY}|TMYxnP~@CcCa zU}JV_h4jNpzP?mnFV~l9f2`2e=IMBkc)0GeuGVTOGP+2`gA=E|b}vC*N^5YpJ4?%R zhh23uX1(5p#9wXnAFBZR(n?V+wJFuHaOLxH)I$%5=iixyD#sD zji&3&PboU^VRxJ{7mXLZ35Z!|o!%;#7$E;hm=5JvIDqm|Z ztS{b3U||1ji#mH;8hNH7?5gg-+6L?I*{d^8kT6xEpKr z7u4+a|DkT2ptl|L2UCB$OK1?(%D+m#1K2v_-6OQ@Y2&~T2u423px%@n`XwW1!n%oC z#Di83Gk;O7rjz9)I8!)@M#+ilJb+wd{y`>W#y;G?R8l|EM)2(d`~vrRqcJi&n_Avz zuD_B%p@@aqLa)|Z{vuNeloN2SkyOeazSf0q)lTA`zKni9PlKK48T&)3EFAg!#3HvD zd)|y6exDIEVco2?dx+bmu#;!deai^kW0B)tJwV>`dD8s_I-N|X=8fPn(f0FM;~>5N zaAAIa&Is2jOrw>S;U4)#BWS|9MeFepD@Yr4DDBfr_2wvyLC6ax6;=!}MKujJ#-nv? z_Ihz`d6rbs?yJvi<;d4Q~Yyr$tLsjU_XHs`{&(%D`y;yTX~Q%ANiRs2oknD+_6 z)5;HyzSjtv5Il5{=^GSDEMCrm64>hlj(HP9vnVl zY<<6wIj5P*Fw<}Y4vuGE@Npw>LfN}$8w0j^bz}zD>O|m~<{bPMvu?l9cTAe@5W7z6 z_k^dXPyo7ozFwTktgezWH=y9d^hm_ioCnRHW=i#ZX@5$PFvwZbzQC2V@R+1sNEqag zGo_Xqm2kJz8OBoxnmIL3f12|{`L&|FOK^xbvdVkK``tpeAv-{qnJB|Mg~!3?9--zTk3e_UqI{L} zx%+*W@T=mzZn{9W>b4=uF##VJ_7~oBn9Au-JkWkzc%Sfnu)XI5>eqE%d`}4>>f!oz z^%Cz72i{Bii+h}$;WL5nB|XLi^cD}$Q{0mD6c6yLxHS`~|74(iDo~dEEiPP}7~ko@ z_mcm`Ey@4l7Wg4>{l-{KJ8=66$i*m2fC6JdR z50vFP z?X_+c@1>^G7I0~t397|MvYUln^r6hKpKuP2{MqLE5a}vX+j2s|@XFt#^(n^M73>K| zy;PR^9;0>@xAZZO2m3sb|33uU<~D)9^@ypiTHeE&Eg}%if%6)!-O93?P`E63N{PFlRa?orm)HOji)@=>-ja>+?MHBO<4 zSLAdKVYRziY+@p6MhUJkwB3dSDyjlaDX3W_$h%VV>ifWJKCNgQ; zY}IZPYDt5;4kNQvTdh+#absySLqiv0SFwRfDM5CrOu5E(X`8X{-9o^h@K+LrPo^u4 zy7EPHnn>$PlKRXY46blKFtb`;uMyI3*aYc|8s_#g(lKsIQCZ5R5gRjE)w%>Zz(@!8 zA(MP^`Fsr|Q@i**w}w{hE+S;uLCy<0MOOWf2?(a?7W#uZ*Ykqd#6(`ugKX5=MC9ZO*SOS#D z;g`yo#cb4?)O!0YUgBU*gQZ$ic_PeC(x|ZO2N=3auJkG75o4K|L%MP6MOxe6XA!^F z$Xr+_AJDj(Rs=X47my!F-Xq)(ON=N*!)~m<;R1)Pue#RiUIr$aM)BuD5rXY2Ml46I zdo+N2M8FJ#LhL*s7I^8{cK|OP%52-O(|2#;nsNpE(6PfL1Urml zXcu0V|6nXCG9Jb`~0MIJI1=ynWo^7x5~FL$+KRpa9ESZ5>G{ka(^B*ogHZt=GTD zEvtmo(t2fmW9^iJ-AZDsHRI=24fZyM^?c9+!)E1VKY68`2WY-q%+8QG{J3B64llT3 z+muIar^@-w@@*~`h-&c6Qts(|kr=>dTpYFPBhnuJrs(UTKQd0texdu?JTdN0FVIA> zY!1on5>DGy7Jjn`lGavXOGu-Dm+pQt(|yEFv4faGNbhzB*qZIIPjHHoruNh+NsczF zu2NnyWxYJT35s-=%Rx?{gw8cwX;hlCH3Co9=jRdJH0fTt*YnHF*{d)TRu3<&kudtE z0uECZwkuYGaf6&znb)aRON#d4>}F4M0fs|S*G}e{K4{T6!Q*kVC=qp!fycq_ZsDuEgn5u{1HZJ*&dz?frEbQ_4#5x}VEa&J z{SG1R*Q`?P68*bZCp?&^1KIZ&n~#Z1+8nQ$D(RXdw10bXW_6}gM{3i{sR~JZJTX0< zv;;Pu#Z00)oxX$Mt~SEOtrt2-R9O50vnI#FDmqrJc^g60TF{`o7#fRR?E#?PFF3hv z;gL%{`tT{X?oisQ7Xrm zUC>rB5V5Kn=;geGN~cO*3dP3=ST1CywI1PPznk0j7*zhFM$nkZfIP|V+O`UgD;j^Z z5g3WK&I1a$!0Q9!g(g-gr;vDO;>fyR_yg?$Au%iyLHmi$RP}emBGsY;O@I(v|q_lq;rHb zl3JsTz*D zHLx=3Z;OhHV8c=F0EjhTSzAvjl#jG@z^7RmLyZgH;llw$4Bbc-g)j7OkxP=&7rGJ% z`F9vWW5R8gWpAt6bwjGWohpovlh5|E#tNdA?r0g+=%z6~F+$Gd+V8mtXicw+Sb7la zYStSYwPulEplibCgfaU&tF{S~XM!2T7n0)vm?RYrkW4agJaf;*83go zeymQFQ?SLt7k$Kfo(43|LuSvFvn|l9+a-if>TR)6xmQz@se=itEyIbtOs%f20 zBZ>3*%#dG2&|gciHE0m_W1h!CoG@mf zj~FZH5z)Ha*|Pz?l|+XB5BXQ@Mh&%vLFT4@jO!;=Lv!imrFSMz$lP$ zGhS)} z&gb6uZwZv&8YsU_lw(#lP|k^RT=+T=M~B}FkJG=nASJxtd@86`AU(M_tYfqWO6xX_hCKr>6 z2Y>rf+IH&>^;-vdhgrcQJ;C3aqhx(;l~wsLCjUmQlFxGwHfBjD9UgFr1^wMrC!07<8us4rkEITFafxHr#+Hxf`5)3#?qXwjLF()$PpppyxPdJc+0N zSG%1LGh*~`>UM4)%$gXrw^bH#!EpTd3IqH!GauV#zg8B;S2*l0TAa=U!av82tNe93 z9&6Mt=1LS1GB=(OnPxY#$?R@hEw9!WMkSiXStdCPgY!RVx)lGb3I1b z98S8r1>qFYWzsvomNoy#3puD(RTU%Ui%)Llep>Kci71XzC zRbUb7i~Mos#w@f44^h176~>Vy1WT&2=0<{Nhz#&~BV4CoRSi~eTs=LtSZOZQNW&^t z*6Yi^;Etu0hU3P&H+#rWIu1LAtJ)^|IM?=t`kxKCX8c9h%}!mT|-Au z{?I1b?lF^ zig5J1u)L4m0@Zgig;t3`h((-LSPH{&M8KWlF4NH|Dqm#a4>uVs9JP2b*ja6n*6q}( zR6dg`OifTUe)x-wc1J`W$di970%r{!SJ2minb85Nrls!UhPoj2&Z z^L|ZrIt*h`vDa~zX*K4-Q=!|nuIGsLpu(GjxgWKxs5}}EA9PG8m3MMTHieDqQ6m&~ zzB&)4YL&a}Zqb2>SDS?t|GL}du*C!~Js#9h@yLsWIMNanTo|$<*02Mn;BMkca?+V- zBlAthJ|7Ssz-dO3()U$3wqgYB7CT^X;t++u>5fhdT`FB>gx@X#%IBFr9C*s&LJpVN z+}N(vaz@qtye=lnse%5XWZ6y@i*&vQ2~J>5&axxC+G)1*`3h!8KbzTiF*8ED;7T?* z_7W|1u_tx67|b#o5+kY`ziR~R5QH|zJdk$lpQM98?HvX{NOPSnEb+Yg&Ip)zuu*wk z_#C_2x=kaNA;!DXRcXqUN2{cu!&X(?dQ5}?LERosWX|w!@dZ=@nM1t_X)+U*J{1~vS-XwNMcwu7rv_W%+xXy zIO%mN`Zq*UHPu-CM}n91#Wazy@>-);Gorn$5Sa3BF+xX$yXgwXmh!v7N$vXG%uFmQ z)@O=ot8{TK)mWZAd)h@7Cw@KZ?fy-OOz^!P7a~6w4f#t(e02+p?Ff(8iTU?CAr$6) zVA;T$uZ>2mU)Heo`#fGKac;0yQRZt^^I?=3v2^q4i@bcRnPw(4SzKNk9)odi^4s)i zjnDD&omoY$Yu1P< z;2(I01`XBw*;@HA_DNI=(~q|d+ppsq4F+}S?vMnd(55pj$~K5D`!7^iIJNJiF**-q zSDi;gIWce?Ij4^x*dGqvDH2@Pd1;rXhRHiQni=?}5i%+=oJ%YSpuP$PY3%P58p6UO zax29?kEhj%F@diPV9$EE14-_ZX|V1MTw$MTiPW=+v|0S_6ZsUi;IIe3vB|J?=2UFy z^Wgh7>GMu)rp^W%9l{z7pQWhC&A)@`LuC`e$Cn#Lf}IKWDy`L%++ii|2T0nNK&IiK z+ePqejqN+-7~%byiaC(4?=|kQS?>9{h$+$WK z$Z#5oin!_ob8vJy=LIHPi6UanXboP=R7o;krK@I|e`#znVd)#Rt_b$^s5w0&D#DWE zOo{9z85*Pm51-hiUELAuosz~lI@X%E!wN}ML;*cp-JuF{w!f3wG!cYum{ge{99xc) z->)}vq-%P@AQ5l2p8GhRxud<M`LaNr(c5Zu9}QKr+m z^ETxGl}Q*rYJ|pV&;Ii9)EE-L1BK>ij9{H&z;za(nga?} zMSn;Peu2PFP`_gI2g5$$oe&qZ?xivwtaogxJ?j)z`Q@y$s*{`u``c9e;kx<}4bac# zCqYa*YT`z?eZuYLooPibJM#DSXPS=@WcW-a#7s>xl_1{b?pvU+=tU!VOdNJ|8-w#U zsOd~GH*(6XI7G!R!vnguta2OH7L-5)sf15hT(o}^6B?wUv!#tZ_J8O?w@O2~*|xyY zuFKmojQ-m=_Jl}dxRr^;IV0|~MzE+=(B}BrjIt_3Qfl!mIq<0A=cqo1k;q<=`FfU_ zNfyQ&_IoX!y~Wt{ez8KPdAyXIYc~w(j+(6(sodBQ4cXxmrCH3F7(8M!L8Gj13Gzh|tbM_3i3 ztR0Z$nkPTS57n^47Id$0Fi&x&Y*p#wO2c&%KNqev*0ERk?V2obz{M%KDQo5kF`;jI zTY4$yUtQN?XEVm}Liu$bQ29mnF3+seT7DNn$wUXoR&PBTPVS5TWnL?su?lO(aczZf zu=s%1g+Jg~2lt1;ONlw}RVWLymLt{^8tgZj4XcAiy-;n=IQqR}nXWK1^md0$kPq?Q zM(C&rRt>V;BV~}Xbm4V5S6ijStFvzJTh~fVY!LIJ0&b|AW`ILotOEN;_Pju>DoMQG@qav1x_; znxAD7Q_6{#srp>1PC8|rr2^O3FKAtdTT5r}FXM?*X;s*BK2f;Lh=!;j*A2!XwuzFn zoD>eT6&<%8(7N%T4C;nPX+I+@e~ci^HK=byT42dbY{|)`in*v{=dHhMH|Ci=?;`xy zS(*$}eqxz!g8H=~Cg4DFXF#`7pQFK#)pXQGl0b{}@_H0vV z3}o5n(&iXSROB3ZX^AISD@#c_f*)#Gcu+u|?BQ)DcjI*+^M?pll9(S!)_rJ;!3i3S z5+oK#*aTHvs=x#-a;gxNL3Q1fJ(Dcw9DV05Ber^kM{JH~+3mWY&Hdp`1^{ae4}_5C zd1MM3ifl4~ssm_Y01M25U47I`7P{SSx>e3-4(y+g3I`mKt(?*7f?%2bPO**ed8H^Q=1HV%k5O^QVC6xV(2=V|!)Y%Ejvj34l{~g-(+m8q( z5%9VT3T53rgmRbaJ@-E%+XVfRpw225m72fO4d6eaRM?|a!@1GNB|G9zk!9e+WfpUMKJQOG& z3X~5A%DVRi{W%(Ve=JZw9w^@wD9c>VNZ^d6hzLQWy%PcWWS~48D5pd@DmFpk*0b5b z`?)~57AWg`#{j<=crSNT%H$M$ulqMqUJ~%Jz}bH?As%io-OxsPH2}XBC_fS?zbsIG zxhU@ntlwRM^}8#ues=}d@2@B@iw6|A8^YDI0;JxHmU4${`an`ro+KH{6 zlAm@3#v|hu_+IiO>Cwe|$zSC8op>+#Nta09!h5;Cy8`?@F8JAx=Ki7$^+6Gp?Z(9x zXS|nZeZ>QOPsV5Qz3$yXS=TsG)^}8*{33zpxJZk@`zOVF8PUgCXrto2OdZ5~nPdKw z&r;JJ2sj!-u2XqPKF$)8azc6l+Gy4!{`Lj%CpQb=`#v$AeIkh(XN^fYC67}-!Kw$& ztM)A4pCc^-8U!Bv{eD65hKDNBU1 z18;1p%Z~`@g7GfahL93iHUe!E+{3$&rApqa@-jJJ$SB%Pz@|u&zO+sT73V`c3DTrE zGgF7&Ij^gYX?2wg&QY>e!#HKk$uH5bayhN$#L*%8*fLR}g<`4PX6$i9oH3MQdx*1o zVPkxUfTfMWUK?p+&~0~CLF>i)g2O-DxykT(ZD9B{wkCOJPCj*kKqcYvEO(0|`o`J8 zrouw=^Jf2ECou%)0b5?=l#-K6CB!x4fVnMs{9zXpHN~43YU^8FFmQi#)!)XG5F7n2 zV@C)4)I?F_*ipIHI1Jtt&X~};dR-8&N7(leW{%9CGB8!-6j4+4sBy$`Yg}vmdZv)#99Ghu1SScKSCW*u!4t19 zN=Mf@{3qO%r|U2c z?yu*$B-i6N-Tt;RubB0qhO_?)_V@TDoAj4eS@gHU9KM<=7e-Zc;eFNh_aw_Xy7bDI zb8jH%aO&z6fwl^#>);gf!njR4ndp9d8{zQGM7rBpOP8==7uidGa`;p^17;oGHqK^p z9xSJI_O5`B&}AOZX7|Y&<)AdzTT|zHT*clMW=77*Gvpq+TOlwk>=w85_}2}* zMu?fwO%FsSPBP@<3O+1HHzuz3=-@Tt9NP)UCuj*eGq9jv?^bdKul6PWB8x~mC7_)4 zc0*3Oy>49TX`B4_sN=GTFyG*1~<<}$aeQ8JRWL?3@YCudcVH{dQ z=n7*YbCNN;V!OpQwp*ER_;Q89sZSc4j*0x?Te;VK6xQ(AQ35r&V_%^m?yJ;mVs_Tf zjXE;Yox5v)pMbGyI_M85N)K7^Vny`fC909I199aI1*?o2dpw!X)1gBY__NW7Bv-!K zX`9HsqC4QlRHLlNC{P}xPT~Q1qAaIao^tSgPx0WBt+4B@S!*DJBphY(eE3;?u@9DM zv724>2Sitoak>yvrPUrR6?Mhd3-c*tJ>szR=P;wacoqa}Deigx0q90vC1uvi0SIp3!-PS&w^A5npT8>%zA> zz`KN5>Rs$g9ne#jhwWh~Vd1kUPj657YXy2pjWPyaY6Oi5C&7=I@!7U}U$vbzXYTY0 zbyplLgx4F{DcX0qmP`NFCcw+iN>)pGCzA^j zJaEewayv*JIqt%@hO8q>nlmf#&aGt3saR9^m}7#{msyeVcA%uPnbcTmY8+Z?cnwi; z2ud%nG^j$LG!?4hsCO&cB4V@9cX`f1=<43qR_^3Ww2Fo^NJia5{yFZ4liY(aEbYYk zk#Q6W0i9y#s$--%iDM5d{D*17(p$Q~(3I-o#q6^4#RqnS@#=8ag~Spb`~cVXUD? z)X>V4@(6;4Hy#sy+esd88a4)UM#G^xXvBV(&$0Z2{7Bc<>I=3x6CSi_3r#U?PG0L4&h9e|3-*YO8I&}PXlVFQ_E7(v2iRX_ zQRvtyg_T;9wycu-;c(CtbjTN|{1c%xt2zayBFc5I1R{j}Q2;Ag7oS{HR zokNihA4fuHN4Kyz1dDVMCd@`iOw4A3xw9k8y_>U2MhtWbAF<6mj!=kO8A^RL{fA({Ag8Hd}){ zTNHvXjq;&r15X$S9v4?Ye1pLu7M$E;h?WHxyu;;lzVk-jlyfEH%`uK~jUspj3?&9- zHzNXT=e3S+VS(r<0Rx-~++6>pvF}mqf~aASqR5?OHmYmtaG?6H5wM9&^*EWAqUw?9 z(EE&_G2z&_mvJUgKKM#wx8v5MTDQNh@hquwj{U7$1>;UfyMFh=<(}s&MO$}C06WYs zOn%B};WEz`rkiq*>2yo>#I&|4FHMUusE4pazqkp)AX)K%wbj}2H9}V)g0RCUs6zz) z=2`60;q&iQcnKSxOa_={{!7O8aHV;6fNp~}%dUhc=F!PJTgG?zy~eJ_L=1G1Ij^(d za?splr?8zaFkCfPnxt90s%4n|iNaL}ovuOJdZI9b1*EK~_kZl8E^W?`lX(+U)l1a0 zw5?oAy?_^ZC)I|DdhuLF2`cRK(LE$6>t-^_x|s|wu^z&Bh`BQaYhl99r_5<^-6Chi z+hFOD-Vvz1;Zzh8-mnEmu`@M8@cMfPMLR5^1ERToYY`vi*Tm?U_`WpJ`@IApig2YR3f9l4{0 zijTd^2pXf54Ceu8O|H1Zh((1r*(nlNHW*GhTnp1P1ZSE{J)tVw($(V-7vW9D1V@_V zCPz~0s1RhFhQoCT?0Eh>X|K*yrM712D&=sGPO+p!sgmjE-+9HRQcy} z#KlbloeYd!HsxhX`5-)RmhG`$!}AOqSFY=8&~<&m)hsE7NjD-cP2I-qtfT_8C#Y($ zDfD;TJH2G9Ske!$ijPf6>dtN6k5s2d0f`5H`-eI9h%BOMjv;z32|CoFOqcqUa(8B6 z7Md#2Q{LtoZ7PGbM@4?*&AejMIp=!0fp2UA3FeIlE40FaLrV1+EHpoD z1nU$U%UOS(D4>N4;%RBqe$a0dJm$&wXYf49!#a-zJ3RPxW6M#2Z10Y#89F~@ZgrHv zq+E0w4Bmh3A9qPJL$+%jN2eTAy$#dYWqPBRO5Le?5xFB!CIKZe?*7|uJ z~2q4|~1jL~p$YMJw(4AqV^AmJ}R#|xQc zeRh=S#65%dFRA`;p&GYd=hg=l{u6Ug{YDnGzJ5m45Vp8vu5QimL8(!zt-!^yN?tK1 z${HrtcMAUPd6S_((#M70i(xO z=Ws^fC02IRV|^Rz7gZt@oEvC?ef*EQbBP1x@77xV$p_BwR6W?Xrp{3LFSpvCoJzM# zf$eaPUIABq(go#6xPNrM%-6k|@c^557#SH;C2T?t$3skH{dhZRK{-V_g24%8h7*jQ z6n!^uG%TICJh8_-kY1QE@5pjK<|aFnKx&Ff~!G8o_%-uF*Zr1IRn& zLpL{p*1dXO1|dW}d4HO7*wJcs7DPoT+&eW5x}C>=-a>6-y@siFdIIkR^GbL3d2t5; zo**JaQWU05KY2q>n1rfdp!ayN@IS^5Lgi5wdQ+bf4?W_tiy>b5FzIs>o>32FF`R;; z0{&K3nb`0oo|^f*5qO_SrmlKCb@e_R#S}zFZp2-fRFw1n{6UV`|FAc(uA)_Xlar@S%s}I$`PV7w_62 zH0or4mQw$21dfUALBqV-hLdH=n00curb>u=gtr|Pv7S>L&)=9ORuMeT3tB?Br0TNz zw9!xTnswsRwek8KrE=V5gpLV4&N~-_VhG;;V))FUGBBIufG1K6IeLeLp@(_85!7al z0V2w@Vs#DO*IYTDoOtCI6mS@?lp8E=;DBXuj+EBlASehLUn20$CNWFj9@HM#z7kBO z^-dvmT{b1C{oym&E!^d0ra%A=IAKd9!I)t8X!BKd^>&tJ345qqoS0mk0tSzij zYf|QOw`0~LS~szV^{JWEx~-C8R;Z$IwKe8>UXj$t7n}r$Ll;tuB+kEO#9=~QFLjWK#>uCowXw|zxl6d~@8i{lMU9O&-Yu)0?(kbz zcHEPOpaAdw0LNscI!f!yE3pa0C7+p@1S_PmcK*Ll$HJiB7Z)pdx{ z>&@JtlbEg#*JNT>H4bIqSv10L7ukaw-0CEHNZM<2zEazCY#lV*~P3VrBq#u(;l(5%Nt#lZEe z=iS4Y(#0uv*sZHCA}$pFH{zaH6`i=@c-^@w`x1gR>9NBuIYW=-kSDj{XU#-}b$yCM z`=x;+e?@hlpgJHWF&$%bf1w70GpF>VUGO_OJrQe?zQ=>ri}!kH3FRl9*WUXN1j-)_ zlz%x;{*WlgtZ7k>i%?9ETu`oS-@k|XBDVSpqp)G5qaKkaf16GWLuOGN70bs9FY_Hv zh!2L#w3ziKt;5hPe?}|cz*d$Q#TXtNq{Qn{m0XF?QMh>T5!1M!58@CqmcyZE2Fux1>i!_JlRY6^adp-tVALvB*`Gy%RCt$TLLL|N zfgV0)go+C7=UyG^h}qu)zs?fKHQWa>O)RVMZYHcdv{~J+H+b}j5h^OeJKmAB zww*7`OcrM7EV1m*8i98zj)GRv+ZQla-LrY zy8Km>f6UnFm^jF0LLcgJi0W_zMTM>IB04iI0j*{;@(-xMlW>8d3fUiv)eAxVrZmv8M2WZx>7H zh1~V(lsf71yQ*c~SYV2l=Uz;+uLMdu)*oeB+hYS?bvw@TThH7~X&oP6uDVet3mCh$ z5EO9y^I>baOC-Wg8}K&#N1Nd7BU`gF$nGYK2#Z zbQe-QGTY|VzmfLqJYZKii;E*)E2dPO+B+XL0G?f0U)- zvr}l%P;B(w5-8s)>W^5`F(0vX$2`8*B>>9B0Q^j#tnUiJ_jd)}>*r$N{h7e~*+3b1 z#^c~KV)2G}F6)XD>buwZ-247)pu7?&-xnya2Fe?OvYyh7_Vfg8lrILpe=tyfC{TV$ zp!`^%{CJ@Jia_}_f$|#zWnE80|9(F3{vCnxI|JqS1j;&BLVX_&yw_JB_U|l<_wrOz zyqEZwS9{{UE}Bu6^AQy(J9sbWM<&qYy~wDbvOLpBo)(DjUl{2BivwldM#uLr7w>(? zsY9N2lf{Ig(weg; zj}pLpiEp_J1@Gm0kREHi*FDxK|5Tv=lD?%K(nbn%xAHo6WhocrwR{K*pAg@72k_Zr-7enC8#r(lo5Ytqc?wD1Ck4DbfeG)Wo*-|9 z!~44f@RDyP0(>(O;G2Go#G#jc!bZi}YZ8wyp}2hB0!xX20V=eAkjr_8h>A~G<2Teba&V9?)Z zU{0erl}Q%i;cj!WiNF2a*L@<3$IpbJ7*an*4Rhg_jL=a*qsQ4)pj)GAbHfcv$*$9B z9L@E*+xOO-ZmC=s8E@QoCkJVdvHg95w|iS*$+4pH&W18ga~4lRtfy<)lvVp!k;4TS z>Lv6C_~Jd+NCn7J84p~jFXIklrrZ<2D5Owu#~U_RI+OTUK1e2Tlm_kDR&KhT#)0=( zDW?~T`97Ds;T>k9JpC^ zqUth2S58>zoV%SMcq#B{rcj$R?CdOo_R*+f^as4*o;k<=@Fa&x$h(7;Cmo&FDz62s zHL2Cf6JHa&63dx!oSDX%j9)j7vsd+lx}nJ9ZoZNQ+xUvpbPp#IlPQmSQW44D8LR0L z%11vF31*qLe9&$HxSh<&9&xLTF3b4zEl2Y#K~X?#&Etw6U1Vs}6+kchH?mv%LP@J-;L=8$V@iJRuaB zyV#BBHV(vMSIz7!`}4wfTkLVLtI%8J;XAkS(E{cA|Vv08#t#TOS#W* zyh9jop+D%efA@v2G9vBfVaBXWwR9mbogo4IK3jD?OsK@gu?V-ZgO=zP3+L?wcY<2v zrLJew&d~4iI2eox<@%RcnV^)A^uRSOi1V32&?M7U&~6rS91T4s$A})p8 z&5QE<>|$lrUI#gzpt%RT!f^bZfZK!x=iPJc>|LUCs+}zea5xxtV(g=u@PMLtB3FtE2BfVgwQ*m6`T@<*BVVhQ1#jp}M;y+-`qH2c!|`&k37hs@+7 zz2#eY^*d2WT*rp^np9<&?aNC+?q!+iMz#A1;jsH8#rX&?IQUiw?_-IkhP}8zoLg<|7x*;Y;`z6mj9GVz z4fC!E&5RhSG#V7*`kPILu4nNlIV((Ew@zo3*f?jmkGji3$Ja0Ss$oRb-Y!zflD~1v{8PNI1}SlItUlihFry zm}HPqv^Cb>VL1#@n&^ING@P=!1vkzzWstd3PP4W1l-uQ2%IFnNS?{2199+Y||GWwC z720@Iz@cm!H_I8{fiS7;S{hYgC-&>+a^1ijlve=zRcTt^#pBII4|puh1r!Y~pD z7s$f|VSt=-KKH(VyC}y*?lj!}FAThYQK0;wDDMgMCobj#Zqg&-dwFd$-Y*8;KM^Ru zN-ICbMCGi&LonpuO1KKAjfCgC0j{oR+F<=k-OIX}eg$_B9zZX0?s1mpl}d1}}s8!pp&>)qV|M~!dQLWKyQs9xdMvw5O?i-Pi)E*PN`!khYR z=CCf4&Zy(U!rM)Vq_9kY>tuS3O?C^wQ5K_=(5%whGwJ0`K=lQ@!1STWYVbddU{Om? z8+Z<@&L?LI#qmovG?)4#^$4niSZJ;i8b|& zS>6mav#RvVKQXp1qafGwGJr9?#RUpGC{x!q{2S!z*tFvz`b)pcaf!B(a#oB;w)ny18%Qy0QleveqdBTUyPi^*}%eP%uu zt4A12XL;;Q)tTmR85>RzXLlYTe41H~I@W%;Sl-$K$eaAyttkz#jgqz;KO`#x2Si@d zXW1;NlDCXEU7AnKkQXW4!RSy2(6A!(X6jnFe%&iV)3>vB@9a(?w`Q({S=2?A8YWLO|WxF8{Y_XU&^B&pSwtsF-DN#t~hy< z+3idM>U{p$#oFvy2dQBZkGS;)tmQjok*DT4v`EY*}}c zBFXYQ+_ssJeK$w12%;63CdjWy`Qb$Z{fGTTQOxddu06lG;{p`Vrw0&p{bRAwtRCtO{@OpN=p2K5GvtqTXby3R9a4+ctDyq8J zK?Qrw`(P7;~VMqOtEfUHiklP7wG1kx{IKvrV8AMbfd(sF8^Vgqd?@(bx^2!%iYWEVL zG~ljP0Kp^nS~tl@)le@bYHg(Fi>Yr@MVM-4-w$d#bKj!%04}|&wDKEy>TNr7vdrlm z+1T_s1C6y>pVlz*6oc|Cp{xvTRu%gR3GALM!r{s>5LtUfyB7omZqfS{Z>Oh@bGaEN_=T%L->z^>zTq8^SXf z4!d1pABYAM^X>-HcDW9CyIkQf2*+5DFfhHd)ZOU9tP!qT+-a2KRqY-miT*EdtdnB( ze^vj(9IA3R!;cwjbczuU${SdN4jRrtw+nvI49FTMAM>i@G|-S4C|w=o45d|u72}~gzdZ)nqIi57vvqgtEO_t%k51(tDVC4$Y8<)wt!@C-K&Q3 z0q3>%zAsSLhkQ_@Fa5fVB!WYjt5)_Mx2ClU_cQy3tcFWuC~Hifw6vPm z@36Eq1d*W4U{XKFzWyp%zoRXc`p&%PYLyl|4n-OpIot2t1WwqBSxTzIKyzln;tsHncS;z zafUO}h{)}!1*T`>}|93GXs?Jo-);3mX zLVs3)hEeiPah%3^-h92LunQi7bJ>8a7kfwAZWFi1LZiMGsHO+lM)^9YsLEgE-gs;= z|LaB!#zaomX~qK*+i3C%lav5n&Rl5#Z?pPDIK*>6Vd6NY>+1$!BsS`iw<%uJP&X*` z#XTg8E`(;^TdS=e7x}EuW!~r>Xh8}KCbEA(%>|M;_;e#)oAP*^%NTKP44X9iUSsDI zVgq}c*@@eEvO?0eb!G}-9p{t*%%B%51$3@iU!Pi`>ry}Hb~_9@sm=EguNm^O93HUM zJ>Xe5lfxGru;4ss`XxN$>SSE+Hfs(7wu<0hnsXm~+()^ZG}aNfZPNE=Y4Dy4eWN~2 z7rWt_u~)jFtxd<|o^xh}_S*dFmk3D8-)q${!I1S0X(;PC6DPR;bWdxcSjyx_%9&Ex z&YBm@6#{);6jenZ)OjY(p~{%NaQsKbStwrWlomQ!>bbJOjInhBYkUf9;{{Y$AXYT+2 literal 0 HcmV?d00001 diff --git a/output/BootIAP.__i b/output/BootIAP.__i new file mode 100644 index 0000000..10211e9 --- /dev/null +++ b/output/BootIAP.__i @@ -0,0 +1 @@ +"code_drv\BootIAP.c" LARGE OPTIMIZE (7,SIZE) REGFILE (.\output\MCUCore_Load.ORC) BROWSE INTVECTOR(0x1000) INCDIR(.\header_app;.\header_drv;.\code_gasguage;.\code_classb\iec60730_lib\include;.\code_classb\iec60730_proc\Include;.\code_classb\config) DEBUG OBJECTEXTEND PRINT(.\output\BootIAP.lst) OBJECT(.\output\BootIAP.obj) \ No newline at end of file diff --git a/output/BootIAP.lst b/output/BootIAP.lst new file mode 100644 index 0000000..4b17a68 --- /dev/null +++ b/output/BootIAP.lst @@ -0,0 +1,300 @@ +C51 COMPILER V9.01 BOOTIAP 02/06/2025 15:28:46 PAGE 1 + + +C51 COMPILER V9.01, COMPILATION OF MODULE BOOTIAP +OBJECT MODULE PLACED IN .\output\BootIAP.obj +COMPILER INVOKED BY: D:\Tool\Keil\C51\BIN\C51.EXE code_drv\BootIAP.c LARGE OPTIMIZE(7,SIZE) REGFILE(.\output\MCUCore_Loa + -d.ORC) BROWSE INTVECTOR(0X1000) INCDIR(.\header_app;.\header_drv;.\code_gasguage;.\code_classb\iec60730_lib\include;.\co + -de_classb\iec60730_proc\Include;.\code_classb\config) DEBUG OBJECTEXTEND PRINT(.\output\BootIAP.lst) OBJECT(.\output\Boo + -tIAP.obj) + +line level source + + 1 #include "Main.H" + 2 + 3 + 4 unsigned char code g_loadercode[4096]={ + 5 0x02,0x0D,0x7A,0x02,0x10,0x03,0x00,0x00,0x00,0x00,0x00,0x02,0x10,0x0B,0x00,0x00, //0000 + 6 0x00,0x00,0x00,0x02,0x10,0x13,0x00,0x00,0x00,0x00,0x00,0x02,0x10,0x1B,0x00,0x00, //0010 + 7 0x00,0x00,0x00,0x02,0x10,0x23,0x00,0x00,0x00,0x00,0x00,0x02,0x10,0x2B,0x00,0x00, //0020 + 8 0x00,0x00,0x00,0x02,0x10,0x33,0x00,0x00,0x00,0x00,0x00,0x02,0x10,0x3B,0x00,0x00, //0030 + 9 0x00,0x00,0x00,0x02,0x10,0x43,0x00,0x00,0x00,0x00,0x00,0x02,0x10,0x4B,0x00,0x00, //0040 + 10 0x00,0x00,0x00,0x02,0x10,0x53,0x00,0x00,0x00,0x00,0x00,0x02,0x10,0x5B,0x00,0x00, //0050 + 11 0x00,0x00,0x00,0x02,0x10,0x63,0x00,0x00,0x00,0x00,0x00,0x02,0x10,0x6B,0x00,0x00, //0060 + 12 0x00,0x00,0x00,0x02,0x10,0x73,0x00,0x00,0x00,0x00,0x00,0x02,0x10,0x7B,0x00,0x00, //0070 + 13 0x00,0x00,0x00,0x02,0x10,0x83,0x00,0x00,0x00,0x00,0x00,0x02,0x10,0x8B,0x00,0x00, //0080 + 14 0x00,0x00,0x00,0x02,0x10,0x93,0x00,0x00,0x00,0x00,0x00,0x02,0x10,0x9B,0x00,0x00, //0090 + 15 0x00,0x00,0x00,0x02,0x10,0xA3,0xE4,0xF5,0x26,0xF5,0x25,0xF5,0x24,0xF5,0x23,0xF5, //00A0 + 16 0x30,0xF5,0x2F,0xF5,0x2E,0xF5,0x2D,0xF5,0x2C,0x12,0x0D,0x5E,0x20,0x98,0x03,0x02, //00B0 + 17 0x01,0x8E,0x74,0x00,0x25,0x2B,0xF5,0x82,0xE4,0x34,0x02,0xF5,0x83,0xE5,0x99,0xF0, //00C0 + 18 0x05,0x2B,0xE5,0x2B,0xC3,0x94,0x8C,0x40,0x03,0xE4,0xF5,0x2B,0xE5,0x2B,0xB4,0x01, //00D0 + 19 0x0D,0x90,0x02,0x00,0xE0,0x64,0x5A,0x70,0x03,0x02,0x01,0x8C,0x80,0x6B,0xE5,0x2B, //00E0 + 20 0xB4,0x02,0x14,0x90,0x02,0x01,0xE0,0x64,0xA5,0x60,0x02,0x80,0x5C,0xE4,0xF5,0x31, //00F0 + 21 0xF5,0x32,0xF5,0x22,0x02,0x01,0x8C,0x90,0x02,0x02,0xE0,0xFF,0x7E,0x00,0x24,0x09, //0100 + 22 0xFD,0xEE,0x33,0xFC,0xAB,0x2B,0x7A,0x00,0xC3,0xEB,0x9D,0xEC,0x64,0x80,0xF8,0x74, //0110 + 23 0x80,0x98,0x50,0x62,0xEF,0x24,0x07,0xFF,0xEE,0x33,0xFE,0xD3,0xEB,0x9F,0xEE,0x64, //0120 + 24 0x80,0xF8,0x74,0x80,0x98,0x50,0x15,0x74,0xFF,0x25,0x2B,0xF5,0x82,0xE4,0x34,0x01, //0130 + 25 0xF5,0x83,0xE0,0x25,0x32,0xF5,0x32,0xE4,0x35,0x31,0xF5,0x31,0xE5,0x2B,0xB4,0x05, //0140 + 26 0x0D,0x90,0x02,0x04,0xE0,0x64,0x07,0x60,0x33,0xE4,0xF5,0x2B,0x80,0x2E,0xE5,0x2B, //0150 + 27 0x64,0x06,0x70,0x28,0x90,0x02,0x05,0xE0,0xFF,0x64,0x06,0x60,0x1F,0xEF,0x64,0x07, //0160 + 28 0x60,0x1A,0xEF,0x64,0x08,0x60,0x15,0xEF,0x64,0x09,0x60,0x10,0xEF,0x64,0x0A,0x60, //0170 + 29 0x0B,0x43,0x22,0x30,0x80,0x06,0x53,0xB1,0xF8,0x12,0x0A,0x9D,0xC2,0x98,0x30,0x99, //0180 + 30 0x44,0x53,0xB1,0xF8,0x90,0x02,0x02,0xE0,0x24,0x08,0xFF,0xE4,0x33,0xFE,0xC3,0xE5, //0190 + 31 0x2B,0x9F,0xEE,0x64,0x80,0xF8,0x74,0x80,0x98,0x40,0x13,0xE4,0xF5,0x86,0xD2,0x9C, //01A0 + 32 0xF5,0x2B,0x90,0x02,0x00,0xF0,0xA3,0xF0,0xA3,0xF0,0xD2,0x02,0x80,0x15,0x05,0x2B, //01B0 + 33 0xE4,0xF5,0x86,0xC2,0x9C,0x74,0x00,0x25,0x2B,0xF5,0x82,0xE4,0x34,0x02,0xF5,0x83, //01C0 + 34 0xE0,0xF5,0x99,0xC2,0x99,0xE5,0x2C,0x64,0x0A,0x60,0x03,0x02,0x00,0xBC,0x53,0xB1, //01D0 + 35 0xF8,0x20,0x02,0x03,0x02,0x00,0xBC,0xC2,0x02,0xF5,0x2C,0x12,0x00,0x00,0x02,0x00, //01E0 + 36 0xBC,0xC2,0x00,0x90,0x02,0x06,0xE0,0xFF,0xC3,0x95,0x21,0x40,0x14,0xE5,0x21,0x24, //01F0 + 37 0x04,0xFD,0xE4,0x33,0xFC,0xD3,0xEF,0x9D,0xEC,0x64,0x80,0xF8,0x74,0x80,0x98,0x40, //0200 + 38 0x0A,0x90,0x02,0x06,0xE0,0x60,0x04,0x74,0x05,0xF0,0x22,0x90,0x02,0x06,0xE0,0xF5, //0210 + 39 0x21,0xE4,0xF0,0x90,0x02,0x02,0xE0,0x70,0x15,0x25,0x26,0xF5,0x26,0xE5,0x25,0x34, //0220 + 40 0x02,0xF5,0x25,0xE4,0x35,0x24,0xF5,0x24,0xE4,0x35,0x23,0xF5,0x23,0x22,0xE5,0x21, //0230 + 41 0x54,0x03,0xF5,0x0A,0xE4,0xF5,0x08,0xF5,0x09,0x90,0x02,0x02,0xE0,0xFD,0x7C,0x00, //0240 + 42 0xC3,0xE5,0x09,0x9D,0xE5,0x08,0x9C,0x50,0x32,0x74,0x07,0x25,0x09,0xF5,0x82,0xE4, //0250 + 43 0x34,0x02,0xF5,0x83,0xE0,0xFB,0xAF,0x0A,0x7E,0x00,0x12,0x06,0x38,0xE5,0x09,0x2F, //0260 + 44 0xFF,0xE5,0x08,0x3E,0xFE,0x74,0x00,0x2F,0xF5,0x82,0x74,0x00,0x3E,0xF5,0x83,0xEB, //0270 + 45 0xF0,0x05,0x09,0xE5,0x09,0x70,0xC2,0x05,0x08,0x80,0xBE,0xE5,0x0A,0x64,0x03,0x60, //0280 + 46 0x03,0x02,0x04,0x4F,0x75,0x1D,0x55,0x12,0x08,0x95,0x50,0x03,0x02,0x03,0x86,0xE4, //0290 + 47 0xFF,0x7E,0x02,0xFD,0xFC,0xAB,0x26,0xAA,0x25,0xA9,0x24,0xA8,0x23,0x12,0x07,0x18, //02A0 + 48 0x40,0x1A,0xE5,0x26,0x94,0x00,0xF5,0x26,0xE5,0x25,0x94,0x02,0xF5,0x25,0xE5,0x24, //02B0 + 49 0x94,0x00,0xF5,0x24,0xE5,0x23,0x94,0x00,0xF5,0x23,0x80,0x09,0xE4,0xF5,0x26,0xF5, //02C0 + 50 0x25,0xF5,0x24,0xF5,0x23,0xE4,0xF5,0x0F,0x30,0x01,0x5E,0x25,0x26,0xF5,0x0E,0xE5, //02D0 + 51 0x25,0x34,0x10,0xF5,0x0D,0xE4,0x35,0x24,0xF5,0x0C,0xE4,0x35,0x23,0xF5,0x0B,0xE4, //02E0 + 52 0x25,0x2A,0xFF,0xE5,0x29,0x34,0x0C,0xFE,0xE4,0x35,0x28,0xFD,0xE4,0x35,0x27,0xFC, //02F0 + C51 COMPILER V9.01 BOOTIAP 02/06/2025 15:28:46 PAGE 2 + + 53 0xAB,0x0E,0xAA,0x0D,0xA9,0x0C,0xA8,0x0B,0xC3,0x12,0x07,0x18,0x40,0x40,0xE4,0x25, //0300 + 54 0x2A,0xFB,0xE5,0x29,0x34,0x0C,0xFA,0xE4,0x35,0x28,0xF9,0xE4,0x35,0x27,0xF8,0xC3, //0310 + 55 0xE5,0x0E,0x9B,0xF5,0x0E,0xE5,0x0D,0x9A,0xF5,0x0D,0xE5,0x0C,0x99,0xF5,0x0C,0xE5, //0320 + 56 0x0B,0x98,0xF5,0x0B,0x75,0x0F,0x01,0x80,0x15,0xE4,0x25,0x26,0xF5,0x0E,0xE5,0x25, //0330 + 57 0x34,0x84,0xF5,0x0D,0xE4,0x35,0x24,0xF5,0x0C,0xE4,0x35,0x23,0xF5,0x0B,0x75,0x1D, //0340 + 58 0x55,0xAF,0x0E,0xAE,0x0D,0xAD,0x0C,0xAC,0x0B,0x85,0x0F,0x15,0x12,0x0B,0x7E,0xAF, //0350 + 59 0x0E,0xAE,0x0D,0xAD,0x0C,0xAC,0x0B,0x85,0x0F,0x15,0x12,0x0C,0x8C,0x50,0x0E,0x12, //0360 + 60 0x08,0x95,0x40,0x12,0x90,0x02,0x06,0x74,0x03,0xF0,0x02,0x04,0x4C,0x90,0x02,0x06, //0370 + 61 0x74,0x02,0xF0,0x02,0x04,0x4C,0xE4,0xF5,0x0A,0x75,0xF0,0x04,0xE5,0x0A,0xA4,0x24, //0380 + 62 0x02,0xF5,0x82,0xE5,0xF0,0x34,0x00,0xF5,0x83,0xE0,0xFF,0xE4,0xFC,0xFD,0xFE,0x78, //0390 + 63 0x10,0x12,0x07,0x3C,0xC0,0x04,0xC0,0x05,0xC0,0x06,0xC0,0x07,0x75,0xF0,0x04,0xE5, //03A0 + 64 0x0A,0xA4,0x24,0x03,0xF5,0x82,0xE5,0xF0,0x34,0x00,0xF5,0x83,0xE0,0xFF,0xE4,0xFC, //03B0 + 65 0xFD,0xFE,0x78,0x18,0x12,0x07,0x3C,0xD0,0x03,0xD0,0x02,0xD0,0x01,0xD0,0x00,0xEF, //03C0 + 66 0x4B,0xFF,0xEE,0x4A,0xFE,0xED,0x49,0xFD,0xEC,0x48,0xFC,0xC0,0x04,0xC0,0x05,0xC0, //03D0 + 67 0x06,0xC0,0x07,0x75,0xF0,0x04,0xE5,0x0A,0xA4,0x24,0x01,0xF5,0x82,0xE5,0xF0,0x34, //03E0 + 68 0x00,0xF5,0x83,0xE0,0xFF,0xE4,0xFC,0xFD,0xFE,0x78,0x08,0x12,0x07,0x3C,0xD0,0x03, //03F0 + 69 0xD0,0x02,0xD0,0x01,0xD0,0x00,0xEF,0x4B,0xFB,0xEE,0x4A,0xFA,0xED,0x49,0xF9,0xEC, //0400 + 70 0x48,0xF8,0x75,0xF0,0x04,0xE5,0x0A,0xA4,0x24,0x00,0xF5,0x82,0xE5,0xF0,0x34,0x00, //0410 + 71 0xF5,0x83,0xE0,0xFF,0xEB,0x4F,0xFF,0xEA,0xFE,0xE9,0xFD,0xE8,0xFC,0xE5,0x30,0x2F, //0420 + 72 0xF5,0x30,0xE5,0x2F,0x3E,0xF5,0x2F,0xE5,0x2E,0x3D,0xF5,0x2E,0xE5,0x2D,0x3C,0xF5, //0430 + 73 0x2D,0x05,0x0A,0xE5,0x0A,0x64,0x80,0x60,0x03,0x02,0x03,0x89,0xE4,0xF5,0x1D,0x22, //0440 + 74 0xE4,0xF5,0x26,0xF5,0x25,0xF5,0x24,0xF5,0x23,0xF5,0x30,0xF5,0x2F,0xF5,0x2E,0xF5, //0450 + 75 0x2D,0xF5,0x2A,0xF5,0x29,0xF5,0x28,0xF5,0x27,0x90,0x02,0x09,0xE0,0xFF,0xE4,0xFC, //0460 + 76 0xFD,0xFE,0x78,0x10,0x12,0x07,0x3C,0xC0,0x04,0xC0,0x05,0xC0,0x06,0xC0,0x07,0xA3, //0470 + 77 0xE0,0xFF,0xE4,0xFC,0xFD,0xFE,0x78,0x18,0x12,0x07,0x3C,0xD0,0x03,0xD0,0x02,0xD0, //0480 + 78 0x01,0xD0,0x00,0xEF,0x4B,0xFF,0xEE,0x4A,0xFE,0xED,0x49,0xFD,0xEC,0x48,0xFC,0xC0, //0490 + 79 0x04,0xC0,0x05,0xC0,0x06,0xC0,0x07,0x90,0x02,0x08,0xE0,0xFF,0xE4,0xFC,0xFD,0xFE, //04A0 + 80 0x78,0x08,0x12,0x07,0x3C,0xD0,0x03,0xD0,0x02,0xD0,0x01,0xD0,0x00,0xEF,0x4B,0xFB, //04B0 + 81 0xEE,0x4A,0xFA,0xED,0x49,0xF9,0xEC,0x48,0xF8,0x90,0x02,0x07,0xE0,0xFF,0xEB,0x4F, //04C0 + 82 0xF5,0x2A,0xEA,0xF5,0x29,0xE9,0xF5,0x28,0xE8,0xF5,0x27,0x20,0x00,0x06,0x90,0x02, //04D0 + 83 0x06,0x74,0x0A,0xF0,0xE4,0xFF,0x7E,0x78,0xFD,0xFC,0xAB,0x2A,0xAA,0x29,0xA9,0x28, //04E0 + 84 0xA8,0x27,0xD3,0x12,0x07,0x18,0x40,0x05,0x20,0x01,0x02,0x80,0x17,0xE4,0xFF,0x7E, //04F0 + 85 0xEC,0xFD,0xFC,0xAB,0x2A,0xAA,0x29,0xA9,0x28,0xA8,0x27,0xD3,0x12,0x07,0x18,0x40, //0500 + 86 0x0A,0x30,0x01,0x07,0x90,0x02,0x06,0x74,0x01,0xF0,0x22,0xE4,0x90,0x02,0x06,0xF0, //0510 + 87 0xF5,0x21,0x75,0x1D,0x55,0xF5,0x15,0xFF,0x7E,0x0E,0xFD,0xFC,0x12,0x0B,0x7E,0xE4, //0520 + 88 0xF5,0x15,0xFF,0x7E,0x0E,0xFD,0xFC,0x12,0x0C,0x8C,0x50,0x2B,0x30,0x01,0x2E,0x75, //0530 + 89 0x1B,0xA5,0xE4,0xF5,0x1C,0x7F,0xFF,0x7E,0x0F,0xFD,0xFC,0x12,0x0B,0x15,0xE4,0xF5, //0540 + 90 0x1B,0x7F,0xFF,0x7E,0x0F,0xFD,0xFC,0x12,0x0D,0x94,0xEF,0x64,0xA5,0x60,0x0E,0x90, //0550 + 91 0x02,0x06,0x74,0x03,0xF0,0x80,0x06,0x90,0x02,0x06,0x74,0x02,0xF0,0xE4,0xF5,0x1D, //0560 + 92 0x90,0x02,0x06,0xE0,0x60,0x03,0x02,0x06,0x31,0xFB,0x7A,0x02,0xF9,0xF8,0xAF,0x2A, //0570 + 93 0xAE,0x29,0xAD,0x28,0xAC,0x27,0x12,0x06,0x86,0x8F,0x09,0xE4,0xF5,0x08,0xE5,0x08, //0580 + 94 0xC3,0x95,0x09,0x40,0x03,0x02,0x06,0x37,0xE4,0xF5,0x0A,0x30,0x01,0x07,0xF5,0x0E, //0590 + 95 0x75,0x0D,0x10,0x80,0x06,0xE4,0xF5,0x0E,0x75,0x0D,0x84,0xF5,0x0C,0xF5,0x0B,0xE5, //05A0 + 96 0x08,0x25,0xE0,0xFE,0xE4,0xFC,0xFD,0x25,0x0E,0xF5,0x0E,0xE5,0x0D,0x3E,0xF5,0x0D, //05B0 + 97 0xED,0x35,0x0C,0xF5,0x0C,0xEC,0x35,0x0B,0xF5,0x0B,0x30,0x01,0x35,0xE5,0x09,0x24, //05C0 + 98 0xFE,0xFB,0xE4,0x34,0xFF,0xFA,0xED,0x34,0xFF,0xF9,0xEC,0x34,0xFF,0xF8,0xAF,0x08, //05D0 + 99 0xE4,0xFE,0xD3,0x12,0x07,0x18,0x50,0x1A,0x75,0x0A,0x01,0xE5,0x08,0x24,0x02,0xFF, //05E0 + 100 0xC3,0xEF,0x95,0x09,0xFF,0xEF,0x25,0xE0,0xFE,0xE4,0xF5,0x0E,0x8E,0x0D,0xF5,0x0C, //05F0 + 101 0xF5,0x0B,0x75,0x1D,0x55,0xAF,0x0E,0xAE,0x0D,0xAD,0x0C,0xAC,0x0B,0x85,0x0A,0x15, //0600 + 102 0x12,0x0B,0x7E,0xAF,0x0E,0xAE,0x0D,0xAD,0x0C,0xAC,0x0B,0x85,0x0A,0x15,0x12,0x0C, //0610 + 103 0x8C,0x40,0x06,0x90,0x02,0x06,0x74,0x02,0xF0,0xE4,0xF5,0x1D,0x05,0x08,0x02,0x05, //0620 + 104 0x8E,0x90,0x02,0x06,0x74,0x05,0xF0,0x22,0xEF,0x8D,0xF0,0xA4,0xA8,0xF0,0xCF,0x8C, //0630 + 105 0xF0,0xA4,0x28,0xCE,0x8D,0xF0,0xA4,0x2E,0xFE,0x22,0x75,0xF0,0x08,0x75,0x82,0x00, //0640 + 106 0xEF,0x2F,0xFF,0xEE,0x33,0xFE,0xCD,0x33,0xCD,0xCC,0x33,0xCC,0xC5,0x82,0x33,0xC5, //0650 + 107 0x82,0x9B,0xED,0x9A,0xEC,0x99,0xE5,0x82,0x98,0x40,0x0C,0xF5,0x82,0xEE,0x9B,0xFE, //0660 + 108 0xED,0x9A,0xFD,0xEC,0x99,0xFC,0x0F,0xD5,0xF0,0xD6,0xE4,0xCE,0xFB,0xE4,0xCD,0xFA, //0670 + 109 0xE4,0xCC,0xF9,0xA8,0x82,0x22,0xB8,0x00,0xC1,0xB9,0x00,0x59,0xBA,0x00,0x2D,0xEC, //0680 + 110 0x8B,0xF0,0x84,0xCF,0xCE,0xCD,0xFC,0xE5,0xF0,0xCB,0xF9,0x78,0x18,0xEF,0x2F,0xFF, //0690 + 111 0xEE,0x33,0xFE,0xED,0x33,0xFD,0xEC,0x33,0xFC,0xEB,0x33,0xFB,0x10,0xD7,0x03,0x99, //06A0 + 112 0x40,0x04,0xEB,0x99,0xFB,0x0F,0xD8,0xE5,0xE4,0xF9,0xFA,0x22,0x78,0x18,0xEF,0x2F, //06B0 + 113 0xFF,0xEE,0x33,0xFE,0xED,0x33,0xFD,0xEC,0x33,0xFC,0xC9,0x33,0xC9,0x10,0xD7,0x05, //06C0 + 114 0x9B,0xE9,0x9A,0x40,0x07,0xEC,0x9B,0xFC,0xE9,0x9A,0xF9,0x0F,0xD8,0xE0,0xE4,0xC9, //06D0 + C51 COMPILER V9.01 BOOTIAP 02/06/2025 15:28:46 PAGE 3 + + 115 0xFA,0xE4,0xCC,0xFB,0x22,0x75,0xF0,0x10,0xEF,0x2F,0xFF,0xEE,0x33,0xFE,0xED,0x33, //06E0 + 116 0xFD,0xCC,0x33,0xCC,0xC8,0x33,0xC8,0x10,0xD7,0x07,0x9B,0xEC,0x9A,0xE8,0x99,0x40, //06F0 + 117 0x0A,0xED,0x9B,0xFD,0xEC,0x9A,0xFC,0xE8,0x99,0xF8,0x0F,0xD5,0xF0,0xDA,0xE4,0xCD, //0700 + 118 0xFB,0xE4,0xCC,0xFA,0xE4,0xC8,0xF9,0x22,0xEB,0x9F,0xF5,0xF0,0xEA,0x9E,0x42,0xF0, //0710 + 119 0xE9,0x9D,0x42,0xF0,0xE8,0x9C,0x45,0xF0,0x22,0xE8,0x60,0x0F,0xEC,0xC3,0x13,0xFC, //0720 + 120 0xED,0x13,0xFD,0xEE,0x13,0xFE,0xEF,0x13,0xFF,0xD8,0xF1,0x22,0xE8,0x60,0x0F,0xEF, //0730 + 121 0xC3,0x33,0xFF,0xEE,0x33,0xFE,0xED,0x33,0xFD,0xEC,0x33,0xFC,0xD8,0xF1,0x22,0xEC, //0740 + 122 0x8E,0xF0,0xA4,0xCC,0xC5,0xF0,0xCC,0xCD,0xF8,0xEF,0xA4,0xCE,0xC5,0xF0,0x2D,0xFD, //0750 + 123 0xE4,0x3C,0xFC,0xE8,0xA4,0x2E,0xC8,0xC5,0xF0,0x3D,0xFD,0xE4,0x3C,0xFC,0xEF,0xA4, //0760 + 124 0xFF,0xE5,0xF0,0x28,0xFE,0xE4,0x3D,0xFD,0xE4,0x3C,0xFC,0x22,0xE4,0xF5,0x08,0x53, //0770 + 125 0xB1,0xF8,0xE5,0x08,0xC3,0x94,0x3A,0x50,0x1F,0xE4,0xF5,0x0A,0xAF,0x08,0xFE,0x7C, //0780 + 126 0x02,0xFD,0x12,0x07,0x4F,0xE4,0x2F,0xF5,0x10,0xEE,0x34,0x10,0xF5,0x0F,0xE4,0x3D, //0790 + 127 0xF5,0x0E,0xE4,0x3C,0xF5,0x0D,0x80,0x21,0x75,0x0A,0x01,0xAF,0x08,0x7E,0x00,0x7C, //07A0 + 128 0x02,0x7D,0x00,0x12,0x07,0x4F,0xE4,0x2F,0xF5,0x10,0xEE,0x34,0x8C,0xF5,0x0F,0xED, //07B0 + 129 0x34,0xFF,0xF5,0x0E,0xEC,0x34,0xFF,0xF5,0x0D,0x75,0x1D,0x55,0xAF,0x10,0xAE,0x0F, //07C0 + 130 0xAD,0x0E,0xAC,0x0D,0x85,0x0A,0x15,0x12,0x0B,0x7E,0xAF,0x10,0xAE,0x0F,0xAD,0x0E, //07D0 + 131 0xAC,0x0D,0x85,0x0A,0x15,0x12,0x0C,0x8C,0x40,0x03,0x02,0x08,0x83,0xE4,0xF5,0x0B, //07E0 + 132 0xF5,0x0C,0xAE,0x0B,0xAF,0x0C,0xE4,0xFC,0xFD,0xFB,0x7A,0x02,0xF9,0xF8,0xD3,0x12, //07F0 + 133 0x07,0x18,0x50,0x03,0x02,0x08,0x86,0xAF,0x08,0x7E,0x00,0x7C,0x02,0x7D,0x00,0x12, //0800 + 134 0x07,0x4F,0xA8,0x04,0xA9,0x05,0xAA,0x06,0xAB,0x07,0xE4,0x25,0x0C,0xFF,0xE5,0x0B, //0810 + 135 0x34,0x84,0xFE,0xE4,0x33,0xFD,0xE4,0x33,0xFC,0xEB,0x2F,0xFF,0xEA,0x3E,0xFE,0xE9, //0820 + 136 0x3D,0xFD,0xE8,0x3C,0xFC,0xE4,0xF5,0x1B,0x12,0x0D,0x94,0x8F,0x09,0xE5,0x0C,0x25, //0830 + 137 0x10,0xFF,0xE5,0x0B,0x35,0x0F,0xFE,0xE4,0x35,0x0E,0xFD,0xE4,0x35,0x0D,0xFC,0x85, //0840 + 138 0x09,0x1B,0x85,0x0A,0x1C,0x12,0x0B,0x15,0xE5,0x0C,0x25,0x10,0xFF,0xE5,0x0B,0x35, //0850 + 139 0x0F,0xFE,0xE4,0x35,0x0E,0xFD,0xE4,0x35,0x0D,0xFC,0x85,0x0A,0x1B,0x12,0x0D,0x94, //0860 + 140 0xEF,0x65,0x09,0x60,0x03,0x7F,0x02,0x22,0x05,0x0C,0xE5,0x0C,0x70,0x02,0x05,0x0B, //0870 + 141 0x02,0x07,0xF2,0x7F,0x01,0x22,0x05,0x08,0xE5,0x08,0xC3,0x94,0x3C,0x50,0x03,0x02, //0880 + 142 0x07,0x7F,0x7F,0x00,0x22,0xD2,0x03,0xE4,0xF5,0x10,0xF5,0x11,0xAE,0x10,0xAF,0x11, //0890 + 143 0xE4,0xFC,0xFD,0xFB,0x7A,0x02,0xF9,0xF8,0xD3,0x12,0x07,0x18,0x50,0x03,0x02,0x09, //08A0 + 144 0x8C,0xE4,0xF5,0x16,0x30,0x01,0x5E,0x25,0x26,0xF5,0x15,0xE5,0x25,0x34,0x10,0xF5, //08B0 + 145 0x14,0xE4,0x35,0x24,0xF5,0x13,0xE4,0x35,0x23,0xF5,0x12,0xE4,0x25,0x2A,0xFF,0xE5, //08C0 + 146 0x29,0x34,0x0C,0xFE,0xE4,0x35,0x28,0xFD,0xE4,0x35,0x27,0xFC,0xAB,0x15,0xAA,0x14, //08D0 + 147 0xA9,0x13,0xA8,0x12,0xC3,0x12,0x07,0x18,0x40,0x40,0xE4,0x25,0x2A,0xFB,0xE5,0x29, //08E0 + 148 0x34,0x0C,0xFA,0xE4,0x35,0x28,0xF9,0xE4,0x35,0x27,0xF8,0xC3,0xE5,0x15,0x9B,0xF5, //08F0 + 149 0x15,0xE5,0x14,0x9A,0xF5,0x14,0xE5,0x13,0x99,0xF5,0x13,0xE5,0x12,0x98,0xF5,0x12, //0900 + 150 0x75,0x16,0x01,0x80,0x15,0xE4,0x25,0x26,0xF5,0x15,0xE5,0x25,0x34,0x84,0xF5,0x14, //0910 + 151 0xE4,0x35,0x24,0xF5,0x13,0xE4,0x35,0x23,0xF5,0x12,0xAF,0x15,0xAE,0x14,0xAD,0x13, //0920 + 152 0xAC,0x12,0x74,0x00,0x25,0x11,0xF5,0x82,0x74,0x00,0x35,0x10,0xF5,0x83,0xE0,0xF5, //0930 + 153 0x1B,0x85,0x16,0x1C,0x12,0x0B,0x15,0xAF,0x15,0xAE,0x14,0xAD,0x13,0xAC,0x12,0x85, //0940 + 154 0x16,0x1B,0x12,0x0D,0x94,0x74,0x00,0x25,0x11,0xF5,0x82,0x74,0x00,0x35,0x10,0xF5, //0950 + 155 0x83,0xE0,0x6F,0x60,0x04,0xC2,0x03,0x80,0x23,0xE5,0x26,0x24,0x01,0xF5,0x26,0xE4, //0960 + 156 0x35,0x25,0xF5,0x25,0xE4,0x35,0x24,0xF5,0x24,0xE4,0x35,0x23,0xF5,0x23,0x05,0x11, //0970 + 157 0xE5,0x11,0x60,0x03,0x02,0x08,0x9C,0x05,0x10,0x02,0x08,0x9C,0xA2,0x03,0x22,0x7E, //0980 + 158 0x00,0x7D,0x00,0x7C,0x00,0x90,0x02,0x09,0xE0,0xFF,0xE4,0x78,0x10,0x12,0x07,0x3C, //0990 + 159 0xC0,0x04,0xC0,0x05,0xC0,0x06,0xC0,0x07,0xA3,0xE0,0xFF,0xE4,0xFC,0xFD,0xFE,0x78, //09A0 + 160 0x18,0x12,0x07,0x3C,0xD0,0x03,0xD0,0x02,0xD0,0x01,0xD0,0x00,0xEF,0x4B,0xFF,0xEE, //09B0 + 161 0x4A,0xFE,0xED,0x49,0xFD,0xEC,0x48,0xFC,0xC0,0x04,0xC0,0x05,0xC0,0x06,0xC0,0x07, //09C0 + 162 0x90,0x02,0x08,0xE0,0xFF,0xE4,0xFC,0xFD,0xFE,0x78,0x08,0x12,0x07,0x3C,0xD0,0x03, //09D0 + 163 0xD0,0x02,0xD0,0x01,0xD0,0x00,0xEF,0x4B,0xFB,0xEE,0x4A,0xFA,0xED,0x49,0xF9,0xEC, //09E0 + 164 0x48,0xF8,0x90,0x02,0x07,0xE0,0xFF,0xEB,0x4F,0xFF,0xEA,0xFE,0xE9,0xFD,0xE8,0xFC, //09F0 + 165 0xAB,0x30,0xAA,0x2F,0xA9,0x2E,0xA8,0x2D,0xC3,0x12,0x07,0x18,0x60,0x07,0x90,0x02, //0A00 + 166 0x06,0x74,0x08,0xF0,0x22,0xE4,0x90,0x02,0x06,0xF0,0x22,0xE4,0xF5,0x08,0xF5,0x09, //0A10 + 167 0x90,0x02,0x02,0xF0,0x90,0x02,0x05,0x74,0x0B,0xF0,0x90,0x02,0x03,0xE0,0xFF,0xA3, //0A20 + 168 0xE0,0x90,0x02,0x03,0xF0,0xA3,0xEF,0xF0,0x7F,0x02,0x90,0x02,0x02,0xE0,0xFE,0x24, //0A30 + 169 0x07,0xFD,0xE4,0x33,0xFC,0xEF,0xC3,0x9D,0xEC,0x64,0x80,0xF8,0x74,0x80,0x98,0x50, //0A40 + 170 0x17,0x74,0x00,0x2F,0xF5,0x82,0xE4,0x34,0x02,0xF5,0x83,0xE0,0x25,0x09,0xF5,0x09, //0A50 + 171 0xE4,0x35,0x08,0xF5,0x08,0x0F,0x80,0xD2,0x74,0x07,0x2E,0xF5,0x82,0xE4,0x34,0x02, //0A60 + 172 0xF5,0x83,0xE5,0x09,0xF0,0xE5,0x08,0xFF,0x90,0x02,0x02,0xE0,0x24,0x08,0xF5,0x82, //0A70 + 173 0xE4,0x34,0x02,0xF5,0x83,0xEF,0xF0,0xC2,0x02,0xE4,0xF5,0x86,0xC2,0x9C,0x74,0x00, //0A80 + 174 0x25,0x2B,0xF5,0x82,0xE4,0x34,0x02,0xF5,0x83,0xE0,0xF5,0x99,0x22,0xE4,0xF5,0x2B, //0A90 + 175 0x90,0x02,0x02,0xE0,0xFD,0x24,0x08,0xF5,0x82,0xE4,0x34,0x02,0xF5,0x83,0xE0,0xFE, //0AA0 + 176 0x74,0x07,0x2D,0xF5,0x82,0xE4,0x34,0x02,0xF5,0x83,0xE0,0x7C,0x00,0x24,0x00,0xFF, //0AB0 + C51 COMPILER V9.01 BOOTIAP 02/06/2025 15:28:46 PAGE 4 + + 177 0xEC,0x3E,0xFE,0xEF,0x65,0x32,0x70,0x03,0xEE,0x65,0x31,0x60,0x03,0x43,0x22,0x80, //0AC0 + 178 0xE5,0x22,0x60,0x06,0x90,0x02,0x06,0xF0,0x80,0x38,0x90,0x02,0x05,0xE0,0xFE,0xB4, //0AD0 + 179 0x06,0x05,0x12,0x0C,0xD5,0x80,0x2B,0xEE,0xB4,0x07,0x05,0x12,0x04,0x50,0x80,0x22, //0AE0 + 180 0x90,0x02,0x05,0xE0,0xB4,0x08,0x05,0x12,0x01,0xF1,0x80,0x16,0x90,0x02,0x05,0xE0, //0AF0 + 181 0xB4,0x09,0x05,0x12,0x09,0x8F,0x80,0x0A,0x90,0x02,0x05,0xE0,0xB4,0x0A,0x03,0x12, //0B00 + 182 0x0B,0xDE,0x02,0x0A,0x1B,0x8F,0x1A,0x8E,0x19,0x8D,0x18,0x8C,0x17,0x85,0x1C,0xA7, //0B10 + 183 0xAF,0x1A,0xAE,0x19,0xAD,0x18,0xAC,0x17,0x78,0x08,0x12,0x07,0x29,0x8F,0xF7,0xE5, //0B20 + 184 0x1A,0xFF,0x8F,0xFB,0x85,0x1B,0xFC,0x75,0xF2,0x6E,0x20,0xAF,0x3D,0x75,0xF3,0x05, //0B30 + 185 0xE5,0xA7,0x65,0x1C,0x70,0x34,0x75,0xF4,0x0A,0xE5,0x1D,0xB4,0x55,0x2C,0x75,0xF5, //0B40 + 186 0x09,0xAF,0x1A,0xAE,0x19,0xAD,0x18,0xAC,0x17,0x78,0x08,0x12,0x07,0x29,0xA8,0x04, //0B50 + 187 0xA9,0x05,0xAA,0x06,0xAB,0x07,0xAF,0xF7,0xE4,0xFC,0xFD,0xFE,0xC3,0x12,0x07,0x18, //0B60 + 188 0x70,0x08,0x75,0xF6,0x06,0x00,0x00,0x00,0x00,0x00,0xE4,0xF5,0xA7,0x22,0x8F,0x14, //0B70 + 189 0x8E,0x13,0x8D,0x12,0x8C,0x11,0x85,0x15,0xA7,0xAF,0x14,0xAE,0x13,0xAD,0x12,0xAC, //0B80 + 190 0x11,0x78,0x08,0x12,0x07,0x29,0x8F,0xF7,0x75,0xF2,0xE6,0x20,0xAF,0x3C,0x75,0xF3, //0B90 + 191 0x05,0xE5,0xA7,0x65,0x15,0x70,0x33,0x75,0xF4,0x0A,0xE5,0x1D,0xB4,0x55,0x2B,0x75, //0BA0 + 192 0xF5,0x09,0xAF,0x14,0xAE,0x13,0xAD,0x12,0xAC,0x11,0x78,0x08,0x12,0x07,0x29,0xA8, //0BB0 + 193 0x04,0xA9,0x05,0xAA,0x06,0xAB,0x07,0xAF,0xF7,0xE4,0xFC,0xFD,0xFE,0xC3,0x12,0x07, //0BC0 + 194 0x18,0x70,0x07,0x75,0xF6,0x06,0x00,0x00,0x00,0x00,0xE4,0xF5,0xA7,0x22,0xE4,0x90, //0BD0 + 195 0x02,0x06,0xF0,0x75,0x2C,0x0A,0x75,0x1D,0x55,0xF5,0x15,0xFF,0x7E,0x0E,0xFD,0xFC, //0BE0 + 196 0x12,0x0B,0x7E,0xE4,0xF5,0x15,0xFF,0x7E,0x0E,0xFD,0xFC,0x12,0x0C,0x8C,0x50,0x2A, //0BF0 + 197 0x20,0x01,0x30,0x75,0x1B,0x5A,0xE4,0xF5,0x1C,0x7F,0xFF,0x7E,0x0F,0xFD,0xFC,0x12, //0C00 + 198 0x0B,0x15,0xE4,0xF5,0x1B,0x7F,0xFF,0x7E,0x0F,0xFD,0xFC,0x12,0x0D,0x94,0xEF,0x64, //0C10 + 199 0x5A,0x60,0x10,0x90,0x02,0x06,0x74,0x03,0x80,0x05,0x90,0x02,0x06,0x74,0x02,0xF0, //0C20 + 200 0xE4,0xF5,0x2C,0xE4,0xF5,0x1D,0x22,0x53,0xB1,0xF8,0x12,0x0D,0xAC,0xE4,0xF5,0x1B, //0C30 + 201 0x7F,0xFF,0x7E,0x0F,0xFD,0xFC,0x12,0x0D,0x94,0xEF,0x64,0x5A,0x70,0x26,0xC2,0x01, //0C40 + 202 0x75,0x1D,0x55,0x12,0x0D,0x38,0x50,0x02,0x80,0x05,0x12,0x0D,0x38,0x50,0x05,0xE4, //0C50 + 203 0xF5,0x1D,0x80,0x24,0xE4,0xF5,0x1D,0x75,0x8E,0x55,0x43,0x87,0x02,0x00,0x00,0x00, //0C60 + 204 0x00,0x00,0x80,0xF0,0xE4,0xF5,0x1B,0x7F,0xFF,0x7E,0x0F,0xFD,0xFC,0x12,0x0D,0x94, //0C70 + 205 0xBF,0xA5,0x05,0xD2,0x01,0x02,0x00,0xA6,0x12,0x10,0x00,0x22,0x8F,0x14,0x8E,0x13, //0C80 + 206 0x8D,0x12,0x8C,0x11,0xD2,0x04,0x85,0x15,0xA7,0xE4,0xF5,0x16,0xF5,0x17,0xAE,0x16, //0C90 + 207 0xAF,0x17,0xE4,0xFC,0xFD,0xFB,0x7A,0x02,0xF9,0xF8,0xD3,0x12,0x07,0x18,0x40,0x1F, //0CA0 + 208 0xE5,0x17,0x25,0x14,0xFF,0xE5,0x16,0x35,0x13,0x8F,0x82,0xF5,0x83,0xE4,0x93,0x60, //0CB0 + 209 0x04,0xC2,0x04,0x80,0x0A,0x05,0x17,0xE5,0x17,0x70,0xD3,0x05,0x16,0x80,0xCF,0xE4, //0CC0 + 210 0xF5,0xA7,0xA2,0x04,0x22,0xE4,0x90,0x02,0x06,0xF0,0xA3,0xE0,0xFF,0xB4,0x49,0x0F, //0CD0 + 211 0xA3,0xE0,0xB4,0x41,0x0A,0xA3,0xE0,0xB4,0x50,0x05,0xC2,0x01,0xD2,0x00,0x22,0xEF, //0CE0 + 212 0xB4,0x49,0x11,0x90,0x02,0x08,0xE0,0xB4,0x53,0x0A,0xA3,0xE0,0xB4,0x50,0x05,0xD2, //0CF0 + 213 0x01,0xD2,0x00,0x22,0x90,0x02,0x06,0x74,0x0A,0xF0,0xC2,0x00,0x22,0x75,0x80,0xF8, //0D00 + 214 0x75,0xE1,0x8F,0x75,0xE9,0xC8,0x75,0x90,0x80,0x75,0xE2,0x7F,0x75,0xEA,0x80,0x75, //0D10 + 215 0xA0,0xE0,0x75,0xE3,0x3F,0x75,0xEB,0xC0,0x75,0xB0,0x19,0x75,0xE4,0xE6,0x75,0xEC, //0D20 + 216 0x19,0x43,0x80,0xC0,0x43,0xE9,0x80,0x22,0xD2,0x03,0x12,0x07,0x7C,0xEF,0x70,0x19, //0D30 + 217 0xF5,0x15,0xFF,0x7E,0x0E,0xFD,0xFC,0x12,0x0B,0x7E,0xE4,0xF5,0x15,0xFF,0x7E,0x0E, //0D40 + 218 0xFD,0xFC,0x12,0x0C,0x8C,0x92,0x03,0x80,0x02,0xC2,0x03,0xA2,0x03,0x22,0x75,0xC4, //0D50 + 219 0x32,0xE4,0xF5,0x87,0x75,0x98,0x50,0x75,0x9D,0x7F,0x75,0x9C,0x64,0x75,0x9E,0x04, //0D60 + 220 0x43,0x9D,0x80,0x75,0x9A,0x0A,0x75,0x9B,0xFF,0x22,0x75,0x81,0x7F,0x75,0xB2,0x08, //0D70 + 221 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x43,0xB2,0x04,0x78,0xFF,0xE4,0xF6,0xD8, //0D80 + 222 0xFD,0x02,0x0C,0x37,0x8F,0x1A,0x8E,0x19,0x8D,0x18,0x8C,0x17,0xE4,0x85,0x1B,0xA7, //0D90 + 223 0x85,0x1A,0x82,0x85,0x19,0x83,0x93,0xFF,0xE4,0xF5,0xA7,0x22,0x12,0x0D,0xB5,0x12, //0DA0 + 224 0x0D,0x0D,0xC2,0x00,0x22,0xE4,0xF5,0xA8,0xF5,0xA9,0xF5,0xAA,0x22,0x00,0x00,0x00, //0DB0 + 225 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0DC0 + 226 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0DD0 + 227 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0DE0 + 228 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0DF0 + 229 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0E00 + 230 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0E10 + 231 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0E20 + 232 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0E30 + 233 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0E40 + 234 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0E50 + 235 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0E60 + 236 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0E70 + 237 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0E80 + 238 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0E90 + C51 COMPILER V9.01 BOOTIAP 02/06/2025 15:28:46 PAGE 5 + + 239 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0EA0 + 240 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0EB0 + 241 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0EC0 + 242 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0ED0 + 243 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0EE0 + 244 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0EF0 + 245 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0F00 + 246 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0F10 + 247 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0F20 + 248 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0F30 + 249 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0F40 + 250 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0F50 + 251 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0F60 + 252 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0F70 + 253 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0F80 + 254 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0F90 + 255 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0FA0 + 256 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0FB0 + 257 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0FC0 + 258 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0FD0 + 259 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0FE0 + 260 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 //0FF0 + 261 }; + 262 + 263 + 264 + 265 + 266 + + +MODULE INFORMATION: STATIC OVERLAYABLE + CODE SIZE = ---- ---- + CONSTANT SIZE = 4096 ---- + XDATA SIZE = ---- ---- + PDATA SIZE = ---- ---- + DATA SIZE = ---- ---- + IDATA SIZE = ---- ---- + BIT SIZE = ---- ---- +END OF MODULE INFORMATION. + + +C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S) diff --git a/output/BootIAP.obj b/output/BootIAP.obj new file mode 100644 index 0000000000000000000000000000000000000000..d15d93c2b2ccad55922b2b74edf2eb8a00ce2275 GIT binary patch literal 69196 zcmeHwd3;;dndr3~C*CAEjuqR9lb9@!5C~r4B?dP1a#)Wg5KgZipTfMq(G?9!Z#t-an9vz)*Z|dIEx4Jse z6l(QX2fHKfo$b5)>$hGIh94WML;lv5_JDu=rro2d$+6Vr?oMxycXT`%4UEPTn}Q+l zhU(@}aC_Ka-QE@H^?M`1(E6GkwKX+08{jWqUwa5Z2a~Zxay%Lv8@tpjK=V)#JsF5i z45VTMNhO?-pwpS55jKV=CN~%#X1^SbU$;TiUQ8StC^KfB{FpTaw|57(>ofgL$I;}+98D)6KC~12QZaPy$DN~|rVt@E@BQ17 zrHtsBS_Him)@p;w=J2#-d_X8+Zj45v=*rp&weHVayTWW%#n# zH@$~XRVX5s{d?^X4Dc6`?d=Hh%u^3a%m`Ty&OE-U`prZVSewD7@C|^p2RF67?kLh0 zH3x&RhP%(^{=&Uf%hB-vnpRSDr8jt`@#>4^W%^&W;?^imn?Hop(Opugnc)Al)`f5d z2FNCF%c8sztjgiM!BLWn?=(kAk@0hh@pHNHbB*zHqw%xe_<5=E(`)?fFn)%OpVt^a z`;4FajGq(6&l`=Ow;De`ZTx(|`1z>u^U3M-x#@N3wdpnKn)F5KP3a5M7nC~pR6msK z$hmh?TemTNWO}nBee2A_vw0h5Hop4c-Ho}^Y547>9OwNG?L=bN7<_s6)IRu&qwIc1 z&WXfRdmU4|r_;6Ry7X#zb-%-LV(w;bZNZuM>Q8@l;|v4oG4=lB)I;6zQ)?H^ zy;pzs$L~Dxp7AHo*~^V(+#!hTBtn_+FNiUv1o5Sv_G|JW@BRE*!ue& zc_-!)3-_)%1uvGJO62eLoJthzEjg7a+*{;bT{E>X{Pp)s3m<>wp_+$%@GEv^ZT{SJ z{n=M%Hd337OQzGezxh~tBMfNvN%-HJjww&xM)>0^k4Y#vk$(7cXotr*)W*uO8-E_m+^xEl$HR(00XU>V_rVFRj`RM}u>dZ~rt1|_U&*VSWT{pRC zU4bzzCq6n}c(YczaNA75MRPOxSDc;HE=nJn)UHV1`p#@#!A!x}D|z`-e>+o{$c0`n z2&Pu_l;(f7JJ*qW`}Ew+jx(pfdhT=Uo?ZLQn$krTjmu`veNe-$JP2KxSqs0fomm6_ zu9+$@sbo6suF2U0J$6BlOVUp4aWVF|XnNiGb2A$@7oVMOSbt`^;k?sdbv@^Nw)mN% zSF!F!c>NK+{t#Y&0I%PFb;k85)Z%<3?VKroI9)tb^iaAe<<6P%OdHkTCRYzVKkjF1qaH1uy5lyzu2k#wWR!Pb%P(ALahY@uQp{X{S2o-n;7TyX|LAww<6w~~(ls*|U6HAO*0o> zmcB5r5aw+P<}LTG>GX=#<{X$S_5AdP^!oI9_d5z~hV-QIw?8$8`yKhlm#S{x?^twV z?ww%z{9mUxyq#YER{FeZZ6PAKa2AN@5D?M%&uw^i{WItN7-u@KI>#|p4lhnxUKG~k zEJCQ9+11nVb2fbr%xT&)ceCrvX_(Jx`V}T~V@=Mc)bgjM(^a?3-R#EKp6T>*<9FwS zr+~+}u&UhIDbW$fEFcK}Z~~CEu=b-H93Q-Y{QMU;ys-ZH^GX-qejku;{!IR>pDk#F z*IR)ipeJcp%2_hCa2kK!mM%^g&E&5;aTW+;oeQb*inR0HhT?Sb$%dkIQB6+6Ou^c- zA5Cwb`|#b(b03`CJoowT`)0Pkpvv?i5y%cHQg5DrK52WHbw< z;=3C&eb38xMB1*<-6_On*QF0)31N9`kg1zv%mgA^X%J?H_yKHn16QlTYKFn zUtMzg-6dzN1c;}+IUte+d z?aR-+b=hek^HS%7_Z7?(uPcFX8r;B6UBFJAr;ipaKU!D?E5YVfAp)IB7VOQv#j!fC zc&2#Fkyqqc^xIoJ*d!8$McF8lPO5W~yH0_xwdn8>pv*h9Ql9|$n(xs`T25-meZ%a$nANRai z_QI0qOF`H!M(Nd10!%u+{OD2~F1|8quZu=KCiJa^Hvo1VE4akN)(zI=o8A$bb1 z4hlftWD)$Edt&a%6Yyj9$y2kpI8fl9UAqWrZzI4dy!$yPHjW2>+DMl^Gb_Dr6%vhOZj=FIlq}& zDt<4>D=oNh3e+C>dtq*A(Z4$im*2PS-pYF_?k+!C_4M&&FIK)#@qGCqkUJah`{T^A zx%)mky8LwNw8}N+P8x3s42ILQI8dzjB zfb|Ozmb#!&DZ|dM&Z$W)-=&seyY`j{88(%NKTw2SfMOmMR_F6v-0d1W_mv!Isnofx z+cA}gKl0$)skQJ=>fRpj9S$+>DX1eOCBOYt-kUiN?JK1vnu(1!7XUtBou|uRTzb4* z<^YYWX3E!<&CM)rSaRQy^sUnmz}i|cRhU;kQ$F_Nyrok=gh79Kfj(?lF)y{dpFHtW zQz87*o%c%4o7(DAFSRd5UE-y%{>L}*k2tcz*;lmHsj2rD+QkZ&lZguLDx1_$2FHi#ic)zjW(A@MNes;!Dyp_mr z`snhfk1jiMwDQ&m=5RJkoqty9bV5I;)6b-zO+UAqfdBu`|Br!>iGd?)$_&W7qG-F< zANBQgcJ7Q`S-ntOouifH9$V9a&IQMmmh0%QfnV;&Uuxl(FXAtC@XOcm7jOwUUdCTG z!!P3F2H~lwE*^*ugXcOqjvm@?f=?osTpB;vi{IvG*XL>)tb@FvL~JsacS!s@hW{=Q z{~%mmQv7ug|2-I6CS1NbnvK)j^AI#Rtwj!L*t$w=KOWXRtfj7L*rhj zj05=I*gD|?c4+fEfp7d1-;pD@H+HU3-=A;>pNh2#cd$eIzjX))V*%k3c4+@koWiZK z7U33lXdly+N{->r$GjT4hQa;zF=Lr|GL;F)sn`oyuQHZNhXcw*q3&wQNNUb1n};E$Cjh)?zxC z&x0vO7qfMWg_9W^_8PjGtuKY6`7|&yiBLjaaKo`KDvq775NCA3jTz7xF zAdnjM20Eg(b=x}HZnzr2g#?06@#nop%MPtl1IM^{u;pZ2xYf0iRG)Vc+w~46`}TQ9 zCIiZ@F9r-`D!3-D=wMzrmPm|0 z0Z}z+X!0+N#upjjQxbSw0xzYx24abN z{eeJT+us7H{baedWfEvKUMjvTjz;xJYqTvI{k9S~kInR98Z@xF_Gougs3{uocRi_u zuF$TKny#Z>1Hxm8zTW+@L!UMVO!&&ouvUk8C6QYsJlyD0fTq<5H>R&i9>`jf2mjD>D5;T0V*~1290j%V18gM*3 zJbKWi%U=Wd0{EXDCs<{G*jSg7@nd`j8hN)41*@gU@tG`U2QTicNR z*rUh|euoTbPuwNG%ZIRZ)9`R`R0^LJA3t293%cjJ2 zfzg94!vkM~3hddfN82h@a5>E@5VJQqJp2=Y!wJG5ArAU_X@ZC%af0q848sH^lVi{# zN(uY9DTcr64`TRmyg<~PdmuL41u)3th#Zb4)pJ9H3y$42z2SvA$&FZW!vvi%>a}w~IM3Dm1$pb@u$*$P`Ri`C!A?>?9GiU^vYkzcYrr(3qf4O0wuask<{o z9C2LvL7y)QSqVQD!1nw`#+8p&Lr-jcvNm+cKXR$EyQ>&ww-J_rO>K_)cZ4_Bd|e4z zscn&Zd@+G`_N746r~@upF%PIrPgj|P^|rN!`ao>M0@l?WyTN+2&r9w8B3>?LXK|{p zXAJbiSYT-X&}3w2fAU8HT{)(XchtmnnYKo%AtbM*NOJ#JNGymR0dB7%eo6xWEiqa# zRoi`$A^~XEbEnoI0k#sxOk~$0pR}juO2#L*(Q1fykB*0v!~K!u#3UdMl?HpRw_Ip$ z*gBHs5OF=oE&HZ1PPajlhfFlNH9avxhjCMP#WHB_4o6$|D7(7~JtyM9=3)eDj^K<1a)i0Qmgw-B;h)!0UIThK)O)t{$)(5yM~%JdtLvcvgu0g zVyWpZ#O@;g&TimTkkb_nKt5$e-S@>zI3$Qc9Yt z8J#=>-Drf@dGH@j{Z$5`p*R&;K=3!DmPx|9NoZ}ml>=YJ*lizynp3v<1tn;ub_ukI z54PH1GEL<2zNSbM@(+6wb!m%qKmj>H`~wUfvD`1UJWW)BDg<(_7Oywjyv~5m)*(EmR*NIPNP_MQdVRHm?QJulvjwtK zOG#}nB79-nJ*c~E&T3azpHTT2ksxz4k9MI{{##=IutKB2kfPiD{*E6&W%kHl!4`Rx zuxHMA!}CheO6^jq-Obc4BrTd|*C{1%g$7P#@gVZ9ph?dx(B3AWw_geFW^G?VdI4zX z4Z;5Ygc7cZ88Bm6!`<>#C1|B~nbhNYQe#p>s9N{#9~x;zlMUqskqW7AI7LYb)=i_; zE$gAs#AqKVjDHZ|cG{}Pbj2XD_L@zjFC#e~0@!u~Hk;0tun`Z@ED?3I1$#n&tsL_T zCU~;>!Pe)Lpp}e=))9RpMS>$P+NN$aS1XW^bra1k>gM5~H(Qa&tc%AbI7GUvmpn{! zZSuhY`cdpx#VW>A;-nOT-zO?$5V;kalr>ano21S(Q{zbA=nScCQ~NXAT7?7}BXg+5 z+uIacu52(5#D)GKjU=hd$WH>v*!T#Tj>yxJXiyMKCe4%Jv zbEC5Ll}zUBCMv_3MrU1JXWI?mQ36*As}$SDu19Hg`0FNyfWZAD3G^=X8U4n-TwjE&4Tl z1|*uz_YkFqhhqnl?ZR~Bih@q5DA;8efmP6#m?IFH7G_~5P!*3D7|34ZWkBnh5$u&D z(NK7MZ*qKMXmsQu1KMuhdnD-dNSW=a-GUB-MtFxKNAs^e;a`{#zb{~l0?H)W+lpn` zp@(I8En>MH>cIzbj^(TLqFD}D%5op^`(DfYU6%5-mU7Hej$6tygU0%~jCE?GmhbiK z=1l)(XD`AZwR|tDg82Rp%lkVm<$En<*`7ssS#!bi|FC@jSxfnIma@Fo5&p}T_s1+{ z*bm7JBk%oSr-ue&x}&Tk79oDettD zIe+so2PBSfx8-}z|2!J!e;y6_I6gF9&i_0b=Vv@LgzbG&2RGqwwUjyk^DtBRyNNtU zHGGft=(|BO{kYpw&poVM&a}!LFp%ZwO%7;IvPq5QE(Twr1ubPc+?E5Hfb7`CGRI@3 zwuix2YEf3MV!A{QtXeJytC)u$-}7}{#e$CbUe@Zc%-3y|R&8nj97~z6>naQ1sIshc z?wZE-WZeqO=UM9K>$FPSz}|CBC&%K_*ke_Tx3tX{9Fd2zo&1Cebhr17OxA<0!nG|u zV2i%o9N(+EtNqz38s4H?)xD9S3S??`l0L`fF$FJDGfq5*+4= zK>oxn%Jxcy4UA2qzH~j2F8W5iA#Zf2e;(3Z3EI23O%w1=?ix%TdfpRM6Cu1 zyW~~b0$!EBnFm-_$@h{32!q4V>sO0em)0%y_Iz66$eilJ$r0g+P&-Lo%&xB`=s392 zdobGd|hN+WrHH_=#cvp-J!ob&6@l0Eg}Z%7lAMnfqZsAxhA&5s@D@fbG`T zkkslD0tT4|QQ}|-1>0LnEW5P567Vu|)`gteiO7r{m$%qxxuiMFAJYfl~d!n;QuzL{1nI$$H=S_r62BquR71SK5) zhqYwxS#I}hh_3HC~YHGR&t&1z+2C3vCq2hn^j zo1J=fxN#-p6=pCc8inlMs5cUrFAHWFL)0+MEM$cChhV|KZr~_e|KRrTd#taUf2f?8 zl}y)-(!?0&f*?(VBI*!K33Jkpld$WFkd&nUSA){xE0cK}6 ztYDT-SWa68?lgHF3eDQ^NTR84 zA2f{-dwX8z(qsu#O8rJQ+tt%qhl=@s12A8_>jW)Ak~>pP&?O?P8(WA*4ek>-H>)C= zb~p2p`KT9h2tYJh59qFlfSClbrD?{N|Fm}nI73kMZN+kTf-H{qm^E%=+r-s8Ep^_Xm{ zRuM{A|E`k>3(d{iwr7>iyIKBfJFSU0=#DLLn%Cg=@$Io8OjWuAs<5Z63R4;)HqIv| z5byO}4RC9ea30vBtUn0%M`As?#T3%5RCV&cOB;}&%Lp15v&g)M-Vf**W%iLsIhybq zS!*I72wB;>Ktf7V38b${jek!D2Tp>)#N^22mU+NGFM-d{d|}_gAcEA4Um2j;Y~HEG zCD3KGgu*++W=h1j0hljjqO}U z;jpx^W=OY@yodXSlOlBqcTCtL-oqTz<=K{Ow_}Cfwx)^QNIByvR~-sEH}g}FLWUg0#7MH z-OLTvM&47g*9BDds5jWz2|n02lohx%*>Tb;(amsYR|`0YlmB2KAUj>osmVd9HKZ2~ zCr3g6gSsU8kZ{bI{Y(p)Nz+9PqWj=}+&%U8S#TuOdEf<|_;TO{%W~i)k2qecuOoRF z{DG-tbBFFxv$HzNS#-KqB80y7k)cUQqz657uYm_UI%?GUrBE<7OW?zJd?yehXsXvJ z(dc2hYZu3t3zT^9dxw_=(ULyGR1+q#=_hO5cp9*6k{pPHJv!5xG=7-QZ`@^LY;`N4uEqc}hy1_F+M<)M$~>+fUIdHtHQz0h?&p0C7}V zK?RGxT}7S?)LTJBMZ zp1nZz~$DZn(s-xk4t2-BAMvz+Dd6TKMtH+)d%L4Abhk8oCp@4ujbZhrrSrTj%p z`Ae+q*4ixPc2@Q0RFoZE}# z%PjC$Sjw{Ei{Ia7d4Ip9%=48z+Gi~9AC}7Z6MM(CC(L1pQ!RqY#Yx2ne`cbt4()33 zR~>l`q+o%bkl7F;WPNg+RCzll|BzJ4EgKF~> z7$Q9C#w%Io*akA0jm@Hw@u7j1*zhpy0RNe?50y-3xs>`3R$O~mOAz<0RVZOA*q)7@ zB$jnks=4EK0K_>btY^HaJfr4!)Nh!yVPOwM2FH^VgQLTVn?)7!c7}|C`b7zMxCrG% z{wd+63Cj2Ybbkku=VzrU{tsH}Vz0AwLW8c~ z+2wI8W~kmp6dDHt0T!`OV95^0P6oG!x(o-Fi2RS*AIvk@a;eLG(jpy-dUtvQes8d+ z3!>}I)ALM`oat9ZqJdarS5F{-K5`Xzlp{-{)}GgWUkT}An+oDYSHhiFXSnmeB|2?~ zF&EprSfW~u0pzKu+hwn3r#2;F?sV3Q3Si^*gLX5eau2y2x@jOql5Hj`i((%mB@%Zk{ndlHtAp+6M_$;e$hyeS@`i z%C<|Hi84fFjvn?w^cyz-q`gnbtvw+1`d6kg46DDhR!EVeB)UOlE?qlZw4_aVzhtYx%Or}lLT zTmMMoMJ3J%#tO=OKs0YhnNCeMpQdT~#{DCHe|Knfe{%;K=PJKVh17V0mhbj)%w26$ zVv6T>XAb4Sh!32dB2G`j7y^#gP63iF(*MffOXwru(*tau$QrKBz0g1Kl+RmKgf`WXf%-Xf{r8o z%nuCa+d~(z1eQr!+TosN@J_b+Yu{5sx>&Asm;?c;uS`Me_&0$DyYL9#8nMFUX+yx6 zkgwF@9&~#L65sVQOu9GX3iq9cK|Sm8sm1RKmM@XC4!iE%d4?@Br%+a(>z<#d&&ASA z?Xxyok89L^mRu~?{%WERku8KizV=p3m{Y;7mRj9G9Twug7NmU`$OFTVZk2ZS{AuZS(tXs)Pu zi|n|%f*^^sH@~ACw@W);LRq&JvfE@QsFJ_1Kx zjNt~|v8r1;_MG^T)b9n<@AeUhbEL-ml5a!9_IW@Bz=HG#naFhnNx0gAkoGjZq;)pBcJx2n@KTr4cvNt8%llKMJ0 zX7Jv5+Lax#=GkO~qixxFJEV}fSQOB-)pe=>XZu&6O%*}NhDn?VLbv58nf*K^xJw(B zuu4+O$j1^{_PAGMXM7tbaTGh@RtDA z2n67U|8Uri=DBQc?K&vqgX3WO5lO{80^Pa#kifF{y;EVp?85K@-2P#j`5rP%pZw<{bs>SU-wNqyW z5Uc(mI~bte275DDR&%i`mX&Irf@#nsINwoLsMd0=)b15T8o&kMI5_VxY>8;piG;p0f9%c-Y1Vv->IGZ5)RKttRLw zlWYa3fH}cNY3POmR10VuRQ9}53rT2O5w8;HT?(#B>C75Jz&|LfsbE$`D`^K{xdy;b z@qrk&-GZ)S4(1-pl#L60TxhsP;^)9Q$~u-XzugE49OUAV+|;J#2yUitnp<=sr(ay& z8Ex|`$BW8uhRP3y0!FACW`IIn+0i2xOJgd^Mw;*0d5|V&Bb+3L z7!P~lK*TQzFgp@=GPyHIE=X8ma$FquWZE;fC5)k7Pv#Bm;(+}<=zm0anms5g4jC#v zNIgys;kJ_l09FETDf>=7por3JaVyjvm7 z2;31qsBixrn)rrt#10lD{S7e|b6*9hY5$@Gu3)0*5(_^KY*PZdnN4ikrl>K1W!vsk z$531>=fF%$+%X>8-vkHWqgrMk6yPUyn480mcpZ}YCjpj|SSFGz`_Klh6IAB{NL(Ox z6BIM30w-u6r3#@kC@vq4Zf}aT>x}doCAKPlu_7qrgH7guuUb~gu`DAK%Q*M==-(GH z4JQW-5!tbq1CuH9S}Y@D#YcxPW(EYlx8@S^{y7PotFOVw3}()$&^Hd zmt9a;mfb^GmiIqlS$6ATd8rs3jnB!VnfP7~$6y(ADDlzp;bg8{e7{0}ZN6V=DX+4W zt1aboEM*=Sak9*3Y>%H&<79p+d@noavCQY&$znD5{sK$;7h1}jEai(V*EoFJ{7{U))-pjis@xAP(!m{k&#PWUy@3x%f#}new?Ij!9SRS{)qaK8hPXGMa zXZ-$l{k8f24puI)tltvL`Yo}n-xACEEwQZMQf4*f0CYZUZwZU$;rl|%d(N-Q0Au>2 zkB@Kd#IxWyKP|J2hsP`Md(MxzM;G67{=(1W#P^(^l(F-s4$dvabcp9G~2qn*+1Rcvi3^YCJoP z%PD?5dLyYGkV%)Zd>;cX0yPMH@aMgzv%7??0tfV7POZCyEG+arwEKRntj29o78WyQ z!3@fZyQSTg*)kdGVKn2f5ii(Eu)G$52M7}^}x0n;1hgOqiB0>wHa3n|B zV<$T^$V>JRW%Z(s@f!flpBg9%96KWS8V`3@g)_ROuAXbf>lX4o*x6&G3m{$xXieiO zCJ{J|r>8p-ZR=2?cB!xwuxUimSjHGKa+WZ-0D&`f2HJPLgt4@^wc}e008+Ic`i&uD z$NRGg!jDcG6+x_%uoWPZM$V(hu7bVlL?1W1*Qd!cRp1m6Q+20u#2&3vYWzH+kWd0w z(k=kwgheZf%UtUT*7-CB@K4chnY!zYKIB1_h=@!MBtLvMY{mMve1KG8om54{deUSg z=r)C;=yd*L@5+;Pm|^O#>A3{g<9kMbvzeD$o04$$p|!skFPf*nq{?D{6U5=;-bk=j zG-uyeS$}V$H33&mW#ruF0NS3qs#u^cM(H|us(7$73Okv0cEfeRu=mv8o87zN&R{r>Av?7${Uei%m z%^h0-ROOESw1l{~q1V9dwBpndW~A#k#{MG!6`4ng2Aij8n`rJI@-vfQg2ARu|Fu`I_Zuv`b7#0SX}%Y2IYDF=Tr6%RVO z3U|GYB!@AB#2#h*y!SqNvDZalv8!G6t5{dJQMwSON{c;MBI=4;FVv@uRj|X)FCa!m zTax@;c>dCTS;!*dL{HCW``Xl)ZyxFPYmNuLDbqNZZJ@n zS+*JZAZK)LA=YCYR7BU5RT=Qv4)8K&mYUb8LI>oO<>qKJDq;4s$4_Ig%&ZmELz0j& zaGMg;&71^hiSb3F#x2p&Hg)Ds6;pTF!BV(O@#40>fM)pupgD6hpUKrkZ^#=U?$KI{ zAuSc8Y$uPAJ|T8O?DB_#c*G%XhrqateJw5)nKI8B%LIPABg+h&WzU$4Ip_*$>BIFv zskj&R9Zt0SKAZ=5RA0$rDHjvDV1ftU+J(6tppIN@z-Nc7o!X=XZ=Op@m=m!k`!Ty2 zrH_&#W9~rlw)wps;hs*^TJ39au|rU*Xr-Ylgp?*iH5B#EMw^pu7Wy5{ITE_KEj61v zWh7cm8Z$~p*+c$4>W7}(gJD?MiE~;xib@9UCFrKq-J9J~XdP$p$tr7KL+8xK>yjZANt^VdW_F&{)XYUJx4cStys)mBLi zcE-lC1Lwrp_#HX*)K`%%fSNjDhl~@FpQyzwlG;tt;=pX#mXQDIC}cBZR=z!ftpv%Y zKPczSNG70GkA^mP)QUufPb+JvU^Qg(qyPp%?HhM9zil^-*M~L+=8W1y<-v$ET|Pka z59Nn1IWaUa;*E{P`i3SCKLAxA`_4#^40(4*RUmm+OXc^7C!;1@7lkb}A)h*Vt(-Z# z_Yf?yN8FeJNy8WowI50;^iO{f`{N`Ebvq?EmK=dCtKh!aZ44xPg_kf7_FmFh5f_l) zkemkrUyvF`1e_z4A0dUnNZ!LU6yWG`RHW_4QOUHU%Sap|i_{Y))JBM#&E_z1XI+?^ zH(`a97${>t;wbSrKp|!%jZCgkLb}<_2Onj1y6y$#c-<^uvXACXh(t*ms->}u9ewF1 zjwtqz28R>kJgdE;=XU04xz;GnRvpb2gy6%ibSPTwy~=@m*p&|N5;%$lJ@*(z%YXr% zXYjd<^M>Dia}ME6H;(aIMC27{C=n>R88J|HQ0jOt2}E59sHIHck;(5W`|i>Xu^LJR zMHYkED6XBu1Jb_*z$!A8<78%vs!68x&nrRQ%&~DD;f$fY?jB{gJ=&d8w@*qui>sU+ z|7ui0xRcQ?-=(n3^n7_?>n;djo!QyRPaZ8CrTN0?h8$!#-I6>p*=_Pm(3}KnB5dz*DN9^k~wsGO?>N zmVeTnMJ8LHQMT!3+JU+EfcBZd!3O>aa%%e?yVzFnm4se|Zte`X`+hMGWDl-Ac#yK! zk$}N;OE^fO9j<)wcBr|Xi@Ac#%XW1PZ@x>}Y7tXKP1Q_n5n&nOcS9B2mqt1;&s8uF zT#pCw)(w9b#wYCod6LrrF&w-*8@HA6sD_%}Wj9bZy>qwEjU)yzO;X%*+uqd^@vl|l zX9dGgg65N!iyx2OwWow~ty;{cKA%@-k>Iwcm7s3Om(U+1g(P1t4Hzi0Z?cGGm81wx zcteA|+W}5B5puRuTUJ*uMqX~;q?@sm1U1>>73X+hI;cHd9>b35Oan95>kIXbOlBLp zL~i{0G9S%|87aVhhB!=8y^k2_1gOi%ZUI!GDISPu{sfVRv5y4QGITUxR3A-}jF({@ zl#mNMwI`)n!s<3i<$GuWo2M~^CzE5CF^RQN=Q5kEOIT(`jD(_LapRpVq+R9!JR((w zT`aXcNU%Vpc(yX;Cd_9H$(eCkmmqIzQ!8g~med!fxi`+)P;+&cCP$0b6W&3&k%BH) z8JNmeark|B?PNWRBPhM2;LIDDIA#DNsu5M0Lo+<=82=&y#w{?BQOL&tJkOVkA!kW$ zC(Fn1OVt^EDf9z#iXqZ@+oTrSl zf#!*yq`A%7;kuK`mR$_l=7mn%;c%10cq@Q$p+>XJ)21?KQNqlCVL627nrsriwNs~g z?qQO+w~<~BQSz6Kfo7{oF6{;hzd7a#27LpJ;@g$OEMSOhBX!#`9DZxt*O0hzHRYHD*A)s={8c2wkMPOa-lVq8gTz%+CU(;wZdc?r?~zzz}rhckM^Jhe}Y(? ze5Z+61doUs>{bBJc1>n_5FSn@$IwYJ4t}L0${rLmCTsd*QOSe5U21`{THaC&AMbLJ zotsJGQM%^+Z3P(4?PsJ>|DI&Fk@JDv7&i;sbK^3${6W9~&o$_c?C26`~io?zrO*lTGcEF8<<)6(RP^n_qp>!e|X_L>ckW&s(9}mKNe2~F?n_O(dC(D$ZY9$^j z*mV*0wDQqtZtpV9X4L5HDagg(FDJc*tV3XY{+}y>SFm*CI0*&a1-}_YS%ng`lBq;B z#Pg8q*~mwgHB_)9+pW}dgJ;zv&-#@D7)I|=0AdVnlRjf&$~tJZ z!jMrFtb;M57up`zm746}FfZQ0M)e%Zu=lr0U^m-f(@d+axhVoUr+W5NPZ%Qy_HDaZ zv}7km#8Z91Dy#=$p(wYPRApMVH2NM|b$Vns**TPeWQc2&&~Bz|nI}tt7v9{Vi(V;| z>%=B0WQa+66#v4Mo7-u+F)U1C9YvIC#mZ`QM!lqrY~Yo@6u@@8l5bI1Pa(fh0yN9N z0w@$T8HqrGhHtQOST=xIlTpocJPp4}7Xy1K(n`jlB75D^ZTdDbGj@#Bj<}Jc zS=$VdDhCr%2tJ58^FAV2`q*S0ayeC#*XnR$>+C3zJw`$> z9oh-1{>n2wM(jCr!hH*5u)+D&7_PM^wMxxzbR0)~KDBMAckRAuC1e@&Nq-P>jP%KH zvTt-Gagh>JE6nHyD*kuUx&TbU714r4d_fG?&iCYGyZSp^H&(I_pQ|uqPLpjt+wgb7A#6EgEYA;hlxtNF?A$?rW5r^Z+;f!+l zH>89wVEK0`YPB2liwcxbc`UgjMG_6PyF-(p%Hv5=xQw#>U!}};H**B=NFZPT&@kM< z3qIY=1~^uM4Cz)gpy1TxjX4+rkYla?LjBm^Gzg|hkN@||0eD!5*`$w!Xm$4hi8Tmpz#;~(jpOam={SI(XTopxl2k@kRne-xnRq3(K z205c1d!J~-F7L$2tm~Z=JP+4y`6<9OLLDe2aXLB@KM{jLU%8z2iu{gGk5lW0@A1La zi|^(550?36UZ-|k|J?lkYnJlYE#+^pvRmtAWeRRdsl%vQJ|dOZla*zL8k#%mAa%J_q$gs0 zM>Pm}8VBS-Y{r~ldngxUvHNK4!6B_7OwKxL3?gHxkV?(BG zL!?QdQ7c$wO&g{d*>~B^N zqIlmyuv5KKT}-lEPkJA0&`!V}p5xFeGDz~;WSrZJnG}mq)+s9aq1b*pY_aJ_0#Wvs z*;gfE{wER%@?L9kb2J8o><3=JmeMDv>+v3OR^;zQ%d)XR6wObL=p|nXD(SfXAXhos zQTw*h@oXKzqj{x{*AiDv4S@xW`<^f;p!?_T)^Hh1HS1O2t@(%Z;O!-;`PYfv8Hdlq z{)N|+1LsHUTt-3qo^5E*G(xTDl>yxa6c7Kxg!mm582v$Zg{N7``50K1{Z3exbMSIN z=ao%DtFMUd#=z68WbZ$gWr>MpIa-g3jlACg%a^nIof>z{J2lxckKfA@0Lvi@ z{B}!O-dBO&Ut@VMpDcmz_gLQdS;~lKe02Oe+0FF`FDp)1zE1z#{C=OMJZ33hZz+#k z$|*}(PKw6%

KtAGUlyWhsBsQa)lS-(@L(%2NKcrTiI7`5{YL*3+npnp-<759hzWF{5e9zYd_gLe5*<+36yDk0a^v&&% z98j3c+4nrx4&PT=-Y;Y2#mvS=$G@BhmIK^fP65C&o-}}uKHp0$@0YOm-$-~CG{Luc zN*0$3e5VY)=i?}2*+%%DpWal)vR3eYHFgRfy{`Y0C6@NM-0}!{jGyS^@i3Pp!Z%ysTP@{wOF3XEa|eRQA}2i- zIms_X#rCbb})E;h7rE!dIG;!4c}jDf#-a)(!w_@EqpT*Bhl$)g+(u0 z!R#SC?W~Nom)T=V@NyU(zvt_dU!a7iqw)34V*>bIhW`SYpdy-LWLc_H3S8`{xq4fL zy-pn?_OP6g8fu&LeMlb*VMGQ^-)wE)$r$t>2$<3+cKVw_=;6*Wu!%o2SAnl!Sv;9c z7)U6n!BL~R@PZQB#c1?mG8N$7rDURc81klv;5>_w$swcf*@@R&xegKDsPB3XQmL~2 z6^yr=n@Pd3BJ$4a{Uhouo=Uc!){!YIc7kFK7rIbUb4Ps9u4POGXoE67=t8}VI*c=A zoS_9Fg`hEBySb8?#DCLKESAG4VAr#7)8Xz7`)R9S7T$%_4f8k{;px9k30}Z#rW?rj zkQ#zZ6Wd1)VAd;48#><5T|>jjY)mX?@rljkdw{IN$x#4I7~{{L?-C|7qhuQDW-TOf zjOcCJk-3}ciF0JsqB##4sC6RBiY_=@B-sr+nO2%d2-9ORHO7uzwQskQo%h{LJ`>u+ z89UTUVcKkDd6)ud1{>kl)TV&9CjePa(KdCyzV6>gf2jvzg=y62F)~K(4>g7TFDol>u?(#yYMCzFJuJG6p({PCbil~@w_dBenkp@5EEbD3kG| za-3D7AJ7ef;cMwq6Wk~l>V=yuF?$%2ox25*{F}0x3Z{J25Ru?4!@dki*+;jNI@!ac zMX(F-;5?hBRYt+5i2J-&DN$ymxW>DE5Wl}E3v1*L<0p(CA}krCfYJijfI~UFGUl@x zCUP?FHZY=%A#Xr*z{RNb^>6H&1xY!4x3cj{rpR1FZbYMTL@aK7>FXnZp52y+ zQXRVjy>S}8exDs2VGkQX0DY&G=yPfNC3qLju7Izh`|vi*11@`j%E?F06LO-V_OM^A zDO55AX+7mkv_Wn&I@VFx=E8rtpfa~ZWK=>-tGS&pXHX?vSqrBuApSOruG4?8&E zN^-ygUE;!c65tx4MOw;ow(NHJJ3dIzX!Od;^9!UbK+1=&c5N2oGK<}6a>*)YIf*ce zc8Qx5?}FOwWqu`7)#U5)>VqSHrvxh!$fcp|Cx#XgN1UQ3_)7qa9`qvk23saEkH^2t zCdC?BHYjo>4|>fn1p@4)u55#yFQct)jewH9-x;)BfZc^hM?OD?+CyZ(c^n+zwMU7A z3Z|!CL_!Qt->bo7-S)0|5*!?CYvHvDEYzaTsM0-TOKBywF0^FSQ$b_GyhnRr?v4)A z;=@#}w%B;$U~D`Y?Ho;{hLgAoIOXUF#dIg`;$F$rzXqa1q5g^89?+wh=#jnhCp!Wf z6!@t759N@Y>^%C#v?veu4aUZ!lSqz@F!!+H#c(p)@fI=*&AbU%-#`TEQpH&apfGbK z^C5+31~B9$g8M)`>g?wV<_OtBz-So4aS4L^Rw`R|F-3hVv0hw4coIc?JT{pG{;isQ z?%aJtf$MrT`EYM|F0Fn&%7_=1Vf>7%DkOCIwHeou%rm0aHGpum>o~<_5FUi-!v~je zHAyTn?7;!x++wQ??pCm;dhR@`BML>%-?qIsIX*EoI)dCAq4VHB>_tXrb!u|%hk3lR z*oxf?_gwz#JY$xfUd^;CLNXItV#C7_!upqahAwC6H&ND?xR4x9^N8X}wAIjE5;__E zafuj)Q|#RWl}qU6-!}%CZP9Rl)UOq!(eQI+1y1bjX<2Uzy-hGc|E;&2OU+4fZJ)IKdC>^EdEgzM{&oEqWXLii8I z-JZzHL7fQmstVyJJ~&HgKn&_dvpi`jAF!04WMwzYjYiFehgbNGbNGIW!IxV4!#Cce z8*~f%o?mQ??|J_{?0!Ccf1d<@jEG8Kft%4#|03YZo;E5?=M3WNJfaQKuf)xz^XXUU z?!gD42PwC>4g6=m+CL~8bulIBLIN93jtoo=766!i`WAP`T91_f94W}D;gA=li^>~C zK6La(-Kn6+tvbK6TZT@y5%Sk0isP8}=I`o>94?$LSX(gCTlhXn&Ak}%t_F%~Off6c@*_xvYg4l-aM#ZA!Xx@L(%%HL({K2@l z@i}GlF2TfT30*>(da92$J8d5q`sF_<+vib^^Jp2Mv7BoF*&QV*Ya5w6)`mJ`BPlqQ zVt;HTfj(JWMChzR;*fWDk(Gms=r#q;F8-Oa&rVH_*#EP+h+qqLXD~e9B9i4vjObWD z*B4aq9HT`$hk!gw|7Jpp+b#jJ!+^{dfFA80oE~_P$^AD$c8*Ty$-{2~BxhKp(($nf{|^AQx8pM*cHFx(LKrsAu`}=Bqh4q0Iy|Rf0nrs6#DShNQ;F|{F4(X9 z3bue-h^}{pnmSGQnEGI;3T80vqp=fJ`$zsp*>EKbZ}$?*5eL6FhawBI0BIASL+jBe z$`JIcSRZmANvlA5{|1>Qaqx!Grb_j(75u89s|g+A6c|#3z5rdb*RQKs==mzr?&&;i zUwar2#72*}{bZCdcib2)7;&;lf4_PYYY__(UPr7Hu3iRV^%>D!*`JUxWR^&n8luc- za-r)tJRmK>4G-v*uK-#!96H$L^Y8GB3z<~(6P7xA9yJ(h>hb}f-mya2 z;6j#uGeGPR`zg*40T*As64;@2NUfTOBuxxAiEFy+ngJ47VfG#`Zq5`_vr(ZJhP_R2 z$c)-4Ue1s-N?J79vc@JvkmXk!Z4)79+#FRbNERfT0KX#Se}@3{B?B~DpzC`w#8SVE^hzjghD!*efLE}yhM@A=O!(v;V?s>?8@T2aZ`J@?R^Juq8=$@sH<1N+T z_kd6a28`?t4}OQ>2WGo{-99>M=3V8ed8+Ot0h4`L2dClwH2~XFW+jui{iKllP$73J zq4HRk%k{M4h4T>at+-eTxr$wHW11YGb98U-MDN=&C1@p+&!(5d3$8D`eIVrTim2V4 zF1C=OB;57Xf|~u|DC~yVAND94FJO2wZ>m9dV>nqJ0$7#xF(wg)xta{)A2!AMNA@Ti zuGAVO;EPD~h&X$Db4bM5QAf3(UR~5+1t?=D$?})Mc31` z>oG>qDMJZdU&{gBe(HF-<4zho?h5W6AMHy{;Mrok1h^eP;diQWRb@f*?i^O%9OY+>zWY2W44 zGO#w`Tk(&ef5D#CDmB>^bPkCv0M)bHKo-o+11zgHrUn zIGh**M<{;mWi-EkeIF^DanajaQ&KyJBKRYt#FpG2B#F^L3p(jsDs)wP`*!Tgl4&? zH{(!!McMHxmgJSByuxe~7cweCkwIlWWsD6ravfvZY7R}Y8}iuazgt#=l44Ql8YW3g2+M*33xl4^UVA`q|6#(mm+C3^9AS! zq>g*Y=n(P3?qCR=`1U>LH_w~*QpCHx{t-C8Kx8!`N3n-4W|MY+kZrid;Do2{2)h35 z$%Svb$s=iRoZ~5yZwLNL*>n+ehee1?b>*^d{-Y_*k#N;T?V8bWOl5r@+O=PpE*5=i zpdm+LqpmN|-i$Y)J)#6&$cWRt3jou7_&)2_Hbl8ql zR51m_PqU&Qa_%+GINxu8XM3Y~azGg|n)vqEzGP|)CiGDOYDdY%>@1CgwDWpGU>A7= z9?FKey2U)tb|Jfb71eDyw;9XlBI@Bm?7vODG1*?=FO?W{vxKePga^!egUJhaL-u#X ze~tn?N2_MB64N_{6G!=8Cl$b$^(cqsdT33fIsthx#tB()pE5b-vJH6;OLo1Gcpsi@ z1gBYmLV^=nQ!C~IGd$>MBU+pMY@DTpI3vIf>VB27^ObD(x{uh2(RnaYe91{-3U(c* zd;**?GmwhV?IS~zJ!5d&=+}&H+d((!(=Fz^p4JRFU>a(p;u`HX^fcQqIK+bfVADrv z#>KI?=4H?nAcn8=Xj-Dp^rjq^t8KU{Mf42AuHmWV$biMFX1%yNc4e#M$N%tSv? z87I#k|1NeAikVksxZY3}43EFBgsx9OshZg-K=U!iE(N2(Fq#}47M4iCX=XI+gtjXor#!seg`eTj9&g707ZJu zj+eODP3Q~B^o8^0y**K(;9^jpBY}Eb$)?bZxPg${92~(TGwi{Nm^r)%SUxyX59B5W*^84VSQqh9%(Ax{wWs1QN4=3mOQCO4%YLRB$1z)>i}< ztSq8dQBhH})z(^DEl6LjyVlm~TVL8HEh5}y6Tz*3mWDwm|0u5aQft#v*+i`ie{CTRTfV! zzMyF6X(v^b6%`c@%gQe=omNqlRXnAju(*6^&h*Rb5J8JOEUU06ziL8OY5qAy1(ikT zRTfPt%qlA{o>IwgFKBG2Z)|YL&t23oEdG`evY_Vs!-&p_tgh>p9EAfcdM~)Tu2=gR zwyEWmJr@ngnLe>7udt}RI={5EvZNGWr%x`ZDleK)Tv1t6o-@&=7w0an`%ZiBadlKz zo?ljkm(tJtuZ#P&_tN;1yo!lJ<~P%;DvHW0rcW!HGO;QzXIkEr3DXOUDkfEymhtE0 z(x3n8(I*Gvm8=O>#f3$0?)l};=@k=mPai*WWbR=0##H02g3`jG>Zzl1Mvbi=J#uvJ zsL`Wx|E+JO)`(uxoF5IT>)&2Ui}T8gE6PyR*OuGo^e_1C^hrgGs*Q?^RH&Qww z?Q{q)&Ee$REuNRQpSp6A*=8lh`Itp2a`?+|J3!vadBs!O=#`8#a=t&C9U^vqJkKc@ z8|@B6sptB9C1*lI$DtIg0GN@Hv|7NAa0U z^h6{pt$6fSl@sH{#*%$|{80(n+sWfC zE}FtAJm7reG#+%maVme|Z)J+wU-4}e=>84gM&sK$kg2LDDJ8oZ4|Dk;of;nCoyUR~ z+1KJ(LFp8-H}ba%_3bgvVR=O*vqU9PBoYlE?-R<3ONn+w2C9HH2lzTlef_G99 z;!31?g?|LH(b)85<6qV{zW;pVjZKYzUDo(PQ{!EG8~=883BVHeP#}Q>j`Vw`I^dssOIiBda$ajePM@}F*Au@m{8i^7OiVP$g z8W}`1JTjOlCo+U+ROCdWF_Gb1X_1vy8t2UC=BzOzNOl_X$u0XUe;6&@9NQjyAogIi zB$~x}cp`GW#ok(YH(2y!WSvD%Mb=yNbmT_s1&;2M=ufFKtLkKWbNpGT-^S-gH^;7R z+*sDQby?%>wT*Xp3$`{jZVonXX^S>R&*B6wj%>8p+XQcmMKdFBTT~nQlSP+C-m&QW zk#{Yc7x^!X>LY))Xi?-nixx-z+oC0rz1B6VERy17iL&ICyy=giturG}WJV&pC|afp zvm?U7*^WptymM^Y8JT3$Pa-8YJsz2CUzaFMUde0Rv24}Je(gUW>{jvEmzj|r&9Q#V z+OFw(_)unK!-3ih>Id(#8jr8ajGR_xH~H}4YmOb?l+9k_x~hU}ZPf>xTJ>np-0OS8 zvgy9e42tGNU*#G&H9Xa3ZyLPwZ2E5ae4EY;Pq%4G_#${0+f){=wy7dK!>04XGvU?1 zn+31drVGM#HdTi&fp@7*HQ~$P&9R@iiXcqP15 z_Gw&iK2>kO9#5ZM+jt&~L}z9b)&Vwkx)S)3U&AEL zueCD=yQ_h1H9g7V%IV50h@$fH((>x6DJ7)^lRlUgQP06e2wzw0yl0b-R^lPMHg;6g zM}=o%4Od+@p}e}NJg=gN{qnsXlJFAucI80gikjmTiSBu2Wz}VQ<$2X=KCR9xEG)mT z6B^kXjTtrF6pc`IwOaI5PpqzP?If;Gi@U6*i;5elnz^u{{EDLa^E-^_qYJf&Lu)cr z#2|)&>in{b>hTw+L>)xviKw=7wWt_& zbyF=ezGOl*H?6A7sU1@E(olzhYEw|;A;6`0pr(hS*u~|M;wgni=Z#Atmtc`q8o9Qb zOcg!MYkRe3uPz#0_GX8Xy_Bv+zOts5ikyK$+cFyb!_c~zyOWFteUQhKsu`x zs*!_VBeBb$_W*g9b78NEei$e zU4*|-ldhJ*$&FuAaLV&0U(iivrXidHa% zc;%~4ee7DIQ3%!qRk)JoFyJ{2fy@!r*X~iH6q<$SNaglDKS@;=Pm;>9aHFs^1kd{l z&xnU-#W9c7$_eJVPr0$|qxyLoOu{@PCSjf&lQ7SdNmv?M(&tH1x$m<7v=kB&?G-8Q zm1uR7f1?~3bWqoxny{)Ae?@6kc|p-romB7wm9i79hxB}R;NW)J*Gc4cTI5(wca>(u zjhtUqasCfFiM?8jeMI=3)nYs)OsGqVCnfjMC0abaAED$o%f#Z&Z>5vMDYRtZ^O9N# zF+IdxA`@G+8iET-Cr_@LQe2Q%SyVmojt*(~RIMXRps`%a5noeOa=ecEE!Ytb@lXyH z=$O46+$wa?Tev<_>oHLub&5)Yj<7fAK9({UsQG?kC&gK=k+V}dqP(EFlgQUyhQg-RFibL-7nf~Ipi$-{( z&uapzsaO}&J*C{j<2FsyqM-IzH{g~V*qIWYdU#uAjcE%Dc~ONi!l_P&Db~0XyO;Dv zJ=e|2s7yCXs+3Y}4{Zce)Dy_VH2&oG_jUh7C%=wrMrS578(>7}gPP?IyS)0G2X zqJ%Q}<9+lx!RS?IyICLIt&^;u<4|-5>H&;}d4ev9+>B00OfpCe(n$EE^ek;wE~&5E z<T9$>i4B5q&u2Vo$4WD41I}bK!$bFFq=(&vmYt>!q$nrZ8Q?p(?^|CyZp<`q56PT>CGjg^OiFTvh=Oh{6ih5Cm{d_Uxw=CNK3c2g=L>hVWEqk->xz1(L=+j)N3*qv z;D)QTVfTibzN+$jKvCnUdiZb(D8@h;cmWr}!Gaaw?*jN>5G2#Pw{mFGN3dbF#| zBIfe}pD8;!NpLAsgF`*1%P?7(SDDw?Nu)(i92F@;_(*RYKH#L9W?6?sycE@l)CgD0 zHr>xTVzLY%LxV-Uk)#~v`~zBno!NGLY5C+e9VY9eHCnQVrNG!(L=Q~nPT_gpB+w$E zBk|@{f;$=WHjBIbKkP1@xraI(%VpJV9cIj{lypc2Epfio2Pzf4d{|1vL@zg|58g;p z4up2dO0igghQMw-C7x0P`)&!RwQBGvvT67NT?Oww{&YI zB4UtQ^t!6#)Pb^&B^gBXs_3AIJb;|83jzKntIbb^OSSB{t#Uz1`KONWEI*vYLrA z=hrUcgO77c=Zv3w>94pnUL|ih63VLhQUDT)E+U~-d0Wy$fz4I7xf5khnaTOLsM?@s>Kf-5;q?aA6&`3QeQ^Z5!gya_#voi* zc>v#HyuZo7cNln^fgd#RP6Iz~;9nT{83XSz@b3)#nt|Uk@Vf^7i-G@P;ExRase!*V z@DT%hF)*+b{s|g5!@#`^+|R%R3_QfZCmT4|z^57bECUxB_#6Y58F;FJryF>tfiE@i zJOeK>@Dc+rGw@9Y-fZC84Sa`z?=tY+2Hs}i`wYC@zz-UDhk+k4@S_I)iGd$C@XrkV zq=BC@@Y4qVwSk{C@Gb*CXW-u&_;~~W&cH7j_!R@cX5cpr{Cflc)xdu@@IC{7py8`) z_gGkLVqDv=JqP~Sz^w-U)WH8V@aG2p(!gIE_>h5*7+6iO+PGn3BGj-9Y z*uY&3oMGTh1NSg+F9Y{6a9;!WH}H21oMqq<8ve|ck8?-=DK3LS9z_)vYx1$a*SJ(v zbbQXcyl@nb6~t>?ed=4_`qoA7q-djKokW|5=3$4CzL%&B8fS@~X4=B3Gw05(eVr*l z%JOgnBLge6^9-ge!sp5q8_3*IV_-f{mK4q>$XwhgixKDSO?jm^CF`@y6pK_YpVMHHI*CGy)l^4#p;!slZdNi@} zGDSH)N9i`#DYE`_w;K~%x2apyWskp9_8oyGb7LbDA*z(FwvY>C?pmz9>tXq(u zYeYujL`+Auq3`&B2p_U_i9DeZ8NIv{BBQnJg9sneb&32`jtFvPIO-7hq)w^^A;JFF zX(YcEt#EZUpG0>KkxhK9!|KG~<2Z2sN-0G3qDvOGxP@@W(>3mfke_;Lk!)V!_R?^^ z@P#^P9(1Y5HkGg}pKsM-p(=1TPq+)1j}p6TnQ=1w^0I$IQDw(ULm%l2q3)u8uW^*` zyt>66U-IhK$r09&$r}QE*jXD#k)x|L?4IvJIZL1c=!kDjJuc3>NjXPmr1O0MZf{;Q z_sdqh9svjC6xS+f zgsSkZ!R#&o1@mgl7A}}ow`dW0H5iBiU((n{y8x z*u8asZPS+xO&iO4H_(XKismtPY~|iT>9O?Yv4L2iYttJIX*u!7E$OW-fi}d>4#XcF zXx(Ku$JXq+y@3V|m)NmQPjRNb^uFImbbBy*vbuHAFUYexj`QP&kgeUT^Ho>_p%^w1U3el*RKtp${WqW(?IxidWUPv zr`OijjILydxjVYU@IwC?=poHF+Wyvi_O?A<-1VNlkLLy1EA#EL-k|7#$BVn&Xb1K_ zUg11^0}uJ_hF~jSa5z6Yokz5{!UZ5w2(O6fo$z>~55la^`XD@!Xn(kv=;QD?L*4 z0k{}wY{dZS)&KPvue|HLnEwA1#seOMYh@q^f~_hUo%#fD^& z->Ky0wrj39eCVMQ9~}0;(CtIs%uMSu&X;A`O}#l_zY!1|X{8~S)f!a|8XLgZL}ESL zuIa*8M?%*$%h&MQvf(4GoW_3lHplwMZeodM)ZROz3rKldn^Z<@zD;sGKiE6N zWBW%PTxx&y<<1iy8TRnd9YZqxYu2Z8pK1y0zBPRu2cOy;Lr!8{8Y3A^{$_lxiiKmL zmcXFBN4UlYb%}LpiJTRSd^9#33-2EriiJj6V_VX*j~r|s)Asd8W7@vjKc?-=oq^^f zC~sNc#-P;_$hO;dAGkHW?Er|xx~z+UB$sbzmq#KGhj)Zl2YYfEbrfDZE|GU%!1k>} ziF~cy6W#ArfAmMu2Ft^Ze=%kP)=`#uXAzz6br(7O!<~^ zpY}Boo#9&!Zv`J9@~wooicbLec$lj8t$}wfcX1zUGV6TT!TS%QOMPqM-9R+Yw+`NV zKC$e(nP`cRHJVF&8;Gv=-Ac64_ak_>5pD5pB)Y@L`pr9hn~Co6Z6UhXw-w$UL_2+V z!n=#;cfPxcUiRGsZyV7*-@WkeBl^&HKX)$wc6blKdx+0y`*-lQF#p3u1O1P{+etLc z|0ul2h)(kVgs*`4e+usjct7LYO#Yw4dlKF+=%5;#w2u6o^z3Qn6>8^qMZ9O9PCPd7 zDDUSvsBtb&jTz*_FrR63VzPS~9o_Fgj5+NMPjf6I*6opuo!yxG6z?j&^4RHXn`6C3 zS{Dx*9P8OKXiP?|NAuY1Soh|!17n%ZgHCK~88#+-qx_qP)`Y5-K!s8`AT|a!3^&%Pt(Ab!P!=9aP!zfu|ddk zHnKd>*R7=+_s_uXz6|#6_LL+TeO-F=j40n}ZTo$GL!~6g8Qn<#|B2zMndZlik%|0HQUXV7Lm`z3LpP;t4;i8a}ah5yrB%-M0=H z*P~@XwilEAn+IgF9~V?3otMW7Om%x>1DaV%u=m#Y4~{g#oohL z(e9S?tu2Au%SJb(v8)i68V>FZUPGDw(^}F;w6z4zI-&%M20AOY^21hNdP{o!E?=PO z*Db+X54WMW6gT_=x0ZQq&l(=;Z64|eKRD=t?Ck@=etla8Zy;o4181cro4;qb3}k;` z6OY94Nvt{6)nV-}inSx)lQ8%sl*-y&9*jH?-X7|ZwYzM=ki9t;X$fzNg;2met0lTk7 zT|B%|)5X)DHxNC?TXd@DJMd1h=yVV7*qrW(S~SHo5MH)L=XwV5MxSS}MGHKT?OB?DuNm(tvY z!hL?8RM)3p!zXU8;*kQv-?uCI#aZj2kq?e|AZPo@=!Y|uC>Mx}a@vxiZ!o%3-ConM6ep(3~Pv6Ly6jWOeSDH zi=>VsZS!A*g{cxH8&3*$C`+E0WsPj?cR|OpRBzGyq024$EVPgd6~^9KxWVG#y%FAGi!#GMVAVkQ3V2H_ z8X8^-?@D-A!MmCdq=$J+?Zj}CMI*z@Ey@kAfVa}3Q^KpPtupyYX@9I31WQYPQdVAC zP*hQIm;WlFtvs|3$MApHUDxeB(vWttjO$lXHnr_P>&St+(e<8>>qgD+6hxa^qB9_S zwlAVU#7RLiKi9c-p2#JOzV@TUg~?gFEf386Hh$+Jm|>` zy=Mpe)kb%41#Jzoa&K#pm2+Ez>n*w~c%wxx2YGk!<>1X0y%xL$-mMn>KKLVew{bTP zZe-y0%%cfS}@Rs4bH>@4UG8}(<+=|?2(_X#< z&u^}6n!``*9yi+7US6-*P1BoWqhh0DQ4T_TwOvEm>4!hgJ@nAOnY&C&?18*0+=iu$JXczq!-t){o^nyii(C;kz6TJxU zCBC6dFT;DqqQB6q@Lppr3%w5S4R~+DdyBb;{=l7-{s`|+79E7n^B^w39>gW*!#F#9 z7zb9liTJ>>^%r=5wJ6PMhWB@ivaNr>+sBiN^*+20cwDzWg!d88C)UUCT6vbUK7scs zZv(-2ZLmIv_XW>^)**O@Em~zAf!79)>u8N-!{d6p&SJ&XTFVEI_Z8P# zX*O%Uc}H=b#oLHCSs{45fw;lyV$(xbS9rW%_^8#5O*UA(Q}{EhyG>78yhr$y)st)A z;@!btTf8OsYwI|htC}|h-?aL{JKpB{;l01NtSppbtUZk3gFsw4H8F@~GpqDG#(0{^;sgT*tmlpQUL zI<%zqqyPU69LPB@t_o*c;eRa`q*^YJ?YU&j1N(-UOd3cCfV=YZt~gq?DI`81Af^B-CViSXdgegfmDf`q>=Ct}@B z)PZRSsed0ynT0$nb(9m#3mF%Wk$pRNGre8Y4^oz7(+|iy>z!O;z^r;m!pCck{p7!H zDnfdNmj)OFS)J!5&|LGanvO_xiZU(HTIt5B7b@I40p*uZ`ik{#avvv3ARNn90i_iwPhAAeDO zuB%OSSJpc#Cn@q$APKX`13m*Zu_#Df}sEMCJh5eddbv_Q@*b!dV@#&26){|0H)3Fxx4?e;NX9LtkF z2h6gtiw{UT;O}-#R7n1PR2R>`q|=!Y&`s#Zw}UON7w1reGd`?wdyAEHkpTGvTkB)g z$&67|NcVkr?o8SR&rYd!XPAb3!P-CNM7{{cs~y8G22j?UDJSy6;5Zg}W2p8%vd61* z<)qmJquD-nvnTR#2bMbID!h-DJJj6PyTQOa4V)WKURt3^!*8W_`t~e+Bsx8Baw#Xo zSaIdzo2Any9j1Uy7w4=Y>H;>5QCLahG8*1yRf&otsoiGay^QsS#}Fip z+a!nC)If~Gc!|Sosdh-D^;7MTY&P=9`*6xho?bC9@3AC>AIEuullP+<{-+E`+F^=* z@%l>RlH=87@w1uW%$|x;f>teKz5L(P%8%HrU{o|DZPqln?=O~#Dk0Z*Xj??ObgFHU z&W77D?sVOrt&t)RuZlT0|9)E|J&am1Yps_N-q*l04Qx&^mm1-h8F;pVb!io?(qM$k z`bAo)$q4VPjzMpO@&3^`cAN3ODenB%2WX^Y&xX`(}@5HNqpzm2g78 ztAWiP)Yk~_Z(zNLp?*#`!qH3g^v*EwnFc<~z~>sc!oZaVt}^gc17B|7g$C|y+MFz- zoGe6&7S3E$=bWfH;?8jxJ7BfWSwq7d!6>H+l#efDI6a>psMApa>E?B~4PLy!L z-{A+KFJ+W)!C0!SlX=6HJlnU#Bco8VB_2>;2(s*igBCkb;lpyI8uP%hS?Y-|EZu{8 z|5QV>O|V3X3SC-T=N-?VsNUnWBoR7PJx^q5n1La)fQDolqPR?5hz}V?AKFJ4@1p_r z_!vy}_+t%>b)Eix5o4V`%Ato(GH|)^J_bGgeGHO1#vrL<42n9Q$5>AvO{ilup^ldt z7=nl%4k<{-H#64LgH)u4Lm{H$nDIUoBzib+^(N8dUEic|-T+Pt_j2NT`dB0C_(TRe zeMo6K#-O3Uk3mMq7-V#eK}E+9%yfDe8+e|9ml(Loz~(v~qL@w}D^~vR^7EYr=1r@l zaNe*=!n|3PgrN`9>GP&WQuv;l3pI(n@GaA%A|)w&%z{Ceq-(;f!8pJ1G!o5`0flx_1Y4Nx9*gar6cbO zx)|fTV5~vPQ^wz8Gf5V=I(e-2!{R1m%`?kG??>H+Won8)QMsGwZi&pUY7(cEyowPOD?1Sh9dmHHw7=Je*7>=Dj*B z;3d49%S>?vRY$h164Nd3th>=sP3XIDk{tSi;PIlJ>d5w$7;N#!!*0HXpLwXp}^l%IzI>r#9V{~c3r)ah4D7cQ%R+m^?j++_=hy9K@ zKUw7wQ|8YgUd(WkcB}k0#>kE|!F>jXe1_~x_`@0oz5iqkC*d#hcb(oF2IljEN%Y>) zFz9{47*6Q*;>2}&*aFZo7wgEc%r8;=sU98xWQCHlkhPU3Fr<{I5xf#@rQyG4oZ zDh2Kk{JWW|Zu z1+D)}G$lLHm^~ZEQ}`Liak(dq9=}9XPO@TY-*(uo79?tPhmrgV2i5|XrHkOvPOuxE zn}qoXBQ%V9!}3^XMKFtw?_#V=(pVnr;YaIQzvcJgq$|9_-}U&fGDiJK`0M;#PY=wh zzkjr@XD+9YW8!-JzKr$suw2&DLub(6@2qQHBMK{bsn(t?HtCo?TES(3ld?i;hZ77b zSjUh;1#cHd(GLYbrp8E8nnS#MrE4F?q8u$UxKhV`WfdqFj2hyDZ5k6nycO}qF(M8| z7T8HHf%O^!2kJG5i3v31eN0S(LC;he0PFN1+v`|Y+r21iI=99V))2`(lz)6mv zSQT6)RRL2u?c0Hqt+Z4-aFZQ6F5w0Pn+?9v2*2CFFB!PEmeH~r=s>wDXP*>rEFTd6 zt*TATjDrjckQ(&HL1Q5fssfEMgTKQ`)!fS8_4n^$Ebn8ufVND>7!Cx3-X6wqLJ!(9 zo!-&9@5d^3B0i)RJwBusNv}<6-oHuCbwF>I-@etv#DLf6M08Wa@*WP9y10{8;=U}*btiATCRUld zoT#oegB}bwhyNhWK=y@$z=i%I`-8H-Cs=f!L*sdoaKQ+7e>tE-3y*J6gx`bJvCH`r z4rM~RP$|L*-lCNm;ZVWo;ZVWo*j&b$t-~ialir7l1WwX}ibTg>8CYKyB0qX-4-*4+ z$6}!}Zu`8v_{;d{mpITOi&g%GD8AQh$80us=N%Rs2y7*E9L%j?q??ZhICm3^> zj=#ws%zulZso(SeJ-0u$trOd@QdqvK;iTFy(~t9#(y6!VSv-MlA3C}HX)!4kLN~M1FLg5!RSkH zg2C&8A9PnTEF!dT>sAu-kvXDFbm+K*>kZ6Tn3O}pzY$r)HC2#mp+=;j)D;G_C3<(o zibLlHh@LvuR~YUw&SSE|8~-IZrO|SYp{5$p9c!UuLfZa!OV?&AnqsHfs?dqRNh`nZ zKo?^Kg_Cfd3&7XVap>VkI}-3sq;c2$xmLX{tEUgjG z`b{e79+B_bGf*si_w5=eMiDX{ws85zoQQfG;pPStbdYeucV<5^l@HJa!O8n$9q8g2 z2L4Y2n@jgkv~c$qcPfivI1t^oJ^2?Ky>OBR*j&^{7ryM|jz;gwkbe{#&ayU2w&9El zKH9SRXdSz=j{8^9%o~Q05;mfd0~}{}@(0cI&8qB9=`kH*jRq&RQOw`PY2l|z?Ior>wt$^#giuzg$u_5vcU^n-maJ0M?VeN{)X2p;cQ5pt+o0YJg6yPb zhND_EyhX#K@KjBXhE- zQU3*7n9i0BPD$k$6t7{dbI*DMKV;y?3>@Sf>G87-oNwTI1FzKZM=O7|G zGyxRq!VlPI1s44#mgvBXD$+{f>+qqT-#lF#e<7e{*vv zdJ_>N6F;EH1XK#E@Fnh$g5Ur@Lk?t%0IwiiaA7=LN+98ap}}nwrgKbt{wB_JiQoJd z9fqB9{tca7Z}iSCYrZ8+XPEl@ah&N;4AkRl?Y>C{^2<(`?o|G+r^jX$k}%s#P&DLy zwwmCEZZ6osrtzFUX(p4|zYyiteY_tOKz47;`y2lDN)E!A+tw0pxfYIR9tXnd65%J2HVR+OK32$f(qlj69xf;E%Lw!29~n zoqH!$H`t3isfMDNWiv2Z;zvHE&d~-s!$JZ=dJ+zaM-TUKpoBjoXQC1&coX)U9cEo! z>j=T7{bppP3zLSEq%fH2NliBJ(FW`l{Jvxjsc$s!-3G?V3jKYYtk5y^n}YAn;4b7F zUy@fbu`xT$5h+c9oPrOcag~W-2l`gZLSd3^v+@rLr13C|vy1~nSx0%n6V1Y&MhXSL zbB@@j)5;!b9W6a;$UqPEk6vW46`9XCZgDK zM!pSOHj3<+`}!EN@4`c-^|||SEZL9ZVJ_Lv;*(!$!sl4>?qoyLMR{Z&a$d&H8PSHw zz)Uwm*H{4CWDE^TJa?xivX3WEx0IzSvB5b{I+v_;{CNIh*kmKq_Wk4us8&<(K$+n07a#J<0CLvEw{30KcDgO=x|Ob=_~sT-$AR&--`wc%=Ko znLD~&!M6Q|t^cC&)4yl!Jfrb5U(5Ymn+QIZiT&)(Ti+ujCfV%m*h>Eq)v8C{+DW! zJL%f6)Z`!H#_@V`4R~4naLupwg89|Q{VauS2*2Uw3TGRtvEGmL+SyyTt~&07mfnMU zw6*ja+kO3t*vjTx*lww}Dd_9n(!2gmU$3TDxmNG?KAo_X`1^45v*={5oKLg~7N#GCh3Q9OVfr_)F#Q`?nBENw(|cfHdJim2zX}V}Z@{?p@558*Os)=J zd)0AHMo+dM>(^3o|q`R7*_O^sqAv3sX5TtBwEt4h+{#i z(gbfgTlR~rB)TiIifDUeHPJ(nHSn%w!?a0dar1nMvXF>%F53s3P@XsWx_FNAkfVh0 zapd1I`QM)DaUX2gMhq5f@blW|sx&sE%_iPj0=qYSx9kMAhq^Ox%(1kMB>J= zHN?iT*;4Sz=2$2eek8OrtoL0uIvZG{(H6FB9u#hC35{8Gq&XJ`b3Yu>_Q6?4-aqs3 zzB3N7@o=_Oygt1pJScVPqJ}3$e%DzveJPq7RiSKZrW&eWTuq$XVNQ|_&rO&1?A)-KWGB_I*^jmC zz4-4iT*iZ+a;T?Y$)S?+q6v_1swY0(VY%$2-|D_v+GTvf)Vy*S4C$y{Sk!gXtCjkc zb&tCY!FF=8uFf&hf-Nu>X_bRc1j|~Um0gS$<3ZQO(0mCl;-?7bp*SgAFv8D~ZN+x& zd5M{rRC`|I9Fp$R8oEq4)GE^CNklopJb@%($s@uSyZb+C!8i&(>YmK4qHeKifI;VY z#=@;gm!&xuKc7r@^bMWRjT&^bG&-O=Q^UWJwpXjOJ}Fd15o4#^V&Mgln>$b)!Weub zwZx)nQaDSRZg}71(&Vm9NjFhT134a?&;{0OsaC^JCDR>qeJ6DFQ4RSYtkD5x@z_o0 zr^$53{zoTt2XQ<&$uCdhE*;SQzJ_<(w8vjE91e8#uwE9q8iRB%FGM{Y)dgz`(qIRL-HF7=H!dYJ}@E z47iu&>!kQ*tKMydZ#S^s>YyjBBI!%30FM{WlNmJDO{|#Zy5|TrPV$ zU)Ir|$3LN1jh`@VFFoFHPP!pASJLaq2t%Tq>kNqr-DI$f zRHZl!eYFfpaSa~y-_GRdObu&lTa=y~&qPo_@qwjL1?wFH;buOh(eXYSrLUF`-~k#& zzRix4Z-krWV)YBhl8$OojfQo>M$%uYg}3R$9oI$2HX3AzPPNg1AsPiN!;1yBmZAs36JS5#NWl{HXMq+V4J zAe%JAT(#?~RR8PWRroFHUonc3Q(+25;wg^nC02Ks|IeS_R~q7!(uE z6%zGJf7LL}Hz6h4a!x7r-Zm;5PAVIf2`AVb)KHml5{}A*6O2N^3DyTa6zX{=*bUd^ z(=r*v#Mx^doFJC7H)GUn*@}}qYA-Nz?lo#QgV03ElG=Cu&hn*A` z3LW7kkgV45Hj&oG7bvN7c_$^z;&^bNTO(OHmbi6Ac6>7f=$V@kMSjPKV9$70!=|3ALi7`OT8ZnEPZC>p0d?WHcd zBl{SxWjH-3jS=7ZI^fcA8gPwvmT)=B%uX5^Sm=N*hIJjUVJu8gECWgz29)$pn!F3g zfty*Fyn3rRx-n&V#tt@g-mh)V;J(jyHA=Tl0=RpbZ zRVSUShnCOzqNGYW$n!c=XzvJ{dFKQ&p4m=NgG%Q|yVV(Z8)F$P+iQ}jc#;v$M+%e^E?I40tf=55{8)PH6HT4#)S~flINb%QGg(QSxc4Bv7BehVZTG4Yk-EDIEHg5+JHXPOp*Tif;3o1P!m$E| zLpbvKTZIxcykN}WzZb1YN2l+FO)WB4iNJc5Ofc|d#?oofsh(pDCrt&c$A@5{B@0t8 z+l!3tqn=2f9qJHww7^Jkz=fhtm1B{oyS)sB=VKtXPbki`xv|aO+n2+278t--SO`T& zRqNsT2A*W#^9@|XSf_`PRHwJnz!+I2d=>xNAO+7ZaDLLFs%%eo28U8ejZ;-+IeBA8 z{UXZe=J?Q8gd+SNABc#DEsi>tN0Z_|9KDpI`+h>?FDRL$&X2NQ7pF-lV8Y;PWh-ID z*vx0Et~_u?DBVG&rDbF<=Zsa9@k<$$R>9jac*oPk^f<`^t_IFSAfEcDU;5LKQ#-Qs z`%yj@#$UVA9zU;YmPQ(vFKhgX%s*7{6Ymvm&7Z%0*bbjMIawyeY!1 zygbsI&ksddY*`s$@oZIu8*FuiH8N`=ypwfp}ApcZwB%A1_ z$Pn6qoOt*r>OJqOoOsye`ZhcZ@w3p2>RE`j+MDpKJ3s6GOZBWfxBNOh>&MUfJ*1xX zqf=-lo(<$@1GlJW1L<_S0?&r?v*FjPXT#|Xnulk6Y&awLO7$$42eTSH`yN00-W>Jp zdz4Sp@T`EJ6uCnPk7u{=vs-?tp54Nkcn{CE@Utxssb^dG z=keaevwQg2JzLbXduTR2&wTFD_mY@88t2V&k}QY{kc0j(oKF@cvDQy1v!=hvruf zHoyFJ^GjcCUlDzhe)9`D|0z0o|Mjh_UVY`|LoKZ@esx73huBBChxhZ5yxfBsfAnk` z=lyWg!LDz&G=KGVH2H-Wa$m^!qi@Umo5!W?-*V{v&0lqWdvEg#oWQ|oV{3*>iu3h+ z?(-RcOxv=5^S({vf*)-;ynpkdeVe}IJiXKW^1>t%*7)m|V8S zse?Xg@jBo~wSMkrebPR>GuHaS9r>;AZ_RJrcY9H5G?*a6Z*5GFshC*4&LJ~Q$nc}_ ze(t2h()P{hx_@`~LmzcN{Bidq2fDYt{Yms^2}1nd_0q5<6%$K7bQ<=IG}W+pawEu` z0Wt@6=b}BFDr7PPrDgHjKFLlA_+yikol++|>d|mN%Ppm8``5K@dudPWOD}(UVB0Hu xT2DUQe8!=D+j5@Y(|RVp9@y5_(mM1=vjWlOl2JwBN8TWLC+8LOD9B6A{{!YXq@(}< literal 0 HcmV?d00001 diff --git a/output/BootLoad.build_log.htm b/output/BootLoad.build_log.htm new file mode 100644 index 0000000..b77bff1 --- /dev/null +++ b/output/BootLoad.build_log.htm @@ -0,0 +1,40 @@ + + +

+

Vision Build Log

+

Tool Versions:

+IDE-Version: Vision V5.22.0.0 +Copyright (C) 2016 ARM Ltd and ARM Germany GmbH. All rights reserved. +License Information: yang Microsoft, Microsoft, LIC=58E4T-RQU60-GVC1T-RJBYK-PG19C-5N7J7 + +Tool Versions: +Toolchain: PK51 Prof. Developers Kit Version: 9.01 +Toolchain Path: C:\Keil_v5\C51\BIN +C Compiler: C51.exe V9.01 +Assembler: A51.exe V8.02 +Linker/Locator: BL51.exe V6.22 +Library Manager: LIB51.exe V4.24 +Hex Converter: OH51.exe V2.6 +CPU DLL: S8051.DLL V3.72 +Dialog DLL: DP51.DLL V2.59 +Target DLL: SH51A.dll V1.0.0.0 +Dialog DLL: TP51.DLL V2.58 + +

Project:

+C:\Users\wenhua.wang\Desktop\demo&user guideŻ\SH39F003&F004_DemoCode_V2.15_20231213\SH39F003&F004_DemoCode_V2.15_20231213\SH39F003&F004_DemoCode_V2.15_20231213\MCUCore.uvproj +Project File Date: 12/22/2023 + +

Output:

+Rebuild target 'BootLoad' +compiling Main.c... +compiling IapIsp.c... +compiling Flash.c... +assembling STARTUP.A51... +linking... +Program Size: data=176.5 xdata=662 code=3929 +creating hex file from ".\output\BootLoad"... +".\output\BootLoad" - 0 Error(s), 0 Warning(s). +Build Time Elapsed: 00:00:00 +
+ + diff --git a/output/BootLoad.hex b/output/BootLoad.hex new file mode 100644 index 0000000..6d2aa88 --- /dev/null +++ b/output/BootLoad.hex @@ -0,0 +1,254 @@ +:100D0D007580F875E18F75E9C875908075E27F750E +:100D1D00EA8075A0E075E33F75EBC075B01975E419 +:0B0D2D00E675EC194380C043E980220A +:080DB500E4F5A8F5A9F5AA2256 +:100D5E0075C432E4F587759850759D7F759C6475E2 +:0C0D6E009E04439D80759A0A759BFF222D +:090DAC00120DB5120D0DC200225A +:100C370053B1F8120DACE4F51B7FFF7E0FFDFC12DC +:100C47000D94EF645A7026C201751D55120D385068 +:100C5700028005120D385005E4F51D8024E4F51DCA +:100C6700758E55438702000000000080F0E4F51BF5 +:100C77007FFF7E0FFDFC120D94BFA505D201020078 +:050C8700A6121000227E +:100A1B00E4F508F509900202F0900205740BF090D2 +:100A2B000203E0FFA3E0900203F0A3EFF07F02903C +:100A3B000202E0FE2407FDE433FCEFC39DEC64806F +:100A4B00F8748098501774002FF582E43402F58304 +:100A5B00E02509F509E43508F5080F80D274072E57 +:100A6B00F582E43402F583E509F0E508FF90020214 +:100A7B00E02408F582E43402F583EFF0C202E4F5DA +:100A8B0086C29C7400252BF582E43402F583E0F5D5 +:010A9B0099C1 +:010A9C002237 +:100CD500E4900206F0A3E0FFB4490FA3E0B4410A93 +:100CE500A3E0B45005C201D20022EFB4491190022D +:100CF50008E0B4530AA3E0B45005D201D200229013 +:080D05000206740AF0C200228C +:10045000E4F526F525F524F523F530F52FF52EF5F1 +:100460002DF52AF529F528F527900209E0FFE4FC8F +:10047000FDFE781012073CC004C005C006C007A3EB +:10048000E0FFE4FCFDFE781812073CD003D002D058 +:1004900001D000EF4BFFEE4AFEED49FDEC48FCC0F9 +:1004A00004C005C006C007900208E0FFE4FCFDFEA2 +:1004B000780812073CD003D002D001D000EF4BFBEC +:1004C000EE4AFAED49F9EC48F8900207E0FFEB4FED +:1004D000F52AEAF529E9F528E8F527200006900233 +:1004E00006740AF0E4FF7E78FDFCAB2AAA29A9284D +:1004F000A827D312071840052001028017E4FF7EC9 +:10050000ECFDFCAB2AAA29A928A827D3120718407A +:100510000A3001079002067401F022E4900206F00E +:10052000F521751D55F515FF7E0EFDFC120B7EE4C1 +:10053000F515FF7E0EFDFC120C8C502B30012E7534 +:100540001BA5E4F51C7FFF7E0FFDFC120B15E4F5E7 +:100550001B7FFF7E0FFDFC120D94EF64A5600E90D3 +:1005600002067403F080069002067402F0E4F51DA2 +:10057000900206E06003020631FB7A02F9F8AF2A26 +:10058000AE29AD28AC271206868F09E4F508E508E8 +:10059000C395094003020637E4F50A300107F50E5A +:1005A000750D108006E4F50E750D84F50CF50BE560 +:1005B0000825E0FEE4FCFD250EF50EE50D3EF50DEB +:1005C000ED350CF50CEC350BF50B300135E5092458 +:1005D000FEFBE434FFFAED34FFF9EC34FFF8AF082A +:1005E000E4FED3120718501A750A01E5082402FF29 +:1005F000C3EF9509FFEF25E0FEE4F50E8E0DF50C37 +:10060000F50B751D55AF0EAE0DAD0CAC0B850A1577 +:10061000120B7EAF0EAE0DAD0CAC0B850A15120C95 +:100620008C40069002067402F0E4F51D05080205F0 +:070630008E9002067405F034 +:0106370022A0 +:10089500D203E4F510F511AE10AF11E4FCFDFB7ABF +:1008A50002F9F8D3120718500302098CE4F5163043 +:1008B500015E2526F515E5253410F514E43524F5F6 +:1008C50013E43523F512E4252AFFE529340CFEE46B +:1008D5003528FDE43527FCAB15AA14A913A812C3C6 +:1008E5001207184040E4252AFBE529340CFAE435C3 +:1008F50028F9E43527F8C3E5159BF515E5149AF5B0 +:1009050014E51399F513E51298F51275160180157E +:10091500E42526F515E5253484F514E43524F51389 +:10092500E43523F512AF15AE14AD13AC12740025E2 +:1009350011F58274003510F583E0F51B85161C1240 +:100945000B15AF15AE14AD13AC1285161B120D9415 +:1009550074002511F58274003510F583E06F60048D +:10096500C2038023E5262401F526E43525F525E493 +:100975003524F524E43523F5230511E5116003023B +:09098500089C051002089CA20365 +:01098E002246 +:1001F100C200900206E0FFC395214014E5212404CA +:10020100FDE433FCD3EF9DEC6480F8748098400AE0 +:10021100900206E060047405F022900206E0F521E8 +:10022100E4F0900202E070152526F526E52534025A +:10023100F525E43524F524E43523F52322E521547D +:1002410003F50AE4F508F509900202E0FD7C00C31C +:10025100E5099DE5089C503274072509F582E434CF +:1002610002F583E0FBAF0A7E00120638E5092FFF95 +:10027100E5083EFE74002FF58274003EF583EBF035 +:100281000509E50970C2050880BEE50A640360033B +:1002910002044F751D551208955003020386E4FFB1 +:1002A1007E02FDFCAB26AA25A924A823120718402B +:1002B1001AE5269400F526E5259402F525E5249412 +:1002C10000F524E5239400F5238009E4F526F525BE +:1002D100F524F523E4F50F30015E2526F50EE5251D +:1002E1003410F50DE43524F50CE43523F50BE42544 +:1002F1002AFFE529340CFEE43528FDE43527FCAB63 +:100301000EAA0DA90CA80BC31207184040E4252A18 +:10031100FBE529340CFAE43528F9E43527F8C3E57F +:100321000E9BF50EE50D9AF50DE50C99F50CE50B17 +:1003310098F50B750F018015E42526F50EE525349A +:1003410084F50DE43524F50CE43523F50B751D55C5 +:10035100AF0EAE0DAD0CAC0B850F15120B7EAF0EB3 +:10036100AE0DAD0CAC0B850F15120C8C500E120896 +:100371009540129002067403F002044C9002067438 +:1003810002F002044CE4F50A75F004E50AA4240223 +:10039100F582E5F03400F583E0FFE4FCFDFE781022 +:1003A10012073CC004C005C006C00775F004E50A89 +:1003B100A42403F582E5F03400F583E0FFE4FCFDBD +:1003C100FE781812073CD003D002D001D000EF4BC9 +:1003D100FFEE4AFEED49FDEC48FCC004C005C00635 +:1003E100C00775F004E50AA42401F582E5F03400A4 +:1003F100F583E0FFE4FCFDFE780812073CD003D052 +:1004010002D001D000EF4BFBEE4AFAED49F9EC487E +:10041100F875F004E50AA42400F582E5F03400F54E +:1004210083E0FFEB4FFFEAFEE9FDE8FCE5302FF545 +:1004310030E52F3EF52FE52E3DF52EE52D3CF52D32 +:0E044100050AE50A64806003020389E4F51DE4 +:01044F00228A +:10098F007E007D007C00900209E0FFE478101207E2 +:10099F003CC004C005C006C007A3E0FFE4FCFDFE99 +:1009AF00781812073CD003D002D001D000EF4BFFD4 +:1009BF00EE4AFEED49FDEC48FCC004C005C006C080 +:1009CF0007900208E0FFE4FCFDFE780812073CD018 +:1009DF0003D002D001D000EF4BFBEE4AFAED49F9FC +:1009EF00EC48F8900207E0FFEB4FFFEAFEE9FDE865 +:1009FF00FCAB30AA2FA92EA82DC3120718600790A1 +:0B0A0F0002067408F022E4900206F0DA +:010A1A0022B9 +:100BDE00E4900206F0752C0A751D55F515FF7E0E74 +:100BEE00FDFC120B7EE4F515FF7E0EFDFC120C8C47 +:100BFE00502A200130751B5AE4F51C7FFF7E0FFD35 +:100C0E00FC120B15E4F51B7FFF7E0FFDFC120D94FD +:100C1E00EF645A6010900206740380059002067409 +:090C2E0002F0E4F52CE4F51D22AE +:100A9D00E4F52B900202E0FD2408F582E43402F522 +:100AAD0083E0FE74072DF582E43402F583E07C00CB +:100ABD002400FFEC3EFEEF65327003EE65316003FE +:100ACD00432280E5226006900206F08038900205F0 +:100ADD00E0FEB40605120CD5802BEEB4070512040A +:100AED00508022900205E0B408051201F1801690A5 +:100AFD000205E0B4090512098F800A900205E0B4E1 +:080B0D000A03120BDE020A1BB1 +:1000A600E4F526F525F524F523F530F52FF52EF59F +:1000B6002DF52C120D5E20980302018E7400252B5F +:1000C600F582E43402F583E599F0052BE52BC3941C +:1000D6008C4003E4F52BE52BB4010D900200E0649F +:1000E6005A700302018C806BE52BB4021490020156 +:1000F600E064A56002805CE4F531F532F522020188 +:100106008C900202E0FF7E002409FDEE33FCAB2B4F +:100116007A00C3EB9DEC6480F87480985062EF24FB +:1001260007FFEE33FED3EB9FEE6480F874809850A1 +:100136001574FF252BF582E43401F583E02532F5AD +:1001460032E43531F531E52BB4050D900204E06457 +:10015600076033E4F52B802EE52B640670289002A9 +:1001660005E0FF6406601FEF6407601AEF6408602D +:1001760015EF64096010EF640A600B4322308006B5 +:1001860053B1F8120A9DC29830994453B1F89002BF +:1001960002E02408FFE433FEC3E52B9FEE6480F8FB +:1001A6007480984013E4F586D29CF52B900200F0FB +:1001B600A3F0A3F0D2028015052BE4F586C29C7449 +:1001C60000252BF582E43402F583E0F599C299E522 +:1001D6002C640A60030200BC53B1F820020302003B +:0B01E600BCC202F52C1200000200BC9D +:100B7E008F148E138D128C118515A7AF14AE13AD75 +:100B8E0012AC1178081207298FF775F2E620AF3CE8 +:100B9E0075F305E5A76515703375F40AE51DB455B3 +:100BAE002B75F509AF14AE13AD12AC117808120700 +:100BBE0029A804A905AA06AB07AFF7E4FCFDFEC3FE +:100BCE00120718700775F60600000000E4F5A7225C +:080C8C008F148E138D128C11E0 +:100C9400D2048515A7E4F516F517AE16AF17E4FCD4 +:100CA400FDFB7A02F9F8D3120718401FE517251443 +:100CB400FFE51635138F82F583E4936004C2048044 +:100CC4000A0517E51770D3051680CFE4F5A7A2042B +:010CD40022FD +:100B15008F1A8E198D188C17851CA7AF1AAE19ADB3 +:100B250018AC1778081207298FF7E51AFF8FFB8590 +:100B35001BFC75F26E20AF3D75F305E5A7651C70CE +:100B45003475F40AE51DB4552C75F509AF1AAE19BF +:100B5500AD18AC177808120729A804A905AA06AB91 +:100B650007AFF7E4FCFDFEC3120718700875F6061B +:090B75000000000000E4F5A722D5 +:080D94008F1A8E198D188C17BF +:0F0D9C00E4851BA7851A8285198393FFE4F5A7C9 +:010DAB002225 +:10077C00E4F50853B1F8E508C3943A501FE4F50AC0 +:10078C00AF08FE7C02FD12074FE42FF510EE34107B +:10079C00F50FE43DF50EE43CF50D8021750A01AF33 +:1007AC00087E007C027D0012074FE42FF510EE341A +:1007BC008CF50FED34FFF50EEC34FFF50D751D5572 +:1007CC00AF10AE0FAD0EAC0D850A15120B7EAF102F +:1007DC00AE0FAD0EAC0D850A15120C8C4003020841 +:1007EC0083E4F50BF50CAE0BAF0CE4FCFDFB7A02CD +:1007FC00F9F8D31207185003020886AF087E007C64 +:10080C00027D0012074FA804A905AA06AB07E42530 +:10081C000CFFE50B3484FEE433FDE433FCEB2FFFDB +:10082C00EA3EFEE93DFDE83CFCE4F51B120D948F1D +:10083C0009E50C2510FFE50B350FFEE4350EFDE444 +:10084C00350DFC85091B850A1C120B15E50C2510B2 +:10085C00FFE50B350FFEE4350EFDE4350DFC850A86 +:10086C001B120D94EF650960037F0222050CE50C49 +:10087C007002050B0207F27F01220508E508C394FC +:08088C003C500302077F7F00CE +:010894002241 +:100D3800D20312077CEF7019F515FF7E0EFDFC1229 +:100D48000B7EE4F515FF7E0EFDFC120C8C920380E1 +:050D580002C203A2032A +:010D5D002273 +:03000000020D7A74 +:100D7A0075817F75B208000000000000000043B2D0 +:0A0D8A000478FFE4F6D8FD020C37F0 +:03000300021003E5 +:03000B0002100BD5 +:03001300021013C5 +:03001B0002101BB5 +:03002300021023A5 +:03002B0002102B95 +:0300330002103385 +:03003B0002103B75 +:0300430002104365 +:03004B0002104B55 +:0300530002105345 +:03005B0002105B35 +:0300630002106325 +:03006B0002106B15 +:0300730002107305 +:03007B0002107BF5 +:03008300021083E5 +:03008B0002108BD5 +:03009300021093C5 +:03009B0002109BB5 +:0300A3000210A3A5 +:10063800EF8DF0A4A8F0CF8CF0A428CE8DF0A42ED6 +:02064800FE2290 +:10064A0075F008758200EF2FFFEE33FECD33CDCC67 +:10065A0033CCC58233C5829BED9AEC99E5829840EA +:10066A000CF582EE9BFEED9AFDEC99FC0FD5F0D6C7 +:10067A00E4CEFBE4CDFAE4CCF9A88222B800C1B9F1 +:10068A000059BA002DEC8BF084CFCECDFCE5F0CB2F +:10069A00F97818EF2FFFEE33FEED33FDEC33FCEB68 +:1006AA0033FB10D703994004EB99FB0FD8E5E4F923 +:1006BA00FA227818EF2FFFEE33FEED33FDEC33FC10 +:1006CA00C933C910D7059BE99A4007EC9BFCE99A04 +:1006DA00F90FD8E0E4C9FAE4CCFB2275F010EF2F49 +:1006EA00FFEE33FEED33FDCC33CCC833C810D70749 +:1006FA009BEC9AE899400AED9BFDEC9AFCE899F884 +:0E070A000FD5F0DAE4CDFBE4CCFAE4C8F92216 +:10071800EB9FF5F0EA9E42F0E99D42F0E89C45F037 +:0107280022AE +:10072900E8600FECC313FCED13FDEE13FEEF13FFAE +:03073900D8F122D2 +:10073C00E8600FEFC333FFEE33FEED33FDEC33FC1B +:03074C00D8F122BF +:10074F00EC8EF0A4CCC5F0CCCDF8EFA4CEC5F02D37 +:10075F00FDE43CFCE8A42EC8C5F03DFDE43CFCEFF5 +:0D076F00A4FFE5F028FEE43DFDE43CFC2283 +:00000001FF diff --git a/output/BootLoad.hex.c b/output/BootLoad.hex.c new file mode 100644 index 0000000..d0757c7 --- /dev/null +++ b/output/BootLoad.hex.c @@ -0,0 +1,258 @@ +unsigned char code g_loadercode[4096]={ + 0x02,0x0D,0x7A,0x02,0x10,0x03,0x00,0x00,0x00,0x00,0x00,0x02,0x10,0x0B,0x00,0x00, //0000 + 0x00,0x00,0x00,0x02,0x10,0x13,0x00,0x00,0x00,0x00,0x00,0x02,0x10,0x1B,0x00,0x00, //0010 + 0x00,0x00,0x00,0x02,0x10,0x23,0x00,0x00,0x00,0x00,0x00,0x02,0x10,0x2B,0x00,0x00, //0020 + 0x00,0x00,0x00,0x02,0x10,0x33,0x00,0x00,0x00,0x00,0x00,0x02,0x10,0x3B,0x00,0x00, //0030 + 0x00,0x00,0x00,0x02,0x10,0x43,0x00,0x00,0x00,0x00,0x00,0x02,0x10,0x4B,0x00,0x00, //0040 + 0x00,0x00,0x00,0x02,0x10,0x53,0x00,0x00,0x00,0x00,0x00,0x02,0x10,0x5B,0x00,0x00, //0050 + 0x00,0x00,0x00,0x02,0x10,0x63,0x00,0x00,0x00,0x00,0x00,0x02,0x10,0x6B,0x00,0x00, //0060 + 0x00,0x00,0x00,0x02,0x10,0x73,0x00,0x00,0x00,0x00,0x00,0x02,0x10,0x7B,0x00,0x00, //0070 + 0x00,0x00,0x00,0x02,0x10,0x83,0x00,0x00,0x00,0x00,0x00,0x02,0x10,0x8B,0x00,0x00, //0080 + 0x00,0x00,0x00,0x02,0x10,0x93,0x00,0x00,0x00,0x00,0x00,0x02,0x10,0x9B,0x00,0x00, //0090 + 0x00,0x00,0x00,0x02,0x10,0xA3,0xE4,0xF5,0x26,0xF5,0x25,0xF5,0x24,0xF5,0x23,0xF5, //00A0 + 0x30,0xF5,0x2F,0xF5,0x2E,0xF5,0x2D,0xF5,0x2C,0x12,0x0D,0x5E,0x20,0x98,0x03,0x02, //00B0 + 0x01,0x8E,0x74,0x00,0x25,0x2B,0xF5,0x82,0xE4,0x34,0x02,0xF5,0x83,0xE5,0x99,0xF0, //00C0 + 0x05,0x2B,0xE5,0x2B,0xC3,0x94,0x8C,0x40,0x03,0xE4,0xF5,0x2B,0xE5,0x2B,0xB4,0x01, //00D0 + 0x0D,0x90,0x02,0x00,0xE0,0x64,0x5A,0x70,0x03,0x02,0x01,0x8C,0x80,0x6B,0xE5,0x2B, //00E0 + 0xB4,0x02,0x14,0x90,0x02,0x01,0xE0,0x64,0xA5,0x60,0x02,0x80,0x5C,0xE4,0xF5,0x31, //00F0 + 0xF5,0x32,0xF5,0x22,0x02,0x01,0x8C,0x90,0x02,0x02,0xE0,0xFF,0x7E,0x00,0x24,0x09, //0100 + 0xFD,0xEE,0x33,0xFC,0xAB,0x2B,0x7A,0x00,0xC3,0xEB,0x9D,0xEC,0x64,0x80,0xF8,0x74, //0110 + 0x80,0x98,0x50,0x62,0xEF,0x24,0x07,0xFF,0xEE,0x33,0xFE,0xD3,0xEB,0x9F,0xEE,0x64, //0120 + 0x80,0xF8,0x74,0x80,0x98,0x50,0x15,0x74,0xFF,0x25,0x2B,0xF5,0x82,0xE4,0x34,0x01, //0130 + 0xF5,0x83,0xE0,0x25,0x32,0xF5,0x32,0xE4,0x35,0x31,0xF5,0x31,0xE5,0x2B,0xB4,0x05, //0140 + 0x0D,0x90,0x02,0x04,0xE0,0x64,0x07,0x60,0x33,0xE4,0xF5,0x2B,0x80,0x2E,0xE5,0x2B, //0150 + 0x64,0x06,0x70,0x28,0x90,0x02,0x05,0xE0,0xFF,0x64,0x06,0x60,0x1F,0xEF,0x64,0x07, //0160 + 0x60,0x1A,0xEF,0x64,0x08,0x60,0x15,0xEF,0x64,0x09,0x60,0x10,0xEF,0x64,0x0A,0x60, //0170 + 0x0B,0x43,0x22,0x30,0x80,0x06,0x53,0xB1,0xF8,0x12,0x0A,0x9D,0xC2,0x98,0x30,0x99, //0180 + 0x44,0x53,0xB1,0xF8,0x90,0x02,0x02,0xE0,0x24,0x08,0xFF,0xE4,0x33,0xFE,0xC3,0xE5, //0190 + 0x2B,0x9F,0xEE,0x64,0x80,0xF8,0x74,0x80,0x98,0x40,0x13,0xE4,0xF5,0x86,0xD2,0x9C, //01A0 + 0xF5,0x2B,0x90,0x02,0x00,0xF0,0xA3,0xF0,0xA3,0xF0,0xD2,0x02,0x80,0x15,0x05,0x2B, //01B0 + 0xE4,0xF5,0x86,0xC2,0x9C,0x74,0x00,0x25,0x2B,0xF5,0x82,0xE4,0x34,0x02,0xF5,0x83, //01C0 + 0xE0,0xF5,0x99,0xC2,0x99,0xE5,0x2C,0x64,0x0A,0x60,0x03,0x02,0x00,0xBC,0x53,0xB1, //01D0 + 0xF8,0x20,0x02,0x03,0x02,0x00,0xBC,0xC2,0x02,0xF5,0x2C,0x12,0x00,0x00,0x02,0x00, //01E0 + 0xBC,0xC2,0x00,0x90,0x02,0x06,0xE0,0xFF,0xC3,0x95,0x21,0x40,0x14,0xE5,0x21,0x24, //01F0 + 0x04,0xFD,0xE4,0x33,0xFC,0xD3,0xEF,0x9D,0xEC,0x64,0x80,0xF8,0x74,0x80,0x98,0x40, //0200 + 0x0A,0x90,0x02,0x06,0xE0,0x60,0x04,0x74,0x05,0xF0,0x22,0x90,0x02,0x06,0xE0,0xF5, //0210 + 0x21,0xE4,0xF0,0x90,0x02,0x02,0xE0,0x70,0x15,0x25,0x26,0xF5,0x26,0xE5,0x25,0x34, //0220 + 0x02,0xF5,0x25,0xE4,0x35,0x24,0xF5,0x24,0xE4,0x35,0x23,0xF5,0x23,0x22,0xE5,0x21, //0230 + 0x54,0x03,0xF5,0x0A,0xE4,0xF5,0x08,0xF5,0x09,0x90,0x02,0x02,0xE0,0xFD,0x7C,0x00, //0240 + 0xC3,0xE5,0x09,0x9D,0xE5,0x08,0x9C,0x50,0x32,0x74,0x07,0x25,0x09,0xF5,0x82,0xE4, //0250 + 0x34,0x02,0xF5,0x83,0xE0,0xFB,0xAF,0x0A,0x7E,0x00,0x12,0x06,0x38,0xE5,0x09,0x2F, //0260 + 0xFF,0xE5,0x08,0x3E,0xFE,0x74,0x00,0x2F,0xF5,0x82,0x74,0x00,0x3E,0xF5,0x83,0xEB, //0270 + 0xF0,0x05,0x09,0xE5,0x09,0x70,0xC2,0x05,0x08,0x80,0xBE,0xE5,0x0A,0x64,0x03,0x60, //0280 + 0x03,0x02,0x04,0x4F,0x75,0x1D,0x55,0x12,0x08,0x95,0x50,0x03,0x02,0x03,0x86,0xE4, //0290 + 0xFF,0x7E,0x02,0xFD,0xFC,0xAB,0x26,0xAA,0x25,0xA9,0x24,0xA8,0x23,0x12,0x07,0x18, //02A0 + 0x40,0x1A,0xE5,0x26,0x94,0x00,0xF5,0x26,0xE5,0x25,0x94,0x02,0xF5,0x25,0xE5,0x24, //02B0 + 0x94,0x00,0xF5,0x24,0xE5,0x23,0x94,0x00,0xF5,0x23,0x80,0x09,0xE4,0xF5,0x26,0xF5, //02C0 + 0x25,0xF5,0x24,0xF5,0x23,0xE4,0xF5,0x0F,0x30,0x01,0x5E,0x25,0x26,0xF5,0x0E,0xE5, //02D0 + 0x25,0x34,0x10,0xF5,0x0D,0xE4,0x35,0x24,0xF5,0x0C,0xE4,0x35,0x23,0xF5,0x0B,0xE4, //02E0 + 0x25,0x2A,0xFF,0xE5,0x29,0x34,0x0C,0xFE,0xE4,0x35,0x28,0xFD,0xE4,0x35,0x27,0xFC, //02F0 + 0xAB,0x0E,0xAA,0x0D,0xA9,0x0C,0xA8,0x0B,0xC3,0x12,0x07,0x18,0x40,0x40,0xE4,0x25, //0300 + 0x2A,0xFB,0xE5,0x29,0x34,0x0C,0xFA,0xE4,0x35,0x28,0xF9,0xE4,0x35,0x27,0xF8,0xC3, //0310 + 0xE5,0x0E,0x9B,0xF5,0x0E,0xE5,0x0D,0x9A,0xF5,0x0D,0xE5,0x0C,0x99,0xF5,0x0C,0xE5, //0320 + 0x0B,0x98,0xF5,0x0B,0x75,0x0F,0x01,0x80,0x15,0xE4,0x25,0x26,0xF5,0x0E,0xE5,0x25, //0330 + 0x34,0x84,0xF5,0x0D,0xE4,0x35,0x24,0xF5,0x0C,0xE4,0x35,0x23,0xF5,0x0B,0x75,0x1D, //0340 + 0x55,0xAF,0x0E,0xAE,0x0D,0xAD,0x0C,0xAC,0x0B,0x85,0x0F,0x15,0x12,0x0B,0x7E,0xAF, //0350 + 0x0E,0xAE,0x0D,0xAD,0x0C,0xAC,0x0B,0x85,0x0F,0x15,0x12,0x0C,0x8C,0x50,0x0E,0x12, //0360 + 0x08,0x95,0x40,0x12,0x90,0x02,0x06,0x74,0x03,0xF0,0x02,0x04,0x4C,0x90,0x02,0x06, //0370 + 0x74,0x02,0xF0,0x02,0x04,0x4C,0xE4,0xF5,0x0A,0x75,0xF0,0x04,0xE5,0x0A,0xA4,0x24, //0380 + 0x02,0xF5,0x82,0xE5,0xF0,0x34,0x00,0xF5,0x83,0xE0,0xFF,0xE4,0xFC,0xFD,0xFE,0x78, //0390 + 0x10,0x12,0x07,0x3C,0xC0,0x04,0xC0,0x05,0xC0,0x06,0xC0,0x07,0x75,0xF0,0x04,0xE5, //03A0 + 0x0A,0xA4,0x24,0x03,0xF5,0x82,0xE5,0xF0,0x34,0x00,0xF5,0x83,0xE0,0xFF,0xE4,0xFC, //03B0 + 0xFD,0xFE,0x78,0x18,0x12,0x07,0x3C,0xD0,0x03,0xD0,0x02,0xD0,0x01,0xD0,0x00,0xEF, //03C0 + 0x4B,0xFF,0xEE,0x4A,0xFE,0xED,0x49,0xFD,0xEC,0x48,0xFC,0xC0,0x04,0xC0,0x05,0xC0, //03D0 + 0x06,0xC0,0x07,0x75,0xF0,0x04,0xE5,0x0A,0xA4,0x24,0x01,0xF5,0x82,0xE5,0xF0,0x34, //03E0 + 0x00,0xF5,0x83,0xE0,0xFF,0xE4,0xFC,0xFD,0xFE,0x78,0x08,0x12,0x07,0x3C,0xD0,0x03, //03F0 + 0xD0,0x02,0xD0,0x01,0xD0,0x00,0xEF,0x4B,0xFB,0xEE,0x4A,0xFA,0xED,0x49,0xF9,0xEC, //0400 + 0x48,0xF8,0x75,0xF0,0x04,0xE5,0x0A,0xA4,0x24,0x00,0xF5,0x82,0xE5,0xF0,0x34,0x00, //0410 + 0xF5,0x83,0xE0,0xFF,0xEB,0x4F,0xFF,0xEA,0xFE,0xE9,0xFD,0xE8,0xFC,0xE5,0x30,0x2F, //0420 + 0xF5,0x30,0xE5,0x2F,0x3E,0xF5,0x2F,0xE5,0x2E,0x3D,0xF5,0x2E,0xE5,0x2D,0x3C,0xF5, //0430 + 0x2D,0x05,0x0A,0xE5,0x0A,0x64,0x80,0x60,0x03,0x02,0x03,0x89,0xE4,0xF5,0x1D,0x22, //0440 + 0xE4,0xF5,0x26,0xF5,0x25,0xF5,0x24,0xF5,0x23,0xF5,0x30,0xF5,0x2F,0xF5,0x2E,0xF5, //0450 + 0x2D,0xF5,0x2A,0xF5,0x29,0xF5,0x28,0xF5,0x27,0x90,0x02,0x09,0xE0,0xFF,0xE4,0xFC, //0460 + 0xFD,0xFE,0x78,0x10,0x12,0x07,0x3C,0xC0,0x04,0xC0,0x05,0xC0,0x06,0xC0,0x07,0xA3, //0470 + 0xE0,0xFF,0xE4,0xFC,0xFD,0xFE,0x78,0x18,0x12,0x07,0x3C,0xD0,0x03,0xD0,0x02,0xD0, //0480 + 0x01,0xD0,0x00,0xEF,0x4B,0xFF,0xEE,0x4A,0xFE,0xED,0x49,0xFD,0xEC,0x48,0xFC,0xC0, //0490 + 0x04,0xC0,0x05,0xC0,0x06,0xC0,0x07,0x90,0x02,0x08,0xE0,0xFF,0xE4,0xFC,0xFD,0xFE, //04A0 + 0x78,0x08,0x12,0x07,0x3C,0xD0,0x03,0xD0,0x02,0xD0,0x01,0xD0,0x00,0xEF,0x4B,0xFB, //04B0 + 0xEE,0x4A,0xFA,0xED,0x49,0xF9,0xEC,0x48,0xF8,0x90,0x02,0x07,0xE0,0xFF,0xEB,0x4F, //04C0 + 0xF5,0x2A,0xEA,0xF5,0x29,0xE9,0xF5,0x28,0xE8,0xF5,0x27,0x20,0x00,0x06,0x90,0x02, //04D0 + 0x06,0x74,0x0A,0xF0,0xE4,0xFF,0x7E,0x78,0xFD,0xFC,0xAB,0x2A,0xAA,0x29,0xA9,0x28, //04E0 + 0xA8,0x27,0xD3,0x12,0x07,0x18,0x40,0x05,0x20,0x01,0x02,0x80,0x17,0xE4,0xFF,0x7E, //04F0 + 0xEC,0xFD,0xFC,0xAB,0x2A,0xAA,0x29,0xA9,0x28,0xA8,0x27,0xD3,0x12,0x07,0x18,0x40, //0500 + 0x0A,0x30,0x01,0x07,0x90,0x02,0x06,0x74,0x01,0xF0,0x22,0xE4,0x90,0x02,0x06,0xF0, //0510 + 0xF5,0x21,0x75,0x1D,0x55,0xF5,0x15,0xFF,0x7E,0x0E,0xFD,0xFC,0x12,0x0B,0x7E,0xE4, //0520 + 0xF5,0x15,0xFF,0x7E,0x0E,0xFD,0xFC,0x12,0x0C,0x8C,0x50,0x2B,0x30,0x01,0x2E,0x75, //0530 + 0x1B,0xA5,0xE4,0xF5,0x1C,0x7F,0xFF,0x7E,0x0F,0xFD,0xFC,0x12,0x0B,0x15,0xE4,0xF5, //0540 + 0x1B,0x7F,0xFF,0x7E,0x0F,0xFD,0xFC,0x12,0x0D,0x94,0xEF,0x64,0xA5,0x60,0x0E,0x90, //0550 + 0x02,0x06,0x74,0x03,0xF0,0x80,0x06,0x90,0x02,0x06,0x74,0x02,0xF0,0xE4,0xF5,0x1D, //0560 + 0x90,0x02,0x06,0xE0,0x60,0x03,0x02,0x06,0x31,0xFB,0x7A,0x02,0xF9,0xF8,0xAF,0x2A, //0570 + 0xAE,0x29,0xAD,0x28,0xAC,0x27,0x12,0x06,0x86,0x8F,0x09,0xE4,0xF5,0x08,0xE5,0x08, //0580 + 0xC3,0x95,0x09,0x40,0x03,0x02,0x06,0x37,0xE4,0xF5,0x0A,0x30,0x01,0x07,0xF5,0x0E, //0590 + 0x75,0x0D,0x10,0x80,0x06,0xE4,0xF5,0x0E,0x75,0x0D,0x84,0xF5,0x0C,0xF5,0x0B,0xE5, //05A0 + 0x08,0x25,0xE0,0xFE,0xE4,0xFC,0xFD,0x25,0x0E,0xF5,0x0E,0xE5,0x0D,0x3E,0xF5,0x0D, //05B0 + 0xED,0x35,0x0C,0xF5,0x0C,0xEC,0x35,0x0B,0xF5,0x0B,0x30,0x01,0x35,0xE5,0x09,0x24, //05C0 + 0xFE,0xFB,0xE4,0x34,0xFF,0xFA,0xED,0x34,0xFF,0xF9,0xEC,0x34,0xFF,0xF8,0xAF,0x08, //05D0 + 0xE4,0xFE,0xD3,0x12,0x07,0x18,0x50,0x1A,0x75,0x0A,0x01,0xE5,0x08,0x24,0x02,0xFF, //05E0 + 0xC3,0xEF,0x95,0x09,0xFF,0xEF,0x25,0xE0,0xFE,0xE4,0xF5,0x0E,0x8E,0x0D,0xF5,0x0C, //05F0 + 0xF5,0x0B,0x75,0x1D,0x55,0xAF,0x0E,0xAE,0x0D,0xAD,0x0C,0xAC,0x0B,0x85,0x0A,0x15, //0600 + 0x12,0x0B,0x7E,0xAF,0x0E,0xAE,0x0D,0xAD,0x0C,0xAC,0x0B,0x85,0x0A,0x15,0x12,0x0C, //0610 + 0x8C,0x40,0x06,0x90,0x02,0x06,0x74,0x02,0xF0,0xE4,0xF5,0x1D,0x05,0x08,0x02,0x05, //0620 + 0x8E,0x90,0x02,0x06,0x74,0x05,0xF0,0x22,0xEF,0x8D,0xF0,0xA4,0xA8,0xF0,0xCF,0x8C, //0630 + 0xF0,0xA4,0x28,0xCE,0x8D,0xF0,0xA4,0x2E,0xFE,0x22,0x75,0xF0,0x08,0x75,0x82,0x00, //0640 + 0xEF,0x2F,0xFF,0xEE,0x33,0xFE,0xCD,0x33,0xCD,0xCC,0x33,0xCC,0xC5,0x82,0x33,0xC5, //0650 + 0x82,0x9B,0xED,0x9A,0xEC,0x99,0xE5,0x82,0x98,0x40,0x0C,0xF5,0x82,0xEE,0x9B,0xFE, //0660 + 0xED,0x9A,0xFD,0xEC,0x99,0xFC,0x0F,0xD5,0xF0,0xD6,0xE4,0xCE,0xFB,0xE4,0xCD,0xFA, //0670 + 0xE4,0xCC,0xF9,0xA8,0x82,0x22,0xB8,0x00,0xC1,0xB9,0x00,0x59,0xBA,0x00,0x2D,0xEC, //0680 + 0x8B,0xF0,0x84,0xCF,0xCE,0xCD,0xFC,0xE5,0xF0,0xCB,0xF9,0x78,0x18,0xEF,0x2F,0xFF, //0690 + 0xEE,0x33,0xFE,0xED,0x33,0xFD,0xEC,0x33,0xFC,0xEB,0x33,0xFB,0x10,0xD7,0x03,0x99, //06A0 + 0x40,0x04,0xEB,0x99,0xFB,0x0F,0xD8,0xE5,0xE4,0xF9,0xFA,0x22,0x78,0x18,0xEF,0x2F, //06B0 + 0xFF,0xEE,0x33,0xFE,0xED,0x33,0xFD,0xEC,0x33,0xFC,0xC9,0x33,0xC9,0x10,0xD7,0x05, //06C0 + 0x9B,0xE9,0x9A,0x40,0x07,0xEC,0x9B,0xFC,0xE9,0x9A,0xF9,0x0F,0xD8,0xE0,0xE4,0xC9, //06D0 + 0xFA,0xE4,0xCC,0xFB,0x22,0x75,0xF0,0x10,0xEF,0x2F,0xFF,0xEE,0x33,0xFE,0xED,0x33, //06E0 + 0xFD,0xCC,0x33,0xCC,0xC8,0x33,0xC8,0x10,0xD7,0x07,0x9B,0xEC,0x9A,0xE8,0x99,0x40, //06F0 + 0x0A,0xED,0x9B,0xFD,0xEC,0x9A,0xFC,0xE8,0x99,0xF8,0x0F,0xD5,0xF0,0xDA,0xE4,0xCD, //0700 + 0xFB,0xE4,0xCC,0xFA,0xE4,0xC8,0xF9,0x22,0xEB,0x9F,0xF5,0xF0,0xEA,0x9E,0x42,0xF0, //0710 + 0xE9,0x9D,0x42,0xF0,0xE8,0x9C,0x45,0xF0,0x22,0xE8,0x60,0x0F,0xEC,0xC3,0x13,0xFC, //0720 + 0xED,0x13,0xFD,0xEE,0x13,0xFE,0xEF,0x13,0xFF,0xD8,0xF1,0x22,0xE8,0x60,0x0F,0xEF, //0730 + 0xC3,0x33,0xFF,0xEE,0x33,0xFE,0xED,0x33,0xFD,0xEC,0x33,0xFC,0xD8,0xF1,0x22,0xEC, //0740 + 0x8E,0xF0,0xA4,0xCC,0xC5,0xF0,0xCC,0xCD,0xF8,0xEF,0xA4,0xCE,0xC5,0xF0,0x2D,0xFD, //0750 + 0xE4,0x3C,0xFC,0xE8,0xA4,0x2E,0xC8,0xC5,0xF0,0x3D,0xFD,0xE4,0x3C,0xFC,0xEF,0xA4, //0760 + 0xFF,0xE5,0xF0,0x28,0xFE,0xE4,0x3D,0xFD,0xE4,0x3C,0xFC,0x22,0xE4,0xF5,0x08,0x53, //0770 + 0xB1,0xF8,0xE5,0x08,0xC3,0x94,0x3A,0x50,0x1F,0xE4,0xF5,0x0A,0xAF,0x08,0xFE,0x7C, //0780 + 0x02,0xFD,0x12,0x07,0x4F,0xE4,0x2F,0xF5,0x10,0xEE,0x34,0x10,0xF5,0x0F,0xE4,0x3D, //0790 + 0xF5,0x0E,0xE4,0x3C,0xF5,0x0D,0x80,0x21,0x75,0x0A,0x01,0xAF,0x08,0x7E,0x00,0x7C, //07A0 + 0x02,0x7D,0x00,0x12,0x07,0x4F,0xE4,0x2F,0xF5,0x10,0xEE,0x34,0x8C,0xF5,0x0F,0xED, //07B0 + 0x34,0xFF,0xF5,0x0E,0xEC,0x34,0xFF,0xF5,0x0D,0x75,0x1D,0x55,0xAF,0x10,0xAE,0x0F, //07C0 + 0xAD,0x0E,0xAC,0x0D,0x85,0x0A,0x15,0x12,0x0B,0x7E,0xAF,0x10,0xAE,0x0F,0xAD,0x0E, //07D0 + 0xAC,0x0D,0x85,0x0A,0x15,0x12,0x0C,0x8C,0x40,0x03,0x02,0x08,0x83,0xE4,0xF5,0x0B, //07E0 + 0xF5,0x0C,0xAE,0x0B,0xAF,0x0C,0xE4,0xFC,0xFD,0xFB,0x7A,0x02,0xF9,0xF8,0xD3,0x12, //07F0 + 0x07,0x18,0x50,0x03,0x02,0x08,0x86,0xAF,0x08,0x7E,0x00,0x7C,0x02,0x7D,0x00,0x12, //0800 + 0x07,0x4F,0xA8,0x04,0xA9,0x05,0xAA,0x06,0xAB,0x07,0xE4,0x25,0x0C,0xFF,0xE5,0x0B, //0810 + 0x34,0x84,0xFE,0xE4,0x33,0xFD,0xE4,0x33,0xFC,0xEB,0x2F,0xFF,0xEA,0x3E,0xFE,0xE9, //0820 + 0x3D,0xFD,0xE8,0x3C,0xFC,0xE4,0xF5,0x1B,0x12,0x0D,0x94,0x8F,0x09,0xE5,0x0C,0x25, //0830 + 0x10,0xFF,0xE5,0x0B,0x35,0x0F,0xFE,0xE4,0x35,0x0E,0xFD,0xE4,0x35,0x0D,0xFC,0x85, //0840 + 0x09,0x1B,0x85,0x0A,0x1C,0x12,0x0B,0x15,0xE5,0x0C,0x25,0x10,0xFF,0xE5,0x0B,0x35, //0850 + 0x0F,0xFE,0xE4,0x35,0x0E,0xFD,0xE4,0x35,0x0D,0xFC,0x85,0x0A,0x1B,0x12,0x0D,0x94, //0860 + 0xEF,0x65,0x09,0x60,0x03,0x7F,0x02,0x22,0x05,0x0C,0xE5,0x0C,0x70,0x02,0x05,0x0B, //0870 + 0x02,0x07,0xF2,0x7F,0x01,0x22,0x05,0x08,0xE5,0x08,0xC3,0x94,0x3C,0x50,0x03,0x02, //0880 + 0x07,0x7F,0x7F,0x00,0x22,0xD2,0x03,0xE4,0xF5,0x10,0xF5,0x11,0xAE,0x10,0xAF,0x11, //0890 + 0xE4,0xFC,0xFD,0xFB,0x7A,0x02,0xF9,0xF8,0xD3,0x12,0x07,0x18,0x50,0x03,0x02,0x09, //08A0 + 0x8C,0xE4,0xF5,0x16,0x30,0x01,0x5E,0x25,0x26,0xF5,0x15,0xE5,0x25,0x34,0x10,0xF5, //08B0 + 0x14,0xE4,0x35,0x24,0xF5,0x13,0xE4,0x35,0x23,0xF5,0x12,0xE4,0x25,0x2A,0xFF,0xE5, //08C0 + 0x29,0x34,0x0C,0xFE,0xE4,0x35,0x28,0xFD,0xE4,0x35,0x27,0xFC,0xAB,0x15,0xAA,0x14, //08D0 + 0xA9,0x13,0xA8,0x12,0xC3,0x12,0x07,0x18,0x40,0x40,0xE4,0x25,0x2A,0xFB,0xE5,0x29, //08E0 + 0x34,0x0C,0xFA,0xE4,0x35,0x28,0xF9,0xE4,0x35,0x27,0xF8,0xC3,0xE5,0x15,0x9B,0xF5, //08F0 + 0x15,0xE5,0x14,0x9A,0xF5,0x14,0xE5,0x13,0x99,0xF5,0x13,0xE5,0x12,0x98,0xF5,0x12, //0900 + 0x75,0x16,0x01,0x80,0x15,0xE4,0x25,0x26,0xF5,0x15,0xE5,0x25,0x34,0x84,0xF5,0x14, //0910 + 0xE4,0x35,0x24,0xF5,0x13,0xE4,0x35,0x23,0xF5,0x12,0xAF,0x15,0xAE,0x14,0xAD,0x13, //0920 + 0xAC,0x12,0x74,0x00,0x25,0x11,0xF5,0x82,0x74,0x00,0x35,0x10,0xF5,0x83,0xE0,0xF5, //0930 + 0x1B,0x85,0x16,0x1C,0x12,0x0B,0x15,0xAF,0x15,0xAE,0x14,0xAD,0x13,0xAC,0x12,0x85, //0940 + 0x16,0x1B,0x12,0x0D,0x94,0x74,0x00,0x25,0x11,0xF5,0x82,0x74,0x00,0x35,0x10,0xF5, //0950 + 0x83,0xE0,0x6F,0x60,0x04,0xC2,0x03,0x80,0x23,0xE5,0x26,0x24,0x01,0xF5,0x26,0xE4, //0960 + 0x35,0x25,0xF5,0x25,0xE4,0x35,0x24,0xF5,0x24,0xE4,0x35,0x23,0xF5,0x23,0x05,0x11, //0970 + 0xE5,0x11,0x60,0x03,0x02,0x08,0x9C,0x05,0x10,0x02,0x08,0x9C,0xA2,0x03,0x22,0x7E, //0980 + 0x00,0x7D,0x00,0x7C,0x00,0x90,0x02,0x09,0xE0,0xFF,0xE4,0x78,0x10,0x12,0x07,0x3C, //0990 + 0xC0,0x04,0xC0,0x05,0xC0,0x06,0xC0,0x07,0xA3,0xE0,0xFF,0xE4,0xFC,0xFD,0xFE,0x78, //09A0 + 0x18,0x12,0x07,0x3C,0xD0,0x03,0xD0,0x02,0xD0,0x01,0xD0,0x00,0xEF,0x4B,0xFF,0xEE, //09B0 + 0x4A,0xFE,0xED,0x49,0xFD,0xEC,0x48,0xFC,0xC0,0x04,0xC0,0x05,0xC0,0x06,0xC0,0x07, //09C0 + 0x90,0x02,0x08,0xE0,0xFF,0xE4,0xFC,0xFD,0xFE,0x78,0x08,0x12,0x07,0x3C,0xD0,0x03, //09D0 + 0xD0,0x02,0xD0,0x01,0xD0,0x00,0xEF,0x4B,0xFB,0xEE,0x4A,0xFA,0xED,0x49,0xF9,0xEC, //09E0 + 0x48,0xF8,0x90,0x02,0x07,0xE0,0xFF,0xEB,0x4F,0xFF,0xEA,0xFE,0xE9,0xFD,0xE8,0xFC, //09F0 + 0xAB,0x30,0xAA,0x2F,0xA9,0x2E,0xA8,0x2D,0xC3,0x12,0x07,0x18,0x60,0x07,0x90,0x02, //0A00 + 0x06,0x74,0x08,0xF0,0x22,0xE4,0x90,0x02,0x06,0xF0,0x22,0xE4,0xF5,0x08,0xF5,0x09, //0A10 + 0x90,0x02,0x02,0xF0,0x90,0x02,0x05,0x74,0x0B,0xF0,0x90,0x02,0x03,0xE0,0xFF,0xA3, //0A20 + 0xE0,0x90,0x02,0x03,0xF0,0xA3,0xEF,0xF0,0x7F,0x02,0x90,0x02,0x02,0xE0,0xFE,0x24, //0A30 + 0x07,0xFD,0xE4,0x33,0xFC,0xEF,0xC3,0x9D,0xEC,0x64,0x80,0xF8,0x74,0x80,0x98,0x50, //0A40 + 0x17,0x74,0x00,0x2F,0xF5,0x82,0xE4,0x34,0x02,0xF5,0x83,0xE0,0x25,0x09,0xF5,0x09, //0A50 + 0xE4,0x35,0x08,0xF5,0x08,0x0F,0x80,0xD2,0x74,0x07,0x2E,0xF5,0x82,0xE4,0x34,0x02, //0A60 + 0xF5,0x83,0xE5,0x09,0xF0,0xE5,0x08,0xFF,0x90,0x02,0x02,0xE0,0x24,0x08,0xF5,0x82, //0A70 + 0xE4,0x34,0x02,0xF5,0x83,0xEF,0xF0,0xC2,0x02,0xE4,0xF5,0x86,0xC2,0x9C,0x74,0x00, //0A80 + 0x25,0x2B,0xF5,0x82,0xE4,0x34,0x02,0xF5,0x83,0xE0,0xF5,0x99,0x22,0xE4,0xF5,0x2B, //0A90 + 0x90,0x02,0x02,0xE0,0xFD,0x24,0x08,0xF5,0x82,0xE4,0x34,0x02,0xF5,0x83,0xE0,0xFE, //0AA0 + 0x74,0x07,0x2D,0xF5,0x82,0xE4,0x34,0x02,0xF5,0x83,0xE0,0x7C,0x00,0x24,0x00,0xFF, //0AB0 + 0xEC,0x3E,0xFE,0xEF,0x65,0x32,0x70,0x03,0xEE,0x65,0x31,0x60,0x03,0x43,0x22,0x80, //0AC0 + 0xE5,0x22,0x60,0x06,0x90,0x02,0x06,0xF0,0x80,0x38,0x90,0x02,0x05,0xE0,0xFE,0xB4, //0AD0 + 0x06,0x05,0x12,0x0C,0xD5,0x80,0x2B,0xEE,0xB4,0x07,0x05,0x12,0x04,0x50,0x80,0x22, //0AE0 + 0x90,0x02,0x05,0xE0,0xB4,0x08,0x05,0x12,0x01,0xF1,0x80,0x16,0x90,0x02,0x05,0xE0, //0AF0 + 0xB4,0x09,0x05,0x12,0x09,0x8F,0x80,0x0A,0x90,0x02,0x05,0xE0,0xB4,0x0A,0x03,0x12, //0B00 + 0x0B,0xDE,0x02,0x0A,0x1B,0x8F,0x1A,0x8E,0x19,0x8D,0x18,0x8C,0x17,0x85,0x1C,0xA7, //0B10 + 0xAF,0x1A,0xAE,0x19,0xAD,0x18,0xAC,0x17,0x78,0x08,0x12,0x07,0x29,0x8F,0xF7,0xE5, //0B20 + 0x1A,0xFF,0x8F,0xFB,0x85,0x1B,0xFC,0x75,0xF2,0x6E,0x20,0xAF,0x3D,0x75,0xF3,0x05, //0B30 + 0xE5,0xA7,0x65,0x1C,0x70,0x34,0x75,0xF4,0x0A,0xE5,0x1D,0xB4,0x55,0x2C,0x75,0xF5, //0B40 + 0x09,0xAF,0x1A,0xAE,0x19,0xAD,0x18,0xAC,0x17,0x78,0x08,0x12,0x07,0x29,0xA8,0x04, //0B50 + 0xA9,0x05,0xAA,0x06,0xAB,0x07,0xAF,0xF7,0xE4,0xFC,0xFD,0xFE,0xC3,0x12,0x07,0x18, //0B60 + 0x70,0x08,0x75,0xF6,0x06,0x00,0x00,0x00,0x00,0x00,0xE4,0xF5,0xA7,0x22,0x8F,0x14, //0B70 + 0x8E,0x13,0x8D,0x12,0x8C,0x11,0x85,0x15,0xA7,0xAF,0x14,0xAE,0x13,0xAD,0x12,0xAC, //0B80 + 0x11,0x78,0x08,0x12,0x07,0x29,0x8F,0xF7,0x75,0xF2,0xE6,0x20,0xAF,0x3C,0x75,0xF3, //0B90 + 0x05,0xE5,0xA7,0x65,0x15,0x70,0x33,0x75,0xF4,0x0A,0xE5,0x1D,0xB4,0x55,0x2B,0x75, //0BA0 + 0xF5,0x09,0xAF,0x14,0xAE,0x13,0xAD,0x12,0xAC,0x11,0x78,0x08,0x12,0x07,0x29,0xA8, //0BB0 + 0x04,0xA9,0x05,0xAA,0x06,0xAB,0x07,0xAF,0xF7,0xE4,0xFC,0xFD,0xFE,0xC3,0x12,0x07, //0BC0 + 0x18,0x70,0x07,0x75,0xF6,0x06,0x00,0x00,0x00,0x00,0xE4,0xF5,0xA7,0x22,0xE4,0x90, //0BD0 + 0x02,0x06,0xF0,0x75,0x2C,0x0A,0x75,0x1D,0x55,0xF5,0x15,0xFF,0x7E,0x0E,0xFD,0xFC, //0BE0 + 0x12,0x0B,0x7E,0xE4,0xF5,0x15,0xFF,0x7E,0x0E,0xFD,0xFC,0x12,0x0C,0x8C,0x50,0x2A, //0BF0 + 0x20,0x01,0x30,0x75,0x1B,0x5A,0xE4,0xF5,0x1C,0x7F,0xFF,0x7E,0x0F,0xFD,0xFC,0x12, //0C00 + 0x0B,0x15,0xE4,0xF5,0x1B,0x7F,0xFF,0x7E,0x0F,0xFD,0xFC,0x12,0x0D,0x94,0xEF,0x64, //0C10 + 0x5A,0x60,0x10,0x90,0x02,0x06,0x74,0x03,0x80,0x05,0x90,0x02,0x06,0x74,0x02,0xF0, //0C20 + 0xE4,0xF5,0x2C,0xE4,0xF5,0x1D,0x22,0x53,0xB1,0xF8,0x12,0x0D,0xAC,0xE4,0xF5,0x1B, //0C30 + 0x7F,0xFF,0x7E,0x0F,0xFD,0xFC,0x12,0x0D,0x94,0xEF,0x64,0x5A,0x70,0x26,0xC2,0x01, //0C40 + 0x75,0x1D,0x55,0x12,0x0D,0x38,0x50,0x02,0x80,0x05,0x12,0x0D,0x38,0x50,0x05,0xE4, //0C50 + 0xF5,0x1D,0x80,0x24,0xE4,0xF5,0x1D,0x75,0x8E,0x55,0x43,0x87,0x02,0x00,0x00,0x00, //0C60 + 0x00,0x00,0x80,0xF0,0xE4,0xF5,0x1B,0x7F,0xFF,0x7E,0x0F,0xFD,0xFC,0x12,0x0D,0x94, //0C70 + 0xBF,0xA5,0x05,0xD2,0x01,0x02,0x00,0xA6,0x12,0x10,0x00,0x22,0x8F,0x14,0x8E,0x13, //0C80 + 0x8D,0x12,0x8C,0x11,0xD2,0x04,0x85,0x15,0xA7,0xE4,0xF5,0x16,0xF5,0x17,0xAE,0x16, //0C90 + 0xAF,0x17,0xE4,0xFC,0xFD,0xFB,0x7A,0x02,0xF9,0xF8,0xD3,0x12,0x07,0x18,0x40,0x1F, //0CA0 + 0xE5,0x17,0x25,0x14,0xFF,0xE5,0x16,0x35,0x13,0x8F,0x82,0xF5,0x83,0xE4,0x93,0x60, //0CB0 + 0x04,0xC2,0x04,0x80,0x0A,0x05,0x17,0xE5,0x17,0x70,0xD3,0x05,0x16,0x80,0xCF,0xE4, //0CC0 + 0xF5,0xA7,0xA2,0x04,0x22,0xE4,0x90,0x02,0x06,0xF0,0xA3,0xE0,0xFF,0xB4,0x49,0x0F, //0CD0 + 0xA3,0xE0,0xB4,0x41,0x0A,0xA3,0xE0,0xB4,0x50,0x05,0xC2,0x01,0xD2,0x00,0x22,0xEF, //0CE0 + 0xB4,0x49,0x11,0x90,0x02,0x08,0xE0,0xB4,0x53,0x0A,0xA3,0xE0,0xB4,0x50,0x05,0xD2, //0CF0 + 0x01,0xD2,0x00,0x22,0x90,0x02,0x06,0x74,0x0A,0xF0,0xC2,0x00,0x22,0x75,0x80,0xF8, //0D00 + 0x75,0xE1,0x8F,0x75,0xE9,0xC8,0x75,0x90,0x80,0x75,0xE2,0x7F,0x75,0xEA,0x80,0x75, //0D10 + 0xA0,0xE0,0x75,0xE3,0x3F,0x75,0xEB,0xC0,0x75,0xB0,0x19,0x75,0xE4,0xE6,0x75,0xEC, //0D20 + 0x19,0x43,0x80,0xC0,0x43,0xE9,0x80,0x22,0xD2,0x03,0x12,0x07,0x7C,0xEF,0x70,0x19, //0D30 + 0xF5,0x15,0xFF,0x7E,0x0E,0xFD,0xFC,0x12,0x0B,0x7E,0xE4,0xF5,0x15,0xFF,0x7E,0x0E, //0D40 + 0xFD,0xFC,0x12,0x0C,0x8C,0x92,0x03,0x80,0x02,0xC2,0x03,0xA2,0x03,0x22,0x75,0xC4, //0D50 + 0x32,0xE4,0xF5,0x87,0x75,0x98,0x50,0x75,0x9D,0x7F,0x75,0x9C,0x64,0x75,0x9E,0x04, //0D60 + 0x43,0x9D,0x80,0x75,0x9A,0x0A,0x75,0x9B,0xFF,0x22,0x75,0x81,0x7F,0x75,0xB2,0x08, //0D70 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x43,0xB2,0x04,0x78,0xFF,0xE4,0xF6,0xD8, //0D80 + 0xFD,0x02,0x0C,0x37,0x8F,0x1A,0x8E,0x19,0x8D,0x18,0x8C,0x17,0xE4,0x85,0x1B,0xA7, //0D90 + 0x85,0x1A,0x82,0x85,0x19,0x83,0x93,0xFF,0xE4,0xF5,0xA7,0x22,0x12,0x0D,0xB5,0x12, //0DA0 + 0x0D,0x0D,0xC2,0x00,0x22,0xE4,0xF5,0xA8,0xF5,0xA9,0xF5,0xAA,0x22,0x00,0x00,0x00, //0DB0 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0DC0 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0DD0 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0DE0 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0DF0 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0E00 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0E10 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0E20 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0E30 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0E40 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0E50 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0E60 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0E70 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0E80 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0E90 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0EA0 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0EB0 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0EC0 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0ED0 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0EE0 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0EF0 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0F00 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0F10 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0F20 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0F30 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0F40 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0F50 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0F60 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0F70 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0F80 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0F90 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0FA0 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0FB0 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0FC0 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0FD0 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0FE0 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 //0FF0 +}; diff --git a/output/BootLoad.lnp b/output/BootLoad.lnp new file mode 100644 index 0000000..8459e00 --- /dev/null +++ b/output/BootLoad.lnp @@ -0,0 +1,8 @@ +".\output\Main.obj", +".\output\IapIsp.obj", +".\output\Flash.obj", +".\output\STARTUP.obj" +TO ".\output\BootLoad" +PRINT(".\output\BootLoad.m51") RAMSIZE(256) +DISABLEWARNING (16) +CODE( 0X0000-0X0FFF , ?PR?BOOTIAPISP?IAPISP(0xA6) ) diff --git a/output/BootLoad.m51 b/output/BootLoad.m51 new file mode 100644 index 0000000..f301b90 --- /dev/null +++ b/output/BootLoad.m51 @@ -0,0 +1,1105 @@ +BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 12:15:06 PAGE 1 + + +BL51 BANKED LINKER/LOCATER V6.22, INVOKED BY: +C:\KEIL_V5\C51\BIN\BL51.EXE .\output\Main.obj, .\output\IapIsp.obj, .\output\Flash.obj, .\output\STARTUP.obj TO .\output +>> \BootLoad PRINT (.\output\BootLoad.m51) RAMSIZE (256) DISABLEWARNING (16) CODE (0X0000-0X0FFF, ?PR?BOOTIAPISP?IAPISP +>> (0XA6)) + + +MEMORY MODEL: SMALL + + +INPUT MODULES INCLUDED: + .\output\Main.obj (MAIN) + .\output\IapIsp.obj (IAPISP) + .\output\Flash.obj (FLASH) + .\output\STARTUP.obj (?C_STARTUP) + C:\KEIL_V5\C51\LIB\C51S.LIB (?C?IMUL) + C:\KEIL_V5\C51\LIB\C51S.LIB (?C?ULDIV) + C:\KEIL_V5\C51\LIB\C51S.LIB (?C?ULCMP) + C:\KEIL_V5\C51\LIB\C51S.LIB (?C?ULSHR) + C:\KEIL_V5\C51\LIB\C51S.LIB (?C?LSHL) + C:\KEIL_V5\C51\LIB\C51S.LIB (?C?LIMUL) + + +LINK MAP OF MODULE: .\output\BootLoad (MAIN) + + + TYPE BASE LENGTH RELOCATION SEGMENT NAME + ----------------------------------------------------- + + * * * * * * * D A T A M E M O R Y * * * * * * * + REG 0000H 0008H ABSOLUTE "REG BANK 0" + DATA 0008H 0015H UNIT _DATA_GROUP_ + DATA 001DH 0001H UNIT ?DT?FLASH + 001EH 0002H *** GAP *** + BIT 0020H.0 0000H.3 UNIT ?BI?IAPISP + BIT 0020H.3 0000H.2 UNIT _BIT_GROUP_ + 0020H.5 0000H.3 *** GAP *** + DATA 0021H 0012H UNIT ?DT?IAPISP + 0033H 004DH *** GAP *** + IDATA 0080H 0080H ABSOLUTE + + * * * * * * * X D A T A M E M O R Y * * * * * * * + XDATA 0000H 0296H UNIT ?XD?IAPISP + + * * * * * * * C O D E M E M O R Y * * * * * * * + CODE 0000H 0003H ABSOLUTE + CODE 0003H 0003H ABSOLUTE + 0006H 0005H *** GAP *** + CODE 000BH 0003H ABSOLUTE + 000EH 0005H *** GAP *** + CODE 0013H 0003H ABSOLUTE + 0016H 0005H *** GAP *** + CODE 001BH 0003H ABSOLUTE + 001EH 0005H *** GAP *** + CODE 0023H 0003H ABSOLUTE + 0026H 0005H *** GAP *** + CODE 002BH 0003H ABSOLUTE + 002EH 0005H *** GAP *** + CODE 0033H 0003H ABSOLUTE + BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 12:15:06 PAGE 2 + + + 0036H 0005H *** GAP *** + CODE 003BH 0003H ABSOLUTE + 003EH 0005H *** GAP *** + CODE 0043H 0003H ABSOLUTE + 0046H 0005H *** GAP *** + CODE 004BH 0003H ABSOLUTE + 004EH 0005H *** GAP *** + CODE 0053H 0003H ABSOLUTE + 0056H 0005H *** GAP *** + CODE 005BH 0003H ABSOLUTE + 005EH 0005H *** GAP *** + CODE 0063H 0003H ABSOLUTE + 0066H 0005H *** GAP *** + CODE 006BH 0003H ABSOLUTE + 006EH 0005H *** GAP *** + CODE 0073H 0003H ABSOLUTE + 0076H 0005H *** GAP *** + CODE 007BH 0003H ABSOLUTE + 007EH 0005H *** GAP *** + CODE 0083H 0003H ABSOLUTE + 0086H 0005H *** GAP *** + CODE 008BH 0003H ABSOLUTE + 008EH 0005H *** GAP *** + CODE 0093H 0003H ABSOLUTE + 0096H 0005H *** GAP *** + CODE 009BH 0003H ABSOLUTE + 009EH 0005H *** GAP *** + CODE 00A3H 0003H ABSOLUTE + CODE 00A6H 014BH UNIT ?PR?BOOTIAPISP?IAPISP + CODE 01F1H 025FH UNIT ?PR?IAPRECEIVEDATA?IAPISP + CODE 0450H 01E8H UNIT ?PR?IAPBEGINACK?IAPISP + CODE 0638H 0144H UNIT ?C?LIB_CODE + CODE 077CH 0119H UNIT ?PR?BOOTPROGRAM?FLASH + CODE 0895H 00FAH UNIT ?PR?IAPWRSECTOR?IAPISP + CODE 098FH 008CH UNIT ?PR?IAPRDATAVERIFY?IAPISP + CODE 0A1BH 0082H UNIT ?PR?UARTSENDACK?IAPISP + CODE 0A9DH 0078H UNIT ?PR?UARTCMDPROCESS?IAPISP + CODE 0B15H 0069H UNIT ?PR?_MCUFLASHWRONEBYTE?FLASH + CODE 0B7EH 0060H UNIT ?PR?_MCUFLASHERASESECTOR?FLASH + CODE 0BDEH 0059H UNIT ?PR?IAPCMDRESET?IAPISP + CODE 0C37H 0055H UNIT ?PR?MAIN?MAIN + CODE 0C8CH 0049H UNIT ?PR?_MCUFLASHBLANKCHECK?FLASH + CODE 0CD5H 0038H UNIT ?PR?IAPHANDSHAKE?IAPISP + CODE 0D0DH 002BH UNIT ?PR?INITGPIO?MAIN + CODE 0D38H 0026H UNIT ?PR?BOOTUPGRADECODE?FLASH + CODE 0D5EH 001CH UNIT ?PR?UARTINIT?MAIN + CODE 0D7AH 001AH UNIT ?C_C51STARTUP + CODE 0D94H 0018H UNIT ?PR?_MCUFLASHRDONEBYTE?FLASH + CODE 0DACH 0009H UNIT ?PR?INITIAL?MAIN + CODE 0DB5H 0008H UNIT ?PR?INITIRQ?MAIN + 0DBDH 0043H *** GAP *** + CODE 0E00H 0200H ABSOLUTE + + + +OVERLAY MAP OF MODULE: .\output\BootLoad (MAIN) + + BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 12:15:06 PAGE 3 + + + +SEGMENT BIT_GROUP DATA_GROUP + +--> CALLED SEGMENT START LENGTH START LENGTH +-------------------------------------------------------------------------- +?C_C51STARTUP ----- ----- ----- ----- + +--> ?PR?MAIN?MAIN + +?PR?MAIN?MAIN ----- ----- ----- ----- + +--> ?PR?INITIAL?MAIN + +--> ?PR?_MCUFLASHRDONEBYTE?FLASH + +--> ?PR?BOOTUPGRADECODE?FLASH + +--> ?PR?BOOTIAPISP?IAPISP + +?PR?INITIAL?MAIN ----- ----- ----- ----- + +--> ?PR?INITIRQ?MAIN + +--> ?PR?INITGPIO?MAIN + +?PR?_MCUFLASHRDONEBYTE?FLASH ----- ----- 0017H 0005H + +?PR?BOOTUPGRADECODE?FLASH 0020H.3 0000H.1 ----- ----- + +--> ?PR?BOOTPROGRAM?FLASH + +--> ?PR?_MCUFLASHERASESECTOR?FLASH + +--> ?PR?_MCUFLASHBLANKCHECK?FLASH + +?PR?BOOTPROGRAM?FLASH ----- ----- 0008H 0009H + +--> ?PR?_MCUFLASHERASESECTOR?FLASH + +--> ?PR?_MCUFLASHBLANKCHECK?FLASH + +--> ?PR?_MCUFLASHRDONEBYTE?FLASH + +--> ?PR?_MCUFLASHWRONEBYTE?FLASH + +?PR?_MCUFLASHERASESECTOR?FLASH ----- ----- 0011H 0005H + +?PR?_MCUFLASHBLANKCHECK?FLASH 0020H.4 0000H.1 0011H 0007H + +?PR?_MCUFLASHWRONEBYTE?FLASH ----- ----- 0017H 0006H + +?PR?BOOTIAPISP?IAPISP ----- ----- ----- ----- + +--> ?PR?UARTINIT?MAIN + +--> ?PR?UARTCMDPROCESS?IAPISP + +?PR?UARTCMDPROCESS?IAPISP ----- ----- ----- ----- + +--> ?PR?IAPHANDSHAKE?IAPISP + +--> ?PR?IAPBEGINACK?IAPISP + +--> ?PR?IAPRECEIVEDATA?IAPISP + +--> ?PR?IAPRDATAVERIFY?IAPISP + +--> ?PR?IAPCMDRESET?IAPISP + +--> ?PR?UARTSENDACK?IAPISP + +?PR?IAPBEGINACK?IAPISP ----- ----- 0008H 0007H + +--> ?PR?_MCUFLASHERASESECTOR?FLASH + +--> ?PR?_MCUFLASHBLANKCHECK?FLASH + +--> ?PR?_MCUFLASHWRONEBYTE?FLASH + +--> ?PR?_MCUFLASHRDONEBYTE?FLASH + +?PR?IAPRECEIVEDATA?IAPISP ----- ----- 0008H 0008H + +--> ?PR?IAPWRSECTOR?IAPISP + +--> ?PR?_MCUFLASHERASESECTOR?FLASH + BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 12:15:06 PAGE 4 + + + +--> ?PR?_MCUFLASHBLANKCHECK?FLASH + +?PR?IAPWRSECTOR?IAPISP 0020H.3 0000H.1 0010H 0007H + +--> ?PR?_MCUFLASHWRONEBYTE?FLASH + +--> ?PR?_MCUFLASHRDONEBYTE?FLASH + +?PR?IAPCMDRESET?IAPISP ----- ----- ----- ----- + +--> ?PR?_MCUFLASHERASESECTOR?FLASH + +--> ?PR?_MCUFLASHBLANKCHECK?FLASH + +--> ?PR?_MCUFLASHWRONEBYTE?FLASH + +--> ?PR?_MCUFLASHRDONEBYTE?FLASH + +?PR?UARTSENDACK?IAPISP ----- ----- 0008H 0002H + + + +SYMBOL TABLE OF MODULE: .\output\BootLoad (MAIN) + + VALUE TYPE NAME + ---------------------------------- + + ------- MODULE MAIN + C:0000H SYMBOL _ICE_DUMMY_ + D:0080H PUBLIC P0 + D:0090H PUBLIC P1 + D:00A0H PUBLIC P2 + D:00B0H PUBLIC P3 + C:0DB5H PUBLIC InitIRQ + D:00C4H PUBLIC UART0CR + D:00C0H PUBLIC P4 + D:009DH PUBLIC SBRTH + D:0080H PUBLIC P5 + D:009CH PUBLIC SBRTL + D:00A8H PUBLIC IEN0 + D:00A9H PUBLIC IEN1 + D:00AAH PUBLIC IEN2 + D:00E1H PUBLIC P0CR + D:00E2H PUBLIC P1CR + D:00E3H PUBLIC P2CR + D:008EH PUBLIC SUSLO + D:00E4H PUBLIC P3CR + C:0C37H PUBLIC main + D:0087H PUBLIC PCON + D:0098H PUBLIC SCON + D:00B1H PUBLIC RSTSTAT + C:0D0DH PUBLIC InitGPIO + C:0DACH PUBLIC Initial + C:0D5EH PUBLIC UARTInit + D:00E9H PUBLIC P0PCR + D:00EAH PUBLIC P1PCR + D:00EBH PUBLIC P2PCR + D:00ECH PUBLIC P3PCR + D:009BH PUBLIC SADEN + D:009AH PUBLIC SADDR + D:009EH PUBLIC SFINE + ------- PROC INITGPIO + C:0D0DH LINE# 23 + BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 12:15:06 PAGE 5 + + + C:0D0DH LINE# 24 + C:0D0DH LINE# 25 + C:0D10H LINE# 26 + C:0D13H LINE# 27 + C:0D16H LINE# 29 + C:0D19H LINE# 30 + C:0D1CH LINE# 31 + C:0D1FH LINE# 33 + C:0D22H LINE# 34 + C:0D25H LINE# 35 + C:0D28H LINE# 37 + C:0D2BH LINE# 38 + C:0D2EH LINE# 39 + C:0D31H LINE# 42 + C:0D34H LINE# 43 + C:0D37H LINE# 387 + ------- ENDPROC INITGPIO + ------- PROC INITIRQ + C:0DB5H LINE# 395 + C:0DB5H LINE# 396 + C:0DB5H LINE# 397 + C:0DB8H LINE# 398 + C:0DBAH LINE# 399 + C:0DBCH LINE# 400 + ------- ENDPROC INITIRQ + ------- PROC UARTINIT + C:0D5EH LINE# 408 + C:0D5EH LINE# 409 + C:0D5EH LINE# 411 + C:0D61H LINE# 472 + C:0D64H LINE# 473 + C:0D67H LINE# 474 + C:0D6AH LINE# 475 + C:0D6DH LINE# 476 + C:0D70H LINE# 477 + C:0D73H LINE# 478 + C:0D76H LINE# 479 + C:0D79H LINE# 480 + ------- ENDPROC UARTINIT + ------- PROC INITIAL + C:0DACH LINE# 584 + C:0DACH LINE# 585 + C:0DACH LINE# 586 + C:0DAFH LINE# 587 + C:0DB2H LINE# 588 + C:0DB4H LINE# 589 + ------- ENDPROC INITIAL + ------- PROC MAIN + C:0C37H LINE# 598 + C:0C37H LINE# 599 + C:0C37H LINE# 600 + C:0C3AH LINE# 601 + C:0C3DH LINE# 604 + C:0C4EH LINE# 605 + C:0C4EH LINE# 606 + C:0C50H LINE# 607 + C:0C53H LINE# 608 + BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 12:15:06 PAGE 6 + + + C:0C58H LINE# 609 + C:0C58H LINE# 610 + C:0C58H LINE# 611 + C:0C58H LINE# 612 + C:0C5AH LINE# 613 + C:0C5FH LINE# 614 + C:0C5FH LINE# 615 + C:0C62H LINE# 616 + C:0C62H LINE# 617 + C:0C64H LINE# 619 + C:0C64H LINE# 620 + C:0C64H LINE# 621 + C:0C64H LINE# 622 + C:0C67H LINE# 623 + C:0C6AH LINE# 624 + C:0C6DH LINE# 625 + C:0C6EH LINE# 626 + C:0C6FH LINE# 627 + C:0C70H LINE# 628 + C:0C71H LINE# 629 + C:0C72H LINE# 630 + C:0C74H LINE# 631 + C:0C74H LINE# 632 + C:0C74H LINE# 634 + C:0C83H LINE# 635 + C:0C83H LINE# 636 + C:0C85H LINE# 637 + C:0C88H LINE# 638 + C:0C88H LINE# 641 + C:0C88H LINE# 642 + C:0C8BH LINE# 643 + C:0C8BH LINE# 644 + ------- ENDPROC MAIN + ------- ENDMOD MAIN + + ------- MODULE IAPISP + C:0000H SYMBOL _ICE_DUMMY_ + D:0080H PUBLIC P0 + D:0090H PUBLIC P1 + D:00A0H PUBLIC P2 + D:00B0H PUBLIC P3 + D:00C0H PUBLIC P4 + D:0080H PUBLIC P5 + C:0CD5H PUBLIC IapHandShake + X:0000H PUBLIC ucIapBuf + C:0450H PUBLIC IapBeginAck + X:0200H PUBLIC ucUartBuf + C:0A9DH PUBLIC UartCmdProcess + B:0098H.0 PUBLIC RI + B:0098H.1 PUBLIC TI + D:0021H PUBLIC ucIapIndexBk + D:0022H PUBLIC ucUartErrCode + D:0099H PUBLIC SBUF + D:0023H PUBLIC ulIapDataPtr + C:0BDEH PUBLIC IapCmdReset + D:0027H PUBLIC ulIapRecDataLen + D:00B1H PUBLIC RSTSTAT + BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 12:15:06 PAGE 7 + + + C:0A1BH PUBLIC UartSendAck + D:002BH PUBLIC ucUartBufPT + B:0020H.0 PUBLIC bHandsheakOkFlg + B:0020H.1 PUBLIC bIapIspFlg + D:0086H PUBLIC INSCON + C:0895H PUBLIC IapWrSector + D:002CH PUBLIC ucIapRestCommand + C:01F1H PUBLIC IapReceiveData + C:00A6H PUBLIC BootIapIsp + B:0020H.2 PUBLIC bUartSndOverFlg + C:098FH PUBLIC IapRDataVerify + B:0098H.4 PUBLIC REN + D:002DH PUBLIC ulIapChksum + D:0031H PUBLIC uiUartRcvChkSum + ------- PROC UARTSENDACK + ------- DO + D:0007H SYMBOL i + D:0007H SYMBOL DataBak + D:0008H SYMBOL CheckSum + ------- ENDDO + C:0A1BH LINE# 35 + C:0A1BH LINE# 36 + C:0A1BH LINE# 38 + C:0A20H LINE# 40 + C:0A24H LINE# 41 + C:0A2AH LINE# 43 + C:0A2FH LINE# 44 + C:0A35H LINE# 45 + C:0A38H LINE# 47 + C:0A51H LINE# 48 + C:0A51H LINE# 49 + C:0A65H LINE# 50 + C:0A68H LINE# 52 + C:0A75H LINE# 53 + C:0A87H LINE# 55 + C:0A89H LINE# 56 + C:0A9CH LINE# 57 + ------- ENDPROC UARTSENDACK + ------- PROC IAPHANDSHAKE + C:0CD5H LINE# 67 + C:0CD5H LINE# 68 + C:0CD5H LINE# 69 + C:0CDAH LINE# 70 + C:0CEAH LINE# 71 + C:0CEAH LINE# 72 + C:0CECH LINE# 73 + C:0CEEH LINE# 74 + C:0CEFH LINE# 75 + C:0CFFH LINE# 76 + C:0CFFH LINE# 77 + C:0D01H LINE# 78 + C:0D03H LINE# 79 + C:0D04H LINE# 81 + C:0D04H LINE# 82 + C:0D0AH LINE# 83 + C:0D0CH LINE# 84 + C:0D0CH LINE# 85 + BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 12:15:06 PAGE 8 + + + ------- ENDPROC IAPHANDSHAKE + ------- PROC IAPBEGINACK + ------- DO + D:0008H SYMBOL i + D:0009H SYMBOL SectorNum + D:000AH SYMBOL McuFlashType + D:000BH SYMBOL McuFlashAddr + ------- ENDDO + C:0450H LINE# 94 + C:0450H LINE# 95 + C:0450H LINE# 99 + C:0459H LINE# 100 + C:0461H LINE# 101 + C:0469H LINE# 105 + C:04DBH LINE# 107 + C:04DEH LINE# 108 + C:04DEH LINE# 109 + C:04E4H LINE# 110 + C:04E4H LINE# 112 + C:04FBH LINE# 113 + C:04FBH LINE# 114 + C:04FBH LINE# 115 + C:04FDH LINE# 116 + C:0514H LINE# 117 + C:0514H LINE# 118 + C:051AH LINE# 119 + C:051BH LINE# 121 + C:051BH LINE# 122 + C:0520H LINE# 123 + C:0522H LINE# 126 + C:0525H LINE# 127 + C:052FH LINE# 128 + C:053CH LINE# 129 + C:053CH LINE# 130 + C:053FH LINE# 131 + C:053FH LINE# 132 + C:054EH LINE# 133 + C:055FH LINE# 134 + C:055FH LINE# 135 + C:0565H LINE# 136 + C:0565H LINE# 137 + C:0565H LINE# 138 + C:0567H LINE# 140 + C:0567H LINE# 141 + C:056DH LINE# 142 + C:056DH LINE# 143 + C:0570H LINE# 146 + C:0579H LINE# 147 + C:0579H LINE# 148 + C:058BH LINE# 149 + C:0598H LINE# 150 + C:0598H LINE# 151 + C:059BH LINE# 152 + C:059EH LINE# 153 + C:059EH LINE# 154 + C:05A3H LINE# 155 + C:05A5H LINE# 157 + BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 12:15:06 PAGE 9 + + + C:05A5H LINE# 158 + C:05AFH LINE# 159 + C:05AFH LINE# 160 + C:05CAH LINE# 162 + C:05CDH LINE# 163 + C:05CDH LINE# 164 + C:05E8H LINE# 165 + C:05E8H LINE# 166 + C:05EBH LINE# 167 + C:0602H LINE# 168 + C:0602H LINE# 169 + C:0602H LINE# 171 + C:0605H LINE# 172 + C:0613H LINE# 173 + C:0623H LINE# 174 + C:0623H LINE# 175 + C:0629H LINE# 176 + C:0629H LINE# 177 + C:062CH LINE# 178 + C:0631H LINE# 179 + C:0631H LINE# 181 + C:0631H LINE# 182 + C:0637H LINE# 183 + C:0637H LINE# 184 + C:0637H LINE# 185 + ------- ENDPROC IAPBEGINACK + ------- PROC IAPWRSECTOR + ------- DO + B:0020H.3 SYMBOL Result + D:0010H SYMBOL i + D:0012H SYMBOL McuFlashAddr + D:0016H SYMBOL McuFlashType + ------- ENDDO + C:0895H LINE# 194 + C:0895H LINE# 195 + C:0895H LINE# 196 + C:0897H LINE# 201 + C:08B1H LINE# 202 + C:08B1H LINE# 203 + C:08B4H LINE# 204 + C:08B7H LINE# 205 + C:08B7H LINE# 206 + C:08CBH LINE# 207 + C:08EAH LINE# 208 + C:08EAH LINE# 209 + C:0910H LINE# 210 + C:0913H LINE# 211 + C:0913H LINE# 212 + C:0915H LINE# 214 + C:0915H LINE# 215 + C:092AH LINE# 216 + C:092AH LINE# 217 + C:0947H LINE# 218 + C:0965H LINE# 219 + C:0965H LINE# 220 + C:0967H LINE# 221 + C:0969H LINE# 222 + BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 12:15:06 PAGE 10 + + + C:0969H LINE# 223 + C:097EH LINE# 224 + C:098CH LINE# 226 + C:098EH LINE# 227 + ------- ENDPROC IAPWRSECTOR + ------- PROC IAPRECEIVEDATA + ------- DO + D:0008H SYMBOL i + D:000AH SYMBOL j + D:000BH SYMBOL McuFlashAddr + D:000FH SYMBOL McuFlashType + C:0386H SYMBOL UpdateChksum + ------- ENDDO + C:01F1H LINE# 236 + C:01F1H LINE# 237 + C:01F1H LINE# 243 + C:01F3H LINE# 245 + C:0217H LINE# 246 + C:0217H LINE# 247 + C:021AH LINE# 248 + C:021BH LINE# 250 + C:021BH LINE# 251 + C:0221H LINE# 252 + C:0223H LINE# 253 + C:0229H LINE# 254 + C:0229H LINE# 255 + C:023DH LINE# 256 + C:023EH LINE# 258 + C:023EH LINE# 259 + C:0244H LINE# 260 + C:0259H LINE# 261 + C:0259H LINE# 262 + C:0281H LINE# 263 + C:028BH LINE# 264 + C:0294H LINE# 265 + C:0294H LINE# 266 + C:0297H LINE# 267 + C:029FH LINE# 268 + C:029FH LINE# 269 + C:02B2H LINE# 270 + C:02B2H LINE# 271 + C:02CAH LINE# 272 + C:02CCH LINE# 274 + C:02CCH LINE# 275 + C:02D5H LINE# 276 + C:02D5H LINE# 278 + C:02D8H LINE# 279 + C:02DBH LINE# 280 + C:02DBH LINE# 281 + C:02EFH LINE# 282 + C:030EH LINE# 283 + C:030EH LINE# 284 + C:0334H LINE# 285 + C:0337H LINE# 286 + C:0337H LINE# 287 + C:0339H LINE# 289 + C:0339H LINE# 290 + BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 12:15:06 PAGE 11 + + + C:034EH LINE# 291 + C:034EH LINE# 292 + C:0351H LINE# 293 + C:035FH LINE# 294 + C:036FH LINE# 295 + C:036FH LINE# 296 + C:0374H LINE# 297 + C:0374H LINE# 298 + C:037AH LINE# 299 + C:037DH LINE# 301 + C:037DH LINE# 302 + C:037DH LINE# 303 + C:037DH LINE# 304 + C:037DH LINE# 306 + C:037DH LINE# 307 + C:0383H LINE# 308 + C:0383H LINE# 309 + C:0386H LINE# 311 + C:0386H LINE# 312 + C:0386H LINE# 313 + C:0389H LINE# 314 + C:0389H LINE# 318 + C:0441H LINE# 319 + C:044CH LINE# 320 + C:044CH LINE# 322 + C:044FH LINE# 323 + C:044FH LINE# 324 + C:044FH LINE# 325 + C:044FH LINE# 326 + ------- ENDPROC IAPRECEIVEDATA + ------- PROC IAPRDATAVERIFY + ------- DO + D:0004H SYMBOL CheckSum + ------- ENDDO + C:098FH LINE# 335 + C:098FH LINE# 336 + C:098FH LINE# 337 + C:0995H LINE# 342 + C:0A00H LINE# 344 + C:0A0EH LINE# 345 + C:0A0EH LINE# 346 + C:0A14H LINE# 347 + C:0A15H LINE# 349 + C:0A15H LINE# 350 + C:0A1AH LINE# 351 + C:0A1AH LINE# 352 + ------- ENDPROC IAPRDATAVERIFY + ------- PROC IAPCMDRESET + C:0BDEH LINE# 363 + C:0BDEH LINE# 364 + C:0BDEH LINE# 365 + C:0BE3H LINE# 366 + C:0BE6H LINE# 368 + C:0BE9H LINE# 369 + C:0BF3H LINE# 370 + C:0C00H LINE# 371 + C:0C00H LINE# 372 + BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 12:15:06 PAGE 12 + + + C:0C03H LINE# 373 + C:0C03H LINE# 374 + C:0C12H LINE# 375 + C:0C23H LINE# 376 + C:0C23H LINE# 377 + C:0C28H LINE# 378 + C:0C28H LINE# 379 + C:0C28H LINE# 380 + C:0C28H LINE# 381 + C:0C2AH LINE# 383 + C:0C2AH LINE# 384 + C:0C30H LINE# 385 + C:0C33H LINE# 386 + C:0C33H LINE# 387 + C:0C36H LINE# 388 + ------- ENDPROC IAPCMDRESET + ------- PROC UARTCMDPROCESS + C:0A9DH LINE# 397 + C:0A9DH LINE# 398 + C:0A9DH LINE# 399 + C:0AA0H LINE# 400 + C:0ACDH LINE# 401 + C:0ACDH LINE# 402 + C:0AD0H LINE# 403 + C:0AD0H LINE# 405 + C:0AD4H LINE# 406 + C:0AD4H LINE# 407 + C:0AD8H LINE# 408 + C:0ADAH LINE# 410 + C:0ADAH LINE# 411 + C:0AE2H LINE# 412 + C:0AE2H LINE# 413 + C:0AE5H LINE# 414 + C:0AE7H LINE# 415 + C:0AEBH LINE# 416 + C:0AEBH LINE# 417 + C:0AEEH LINE# 418 + C:0AF0H LINE# 419 + C:0AF7H LINE# 420 + C:0AF7H LINE# 421 + C:0AFAH LINE# 422 + C:0AFCH LINE# 423 + C:0B03H LINE# 424 + C:0B03H LINE# 425 + C:0B06H LINE# 426 + C:0B08H LINE# 427 + C:0B0FH LINE# 428 + C:0B0FH LINE# 429 + C:0B12H LINE# 430 + C:0B12H LINE# 431 + C:0B12H LINE# 433 + ------- ENDPROC UARTCMDPROCESS + ------- PROC BOOTIAPISP + C:00A6H LINE# 443 + C:00A6H LINE# 444 + C:00A6H LINE# 445 + C:00AFH LINE# 446 + BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 12:15:06 PAGE 13 + + + C:00B7H LINE# 447 + C:00B9H LINE# 448 + C:00BCH LINE# 449 + C:00BCH LINE# 450 + C:00BCH LINE# 452 + C:00BCH LINE# 453 + C:00C2H LINE# 454 + C:00C2H LINE# 456 + C:00D0H LINE# 457 + C:00D2H LINE# 458 + C:00D9H LINE# 459 + C:00D9H LINE# 460 + C:00DCH LINE# 461 + C:00DCH LINE# 462 + C:00E1H LINE# 463 + C:00E1H LINE# 464 + C:00ECH LINE# 465 + C:00ECH LINE# 466 + C:00ECH LINE# 467 + C:00ECH LINE# 469 + C:00EEH LINE# 470 + C:00F3H LINE# 471 + C:00F3H LINE# 473 + C:00FBH LINE# 474 + C:00FBH LINE# 475 + C:00FBH LINE# 476 + C:00FDH LINE# 478 + C:00FDH LINE# 479 + C:0102H LINE# 480 + C:0104H LINE# 481 + C:0104H LINE# 482 + C:0107H LINE# 484 + C:0107H LINE# 486 + C:0124H LINE# 487 + C:0124H LINE# 488 + C:0137H LINE# 489 + C:0137H LINE# 490 + C:014CH LINE# 491 + C:014CH LINE# 493 + C:0151H LINE# 494 + C:0151H LINE# 496 + C:0159H LINE# 497 + C:0159H LINE# 498 + C:015CH LINE# 499 + C:015CH LINE# 500 + C:015EH LINE# 501 + C:0164H LINE# 502 + C:0164H LINE# 503 + C:0181H LINE# 508 + C:0181H LINE# 509 + C:0184H LINE# 510 + C:0184H LINE# 511 + C:0184H LINE# 512 + C:0186H LINE# 514 + C:0186H LINE# 515 + C:0189H LINE# 516 + C:018CH LINE# 517 + BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 12:15:06 PAGE 14 + + + C:018CH LINE# 518 + C:018CH LINE# 519 + C:018EH LINE# 520 + C:018EH LINE# 522 + C:0191H LINE# 523 + C:0191H LINE# 524 + C:0194H LINE# 526 + C:01ABH LINE# 527 + C:01ABH LINE# 528 + C:01B0H LINE# 529 + C:01B2H LINE# 530 + C:01B6H LINE# 531 + C:01B8H LINE# 532 + C:01BAH LINE# 533 + C:01BCH LINE# 534 + C:01BEH LINE# 536 + C:01BEH LINE# 537 + C:01C0H LINE# 538 + C:01D3H LINE# 539 + C:01D3H LINE# 541 + C:01D5H LINE# 542 + C:01D5H LINE# 544 + C:01DEH LINE# 545 + C:01DEH LINE# 546 + C:01E1H LINE# 547 + C:01E7H LINE# 548 + C:01E7H LINE# 549 + C:01E9H LINE# 550 + C:01EBH LINE# 551 + C:01EEH LINE# 552 + C:01EEH LINE# 553 + C:01EEH LINE# 554 + C:01EEH LINE# 780 + ------- ENDPROC BOOTIAPISP + ------- ENDMOD IAPISP + + ------- MODULE FLASH + C:0000H SYMBOL _ICE_DUMMY_ + D:00F3H PUBLIC IB_CON2 + D:0080H PUBLIC P0 + D:00F4H PUBLIC IB_CON3 + C:0B7EH PUBLIC _McuFlashEraseSector + D:0090H PUBLIC P1 + D:00F5H PUBLIC IB_CON4 + D:00A0H PUBLIC P2 + D:00F6H PUBLIC IB_CON5 + D:00B0H PUBLIC P3 + D:00C0H PUBLIC P4 + D:0080H PUBLIC P5 + B:00A8H.7 PUBLIC EA + D:00FCH PUBLIC IB_DATA + C:0D94H PUBLIC _McuFlashRdOneByte + C:0B15H PUBLIC _McuFlashWrOneByte + D:001DH PUBLIC ucMcuFlashWrValid + D:00FBH PUBLIC IB_OFFSET + D:00B1H PUBLIC RSTSTAT + D:00A7H PUBLIC FLASHCON + BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 12:15:06 PAGE 15 + + + C:0D38H PUBLIC BootUpgradeCode + C:0C8CH PUBLIC _McuFlashBlankCheck + C:077CH PUBLIC BootProgram + D:00F7H PUBLIC XPAGE + D:00F2H PUBLIC IB_CON1 + ------- PROC _MCUFLASHERASESECTOR + D:0011H SYMBOL McuFlashAddr + D:0015H SYMBOL McuType + C:0B7EH LINE# 24 + C:0B86H LINE# 25 + C:0B86H LINE# 26 + C:0B89H LINE# 27 + C:0B98H LINE# 29 + C:0B9BH LINE# 30 + C:0B9EH LINE# 31 + C:0B9EH LINE# 32 + C:0BA1H LINE# 33 + C:0BA7H LINE# 34 + C:0BA7H LINE# 35 + C:0BAAH LINE# 36 + C:0BAFH LINE# 37 + C:0BAFH LINE# 38 + C:0BB2H LINE# 39 + C:0BD3H LINE# 40 + C:0BD3H LINE# 41 + C:0BD6H LINE# 42 + C:0BD7H LINE# 43 + C:0BD8H LINE# 44 + C:0BD9H LINE# 45 + C:0BDAH LINE# 46 + C:0BDAH LINE# 47 + C:0BDAH LINE# 48 + C:0BDAH LINE# 49 + C:0BDAH LINE# 51 + C:0BDDH LINE# 52 + ------- ENDPROC _MCUFLASHERASESECTOR + ------- PROC _MCUFLASHBLANKCHECK + D:0011H SYMBOL McuFlashAddr + D:0015H SYMBOL McuType + ------- DO + B:0020H.4 SYMBOL Result + D:0016H SYMBOL i + ------- ENDDO + C:0C8CH LINE# 61 + C:0C94H LINE# 62 + C:0C94H LINE# 63 + C:0C96H LINE# 66 + C:0C99H LINE# 67 + C:0CB0H LINE# 68 + C:0CB0H LINE# 69 + C:0CC1H LINE# 70 + C:0CC1H LINE# 71 + C:0CC3H LINE# 72 + C:0CC5H LINE# 73 + C:0CC5H LINE# 74 + C:0CCFH LINE# 75 + C:0CD2H LINE# 77 + BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 12:15:06 PAGE 16 + + + C:0CD4H LINE# 78 + ------- ENDPROC _MCUFLASHBLANKCHECK + ------- PROC _MCUFLASHWRONEBYTE + D:0017H SYMBOL McuFlashAddr + D:001BH SYMBOL WrData + D:001CH SYMBOL McuType + C:0B15H LINE# 87 + C:0B1DH LINE# 88 + C:0B1DH LINE# 89 + C:0B20H LINE# 90 + C:0B2FH LINE# 91 + C:0B34H LINE# 93 + C:0B37H LINE# 94 + C:0B3AH LINE# 95 + C:0B3DH LINE# 96 + C:0B3DH LINE# 97 + C:0B40H LINE# 98 + C:0B46H LINE# 99 + C:0B46H LINE# 100 + C:0B49H LINE# 101 + C:0B4EH LINE# 102 + C:0B4EH LINE# 103 + C:0B51H LINE# 104 + C:0B72H LINE# 105 + C:0B72H LINE# 106 + C:0B75H LINE# 107 + C:0B76H LINE# 108 + C:0B77H LINE# 109 + C:0B78H LINE# 110 + C:0B79H LINE# 111 + C:0B7AH LINE# 112 + C:0B7AH LINE# 113 + C:0B7AH LINE# 114 + C:0B7AH LINE# 115 + C:0B7AH LINE# 117 + C:0B7DH LINE# 118 + ------- ENDPROC _MCUFLASHWRONEBYTE + ------- PROC _MCUFLASHRDONEBYTE + D:0017H SYMBOL McuFlashAddr + D:001BH SYMBOL McuType + ------- DO + D:0007H SYMBOL GetData + ------- ENDDO + C:0D94H LINE# 127 + C:0D9CH LINE# 128 + C:0D9CH LINE# 129 + C:0D9DH LINE# 131 + C:0DA0H LINE# 132 + C:0DA8H LINE# 133 + C:0DABH LINE# 134 + C:0DABH LINE# 135 + ------- ENDPROC _MCUFLASHRDONEBYTE + ------- PROC BOOTPROGRAM + ------- DO + D:0008H SYMBOL i + D:0009H SYMBOL McuCode + D:000AH SYMBOL McuFlashType + BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 12:15:06 PAGE 17 + + + D:000BH SYMBOL j + D:000DH SYMBOL McuFlashAddr + ------- ENDDO + C:077CH LINE# 145 + C:077CH LINE# 146 + C:077CH LINE# 151 + C:077FH LINE# 152 + C:077FH LINE# 153 + C:0782H LINE# 154 + C:0789H LINE# 155 + C:0789H LINE# 156 + C:078CH LINE# 157 + C:07A6H LINE# 158 + C:07A8H LINE# 160 + C:07A8H LINE# 161 + C:07ABH LINE# 162 + C:07C9H LINE# 163 + C:07C9H LINE# 164 + C:07CCH LINE# 165 + C:07DAH LINE# 166 + C:07EDH LINE# 167 + C:07EDH LINE# 168 + C:0807H LINE# 169 + C:0807H LINE# 170 + C:083DH LINE# 171 + C:0858H LINE# 172 + C:0875H LINE# 173 + C:0875H LINE# 174 + C:0878H LINE# 175 + C:0878H LINE# 176 + C:0883H LINE# 177 + C:0883H LINE# 179 + C:0883H LINE# 180 + C:0886H LINE# 181 + C:0886H LINE# 182 + C:0892H LINE# 184 + C:0894H LINE# 185 + ------- ENDPROC BOOTPROGRAM + ------- PROC BOOTUPGRADECODE + ------- DO + B:0020H.3 SYMBOL Result + ------- ENDDO + C:0D38H LINE# 194 + C:0D38H LINE# 195 + C:0D38H LINE# 196 + C:0D3AH LINE# 198 + C:0D40H LINE# 199 + C:0D40H LINE# 200 + C:0D4AH LINE# 201 + C:0D57H LINE# 202 + C:0D59H LINE# 204 + C:0D59H LINE# 205 + C:0D5BH LINE# 206 + C:0D5BH LINE# 208 + C:0D5DH LINE# 209 + ------- ENDPROC BOOTUPGRADECODE + ------- ENDMOD FLASH + BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 12:15:06 PAGE 18 + + + + ------- MODULE ?C_STARTUP + C:0D7AH SEGMENT ?C_C51STARTUP + C:0000H PUBLIC ?C_STARTUP + N:00B2H SYMBOL CLKCON + C:0E00H SYMBOL FLAGCODE + N:0100H SYMBOL IDATALEN + C:0D8EH SYMBOL IDATALOOP + D:0081H SYMBOL SP + N:1000H SYMBOL SSP_LEN + I:0080H SYMBOL STACK + C:0D7AH SYMBOL STARTUP1 + C:0000H LINE# 15 + C:0D7AH LINE# 20 + C:0D7DH LINE# 21 + C:0D80H LINE# 22 + C:0D81H LINE# 23 + C:0D82H LINE# 24 + C:0D83H LINE# 25 + C:0D84H LINE# 26 + C:0D85H LINE# 27 + C:0D86H LINE# 28 + C:0D87H LINE# 29 + C:0D88H LINE# 30 + C:0D8BH LINE# 33 + C:0D8DH LINE# 34 + C:0D8EH LINE# 35 + C:0D8FH LINE# 36 + C:0D91H LINE# 39 + C:0003H LINE# 45 + C:000BH LINE# 48 + C:0013H LINE# 51 + C:001BH LINE# 54 + C:0023H LINE# 57 + C:002BH LINE# 60 + C:0033H LINE# 63 + C:003BH LINE# 66 + C:0043H LINE# 69 + C:004BH LINE# 72 + C:0053H LINE# 75 + C:005BH LINE# 78 + C:0063H LINE# 81 + C:006BH LINE# 84 + C:0073H LINE# 87 + C:007BH LINE# 90 + C:0083H LINE# 93 + C:008BH LINE# 96 + C:0093H LINE# 99 + C:009BH LINE# 102 + C:00A3H LINE# 105 + ------- ENDMOD ?C_STARTUP + + ------- MODULE ?C?IMUL + C:0638H PUBLIC ?C?IMUL + ------- ENDMOD ?C?IMUL + + ------- MODULE ?C?ULDIV + BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 12:15:06 PAGE 19 + + + C:0686H PUBLIC ?C?ULDIV + ------- ENDMOD ?C?ULDIV + + ------- MODULE ?C?ULCMP + C:0718H PUBLIC ?C?ULCMP + ------- ENDMOD ?C?ULCMP + + ------- MODULE ?C?ULSHR + C:0729H PUBLIC ?C?ULSHR + ------- ENDMOD ?C?ULSHR + + ------- MODULE ?C?LSHL + C:073CH PUBLIC ?C?LSHL + ------- ENDMOD ?C?LSHL + + ------- MODULE ?C?LIMUL + C:074FH PUBLIC ?C?LIMUL + ------- ENDMOD ?C?LIMUL + +Program Size: data=176.5 xdata=662 code=3929 +LINK/LOCATE RUN COMPLETE. 0 WARNING(S), 0 ERROR(S) diff --git a/output/Calculate.lst b/output/Calculate.lst new file mode 100644 index 0000000..4ab801e --- /dev/null +++ b/output/Calculate.lst @@ -0,0 +1,539 @@ +C51 COMPILER V9.01 CALCULATE 02/06/2025 15:28:45 PAGE 1 + + +C51 COMPILER V9.01, COMPILATION OF MODULE CALCULATE +OBJECT MODULE PLACED IN .\output\Calculate.obj +COMPILER INVOKED BY: D:\Tool\Keil\C51\BIN\C51.EXE code_drv\Calculate.c LARGE OPTIMIZE(7,SIZE) REGFILE(.\output\MCUCore_L + -oad.ORC) BROWSE INTVECTOR(0X1000) INCDIR(.\header_app;.\header_drv;.\code_gasguage;.\code_classb\iec60730_lib\include;.\ + -code_classb\iec60730_proc\Include;.\code_classb\config) DEBUG OBJECTEXTEND PRINT(.\output\Calculate.lst) OBJECT(.\output + -\Calculate.obj) + +line level source + + 1 /******************************************************************************** + 2 Copyright (C), Sinowealth Electronic. Ltd. + 3 Author: Sino + 4 Version: V0.0 + 5 Date: 2020/04/26 + 6 History: + 7 V2.0 2020/04/26 Preliminary + 8 ********************************************************************************/ + 9 #include "Main.h" + 10 + 11 + 12 U8 xdata ucChgingCheckCnt; + 13 U8 xdata ucDsgingCheckCnt; + 14 + 15 /************************************************************************************************* + 16 * : CalcuTemp + 17 * : + 18 * ֵ: + 19 * : ݼֵȡӦ¶ȡ¶ȱΪ¶*10 + 20 ϶25㣬¶ȱֵΪ2731+250 + 21 *************************************************************************************************/ + 22 U16 CalcuTemp(U16 getdata) + 23 { + 24 1 U8 i; + 25 1 U16 Temperature; + 26 1 U32 Tempcalcu; + 27 1 + 28 1 #if (AFE_ID == 0x34) + Tempcalcu = (U32)getdata*REF_RES_VAL/(32768-getdata); + #else + 31 1 Tempcalcu= (U32)getdata*REF_RES_VAL/(4096-getdata); //calculte the resistance value of 103AT + 32 1 if(Tempcalcu > 10) + 33 1 { + 34 2 Tempcalcu -= 10; + 35 2 } + 36 1 #endif + 37 1 + 38 1 if(Tempcalcu >= NTC103AT[0]) //look up table to find the resieter correspond + -temp + 39 1 { + 40 2 Temperature = 2731+(TEMP_LOWER_LIMIT *10); + 41 2 } + 42 1 else if(Tempcalcu <= NTC103AT[NTC103AT_ARRAY_LEN-1]) + 43 1 { + 44 2 Temperature = 2731+(TEMP_UPPER_LIMIT *10); + 45 2 } + 46 1 else + 47 1 { + 48 2 i = ucTempeMiddle; //the ucTempeMiddle must be initialized in InitVar() + 49 2 if(Tempcalcu > NTC103AT[i]) + 50 2 { + 51 3 for(i=ucTempeMiddle-1; i>=0; i--) + C51 COMPILER V9.01 CALCULATE 02/06/2025 15:28:45 PAGE 2 + + 52 3 { + 53 4 if(Tempcalcu <= NTC103AT[i]) //NTC103AT[i+1] NTC103AT[i]) //NTC103AT[i-1] 5) //6~10Ӧʱ + 119 1 { + 120 2 if(!AFEReadReg(AFE_TEMP2H, 2, (U8 xdata *)&AFE.uiICTempe[1])) + 121 2 { + 122 3 Result = 0; + 123 3 } + 124 2 } + 125 1 + 126 1 return Result; + 127 1 } + 128 + 129 + 130 /************************************************************************************************* + 131 * : AfeCalcuTempe + 132 * : + 133 * ֵ: + 134 * : ¶ȣuiTempeMaxuiTempeMin + 135 *************************************************************************************************/ + 136 void AfeCalcuTempe(void) + 137 { + 138 1 U16 TempeData; + 139 1 + 140 1 if(AfeGetTempe()) + 141 1 { + 142 2 TempeData = CalcuTemp(AFE.uiTS[0]) + E2siTS0Offset; //ⲿ¶1 + 143 2 #if (UART0_DEFINE != 0) + 144 2 IrqUart0Dis(); + 145 2 #endif + 146 2 #if (UART1_DEFINE != 0) + IrqUart1Dis(); + #endif + 149 2 #if (UART2_DEFINE != 0) + IrqUart2Dis(); + #endif + 152 2 Info.uiTS[0] = TempeData; + 153 2 #if (UART0_DEFINE != 0) + 154 2 IrqUart0En(); //uart0ж + 155 2 #endif + 156 2 #if (UART1_DEFINE != 0) + IrqUart1En(); //uart1ж + #endif + 159 2 #if (UART2_DEFINE != 0) + IrqUart2En(); //ʼUART2жʹܣݾʹUARTģѡ + #endif + 162 2 TempeData = (U32)AFE.uiICTempe[0]*17/10+31; //ڲ¶1 + 163 2 #if (UART0_DEFINE != 0) + 164 2 IrqUart0Dis(); + 165 2 #endif + 166 2 #if (UART1_DEFINE != 0) + IrqUart1Dis(); + #endif + 169 2 #if (UART2_DEFINE != 0) + IrqUart2Dis(); + #endif + 172 2 Info.uiICTempe[0] = TempeData; + 173 2 + 174 2 #if (UART0_DEFINE != 0) + 175 2 IrqUart0En(); //uart0ж + C51 COMPILER V9.01 CALCULATE 02/06/2025 15:28:45 PAGE 4 + + 176 2 #endif + 177 2 #if (UART1_DEFINE != 0) + IrqUart1En(); //uart1ж + #endif + 180 2 #if (UART2_DEFINE != 0) + IrqUart2En(); //ʼUART2жʹܣݾʹUARTģѡ + #endif + 183 2 + 184 2 if(ucCellNum > 5) //6~10Ӧʱ + 185 2 { + 186 3 TempeData = (U32)AFE.uiICTempe[1]*17/10+31; //ڲ¶2 + 187 3 #if (UART0_DEFINE != 0) + 188 3 IrqUart0Dis(); + 189 3 #endif + 190 3 #if (UART1_DEFINE != 0) + IrqUart1Dis(); + #endif + 193 3 #if (UART2_DEFINE != 0) + IrqUart2Dis(); + #endif + 196 3 Info.uiICTempe[1] = TempeData; + 197 3 #if (UART0_DEFINE != 0) + 198 3 IrqUart0En(); //uart0ж + 199 3 #endif + 200 3 #if (UART1_DEFINE != 0) + IrqUart1En(); //uart1ж + #endif + 203 3 #if (UART2_DEFINE != 0) + IrqUart2En(); //ʼUART2жʹܣݾʹUARTģѡ + #endif + 206 3 } + 207 2 + 208 2 uiTempeMin = Info.uiTS[0]; + 209 2 uiTempeMax = Info.uiTS[0]; + 210 2 if(bTempNum) + 211 2 { + 212 3 TempeData = CalcuTemp(AFE.uiTS[1]) + E2siTS1Offset; //ⲿ¶2 + 213 3 #if (UART0_DEFINE != 0) + 214 3 IrqUart0Dis(); + 215 3 #endif + 216 3 #if (UART1_DEFINE != 0) + IrqUart1Dis(); + #endif + 219 3 #if (UART2_DEFINE != 0) + IrqUart2Dis(); + #endif + 222 3 Info.uiTS[1] = TempeData; + 223 3 #if (UART0_DEFINE != 0) + 224 3 IrqUart0En(); //uart0ж + 225 3 #endif + 226 3 #if (UART1_DEFINE != 0) + IrqUart1En(); //uart1ж + #endif + 229 3 #if (UART2_DEFINE != 0) + IrqUart2En(); //ʼUART2жʹܣݾʹUARTģѡ + #endif + 232 3 + 233 3 if(TempeData < uiTempeMin) + 234 3 { + 235 4 uiTempeMin = TempeData; + 236 4 } + 237 3 else + C51 COMPILER V9.01 CALCULATE 02/06/2025 15:28:45 PAGE 5 + + 238 3 { + 239 4 uiTempeMax = TempeData; + 240 4 } + 241 3 } + 242 2 } + 243 1 } + 244 + 245 + 246 /************************************************************************************************* + 247 * : AfeCalcuVol + 248 * : + 249 * ֵ: + 250 * : ѹֵͬСֵuiVadcVmaxuiVadcVminڶж + 251 ûƽʱŸuiCellVmaxuiCellVminڱж + 252 *************************************************************************************************/ + 253 void AfeCalcuVol(void) + 254 { + 255 1 U8 i; + 256 1 U32 TempPackVol=0, TempCellVol=0; + 257 1 uiVadcVmax = 0; + 258 1 uiVadcVmin = 6000; + 259 1 + 260 1 if(AfeGetVol()) + 261 1 { + 262 2 for(i=ucCellNumOffset; i<(ucCellNum+ucCellNumOffset); i++) + 263 2 { + 264 3 TempCellVol = (U32)AFE.uiCell[i]*CALIVOL/E2uiVPackGain; + 265 3 + 266 3 if(TempCellVol > uiVadcVmax) //ֵ&Сֵ + 267 3 { + 268 4 uiVadcVmax = TempCellVol; + 269 4 } + 270 3 if(TempCellVol < uiVadcVmin) + 271 3 { + 272 4 uiVadcVmin = TempCellVol; + 273 4 } + 274 3 + 275 3 if(!bBalancingFlg) //if bCellOpenDecFlag this data will throw away + 276 3 { + 277 4 #if (UART0_DEFINE != 0) + 278 4 IrqUart0Dis(); + 279 4 #endif + 280 4 #if (UART1_DEFINE != 0) + IrqUart1Dis(); + #endif + 283 4 #if (UART2_DEFINE != 0) + IrqUart2Dis(); + #endif + 286 4 Info.uiVCell[i] = TempCellVol; + 287 4 #if (UART0_DEFINE != 0) + 288 4 IrqUart0En(); //uart0ж + 289 4 #endif + 290 4 #if (UART1_DEFINE != 0) + IrqUart1En(); //uart1ж + #endif + 293 4 #if (UART2_DEFINE != 0) + IrqUart2En(); //ʼUART2жʹܣݾʹUARTģѡ + #endif + 296 4 TempPackVol += TempCellVol; + 297 4 } + 298 3 } + 299 2 + C51 COMPILER V9.01 CALCULATE 02/06/2025 15:28:45 PAGE 6 + + 300 2 if(!bBalancingFlg) + 301 2 { + 302 3 uiCellVmax = uiVadcVmax; + 303 3 uiCellVmin = uiVadcVmin; + 304 3 + 305 3 #if (UART0_DEFINE != 0) + 306 3 IrqUart0Dis(); + 307 3 #endif + 308 3 #if (UART1_DEFINE != 0) + IrqUart1Dis(); + #endif + 311 3 #if (UART2_DEFINE != 0) + IrqUart2Dis(); + #endif + 314 3 Info.ulVoltage = TempPackVol; //Calculate the total voltage + 315 3 #if (UART0_DEFINE != 0) + 316 3 IrqUart0En(); //uart0ж + 317 3 #endif + 318 3 #if (UART1_DEFINE != 0) + IrqUart1En(); //uart1ж + #endif + 321 3 #if (UART2_DEFINE != 0) + IrqUart2En(); //ʼUART2жʹܣݾʹUARTģѡ + #endif + 324 3 } + 325 2 } + 326 1 } + 327 + 328 + 329 /************************************************************************************************* + 330 * : CurTempOffset + 331 * : + 332 * ֵ: + 333 * : ͬоƬ¶ADCIJֵ + 334 *************************************************************************************************/ + 335 S16 code siCurTempOffset[2][13]= + 336 { /**0****1****2****3***4***5***6***7***8***9**10**11**12**/ + 337 {-40, -30, -20, -10, 0, 10, 25, 35, 45, 55, 65, 75, 85}, + 338 { -5, -4, -3, -2, -1, -1, 0, 1, 1, 2, 3, 4, 5}, + 339 }; + 340 + 341 /************************************************************************************************* + 342 * : OffsetCalculate() + 343 * : + 344 * ֵ: + 345 * : оƬڲ¶ʵʱ0ֵԱ¶ȶADCɼӰ + 346 *************************************************************************************************/ + 347 S16 OffsetCalculate(void) + 348 { + 349 1 S16 xdata siCadcTempOffset=0; //20220620 + 350 1 U8 xdata i; + 351 1 + 352 1 for(i=0; i<12; i++) + 353 1 { + 354 2 if(Info.uiICTempe[0] <= (((S32)siCurTempOffset[0][i] + siCurTempOffset[0][i+1]) / 2 * 10 + 2731)) + 355 2 { + 356 3 siCadcTempOffset = siCurTempOffset[1][i]; + 357 3 break; + 358 3 } + 359 2 } + 360 1 return siCadcTempOffset; + 361 1 } + C51 COMPILER V9.01 CALCULATE 02/06/2025 15:28:45 PAGE 7 + + 362 + 363 /************************************************************************************************* + 364 * : AfeCalcuCurr + 365 * : + 366 * ֵ: + 367 * : CADCɼĵ + 368 *************************************************************************************************/ + 369 void AfeCalcuCurr(void) + 370 { + 371 1 U8 i; + 372 1 S32 Tempdata=0; + 373 1 + 374 1 AFEReadReg(AFE_CURH, 2, (U8 xdata *)&AFE.siCurr); //ͨTWIȡCADCɼĵֵ + 375 1 + 376 1 if((AFE.siCurr&0x1000) != 0) //bit12жǷΪ(ŵΪֵ)Ϊֵλ0 + 377 1 { + 378 2 AFE.siCurr|=0xE000; + 379 2 } + 380 1 slCadcCurrent = (S32)CALICUR*(AFE.siCurr-E2siCadcOffset+OffsetCalculate())/E2siCadcGain; + 381 1 + 382 1 slCadcCurBuf[ucCadcCnt] = slCadcCurrent; //ɼ16εȡƽֵΪǰֵ + 383 1 if(++ucCadcCnt >= 16) + 384 1 { + 385 2 ucCadcCnt = 0; + 386 2 } + 387 1 for(i=0; i<16; i++) + 388 1 { + 389 2 Tempdata += slCadcCurBuf[i]; + 390 2 } + 391 1 slCadcCurAverage = Tempdata/16; + 392 1 + 393 1 bDSGING = 0; //ݵжŵ״̬ + 394 1 bCHGING = 0; + 395 1 if(slCadcCurAverage < (-E2siDfilterCur)) + 396 1 { + 397 2 if(++ucDsgingCheckCnt >= TIME_50MS_500MS) //ŵ״̬ʱ10*50mS + 398 2 { + 399 3 ucDsgingCheckCnt = TIME_50MS_500MS; + 400 3 bDSGING = 1; + 401 3 #if (UART0_DEFINE != 0) + 402 3 IrqUart0Dis(); + 403 3 #endif + 404 3 #if (UART1_DEFINE != 0) + IrqUart1Dis(); + #endif + 407 3 #if (UART2_DEFINE != 0) + IrqUart2Dis(); + #endif + 410 3 Info.slCurr = slCadcCurAverage; + 411 3 #if (UART0_DEFINE != 0) + 412 3 IrqUart0En(); //uart0ж + 413 3 #endif + 414 3 #if (UART1_DEFINE != 0) + IrqUart1En(); //uart1ж + #endif + 417 3 #if (UART2_DEFINE != 0) + IrqUart2En(); //ʼUART2жʹܣݾʹUARTģѡ + #endif + 420 3 } + 421 2 } + 422 1 else if(slCadcCurAverage > E2siDfilterCur) + 423 1 { + C51 COMPILER V9.01 CALCULATE 02/06/2025 15:28:45 PAGE 8 + + 424 2 if(++ucChgingCheckCnt >= TIME_50MS_500MS) //ŵ״̬ʱ10*50mS + 425 2 { + 426 3 ucChgingCheckCnt = TIME_50MS_500MS; + 427 3 bCHGING = 1; + 428 3 McuPWM2Set(4000, 100); + 429 3 #if (UART0_DEFINE != 0) + 430 3 IrqUart0Dis(); + 431 3 #endif + 432 3 #if (UART1_DEFINE != 0) + IrqUart1Dis(); + #endif + 435 3 #if (UART2_DEFINE != 0) + IrqUart2Dis(); + #endif + 438 3 Info.slCurr = slCadcCurAverage; + 439 3 #if (UART0_DEFINE != 0) + 440 3 IrqUart0En(); //uart0ж + 441 3 #endif + 442 3 #if (UART1_DEFINE != 0) + IrqUart1En(); //uart1ж + #endif + 445 3 #if (UART2_DEFINE != 0) + IrqUart2En(); //ʼUART2жʹܣݾʹUARTģѡ + #endif + 448 3 } + 449 2 } + 450 1 else + 451 1 { + 452 2 #if (UART0_DEFINE != 0) + 453 2 IrqUart0Dis(); + 454 2 #endif + 455 2 #if (UART1_DEFINE != 0) + IrqUart1Dis(); + #endif + 458 2 #if (UART2_DEFINE != 0) + IrqUart2Dis(); + #endif + 461 2 Info.slCurr = 0; + 462 2 #if (UART0_DEFINE != 0) + 463 2 IrqUart0En(); //uart0ж + 464 2 #endif + 465 2 #if (UART1_DEFINE != 0) + IrqUart1En(); //uart1ж + #endif + 468 2 #if (UART2_DEFINE != 0) + IrqUart2En(); //ʼUART2жʹܣݾʹUARTģѡ + #endif + 471 2 } + 472 1 } + 473 + 474 + 475 /************************************************************************************************* + 476 * : AFEInfoProcess + 477 * : + 478 * ֵ: + 479 * : ÿ50mSȡAFEϢµѹ¶ + 480 *************************************************************************************************/ + 481 void AFEInfoProcess(void) + 482 { + 483 1 AFERdFlg(); + 484 1 + 485 1 bVADCFlg = 0; + C51 COMPILER V9.01 CALCULATE 02/06/2025 15:28:45 PAGE 9 + + 486 1 AfeCalcuVol(); + 487 1 AfeCalcuTempe(); + 488 1 + 489 1 if(bCADCFlg) //CADCתɺ󣬲ŶȡAFEϢ + 490 1 { + 491 2 bCADCFlg = 0; + 492 2 AfeCalcuCurr(); + 493 2 } + 494 1 } + 495 + 496 + + +MODULE INFORMATION: STATIC OVERLAYABLE + CODE SIZE = 1760 ---- + CONSTANT SIZE = 52 ---- + XDATA SIZE = 2 25 + PDATA SIZE = ---- ---- + DATA SIZE = ---- ---- + IDATA SIZE = ---- ---- + BIT SIZE = ---- 2 +END OF MODULE INFORMATION. + + +C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S) diff --git a/output/Calculate.obj b/output/Calculate.obj new file mode 100644 index 0000000000000000000000000000000000000000..189bffaaaf76a75c52889e0189e391d934c14714 GIT binary patch literal 80417 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
5g(EciM(5vB=U^ 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 + 82 1 { + 83 2 E2siTS0Offset = Tempe; + 84 2 } + 85 1 } + 86 + 87 void CaliTS2(void) + 88 { + 89 1 S16 Tempe; + 90 1 + 91 1 Tempe = uiExtTemp2 - CalcuTemp(AFE.uiTS[1]); + 92 1 if(((Tempe-E2siTS1Offset)<150) && ((Tempe-E2siTS1Offset)>-150)) + 93 1 { + 94 2 E2siTS1Offset = Tempe; + 95 2 } + 96 1 } + 97 + 98 + 99 + 100 /************************************************************************************************* + 101 * : CaliRTCTime + 102 * : + 103 * ֵ: + 104 * : У׼RTC + 105 *************************************************************************************************/ + 106 void CaliRTCTime(void) + 107 { + 108 1 RTC.Second = ucExtRTC[0]; + 109 1 RTC.Minute = ucExtRTC[1]; + 110 1 RTC.Hour = ucExtRTC[2]; + 111 1 RTC.Date = ucExtRTC[3]; + 112 1 RTC.Month = ucExtRTC[4]; + 113 1 RTC.Year = ucExtRTC[5]; + 114 1 RTC.Week = ucExtRTC[6]; + C51 COMPILER V9.01 CALIBRATE 02/06/2025 15:28:45 PAGE 3 + + 115 1 + 116 1 RTCModifyTime(&RTC); + 117 1 + 118 1 bE2PProcessFlg = 1; //У׼RTC֮ҪRTCⲿEEP + 119 1 bE2PBKRtc = 1; + 120 1 } + 121 + 122 + 123 + 124 /************************************************************************************************* + 125 * : CaliProcess + 126 * : + 127 * ֵ: + 128 * : У׼ͨѶжϻλǰҪУ׼ģӦı־ + 129 У׼󣬽У׼дFlash + 130 *************************************************************************************************/ + 131 void CaliProcess(void) + 132 { + 133 1 if(bCaliFlg) + 134 1 { + 135 2 bCaliFlg = 0; + 136 2 + 137 2 if((ucExtcaliSwitch1 & 0x01) != 0) //У׼ܵѹ + 138 2 { + 139 3 CaliVoltage(); + 140 3 } + 141 2 + 142 2 if((ucExtcaliSwitch1 & 0x10) != 0) //У׼ + 143 2 { + 144 3 CaliCurrentGain(); + 145 3 } + 146 2 + 147 2 if((ucExtcaliSwitch1 & 0x20) != 0) //У׼ + 148 2 { + 149 3 CaliCurZero(); + 150 3 } + 151 2 + 152 2 if((ucExtcaliSwitch1 & 0x04) != 0) //У׼TS1 + 153 2 { + 154 3 CaliTS1(); + 155 3 } + 156 2 + 157 2 if((ucExtcaliSwitch1 & 0x08) != 0) //У׼TS2 + 158 2 { + 159 3 CaliTS2(); + 160 3 } + 161 2 + 162 2 if((ucExtcaliSwitch1 & 0x80) != 0) //У׼RTC + 163 2 { + 164 3 CaliRTCTime(); + 165 3 } + 166 2 + 167 2 ucExtcaliSwitch1 = 0; + 168 2 bMcuFlashWrWaitFlg = 1; //Flash + 169 2 bMcuFlashWrWaitCnt = MCU_FLASH_WATI_DELAY; //д + 170 2 } + 171 1 } + 172 + 173 + 174 + 175 + + C51 COMPILER V9.01 CALIBRATE 02/06/2025 15:28:45 PAGE 4 + + +MODULE INFORMATION: STATIC OVERLAYABLE + CODE SIZE = 469 ---- + CONSTANT SIZE = ---- ---- + XDATA SIZE = 18 2 + PDATA SIZE = ---- ---- + DATA SIZE = ---- ---- + IDATA SIZE = ---- ---- + BIT SIZE = 1 ---- +END OF MODULE INFORMATION. + + +C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S) diff --git a/output/Calibrate.obj b/output/Calibrate.obj new file mode 100644 index 0000000000000000000000000000000000000000..bc9646213e9c909e6efca47344f9675f8be850b6 GIT binary patch literal 71091 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 LOAD_DELAY_CNT) + 41 3 { + 42 4 bLoadChkingFlg = 0; + 43 4 ucLoadRCnt = 0; + 44 4 AFELoadCheckDis(); //رոؼ + 45 4 if(bUVLock) + 46 4 { + 47 5 bUV = 0; //ͷǷѹ + 48 5 } + 49 4 bOCD1 = 0; + 50 4 bOCD2 = 0; + 51 4 if(bAFE_SC) + 52 4 { + C51 COMPILER V9.01 CHARGERLOAD 02/06/2025 15:28:45 PAGE 2 + + 53 5 bAFE_SC = 0; + 54 5 AFEClrFlg(); //·־ + 55 5 } + 56 4 } + 57 3 } + 58 2 } + 59 1 } + 60 + 61 + 62 /************************************************************************************************* + 63 * : ChgerCheck + 64 * : + 65 * ֵ: + 66 * : ǷѹǷӣǷƳ + 67 *************************************************************************************************/ + 68 void ChgerCheck(void) + 69 { + 70 1 if(bChgerStartCheckFlg) + 71 1 { + 72 2 bChgerStartCheckFlg = 0; + 73 2 bChgerChkingFlg = 1; + 74 2 ucChgerRCnt = 0; + 75 2 AFEChgerCheckEn(); // + 76 2 } + 77 1 else if(bChgerChkingFlg) + 78 1 { + 79 2 AFERdStatus(); + 80 2 if(!bAfeChger) //Ƴ + 81 2 { + 82 3 if(++ucChgerRCnt >= CHGER_DELAY_CNT) + 83 3 { + 84 4 bChgerChkingFlg = 0; + 85 4 ucChgerRCnt = 0; + 86 4 AFEChgerCheckDis(); //رճ + 87 4 if(bOVLock) + 88 4 { + 89 5 bOV = 0; //ͷŹѹ + 90 5 bAFE_OV = 0; + 91 5 AFEClrFlg(); + 92 5 } + 93 4 bOCC = 0; + 94 4 } + 95 3 } + 96 2 } + 97 1 } + + +MODULE INFORMATION: STATIC OVERLAYABLE + CODE SIZE = 151 ---- + CONSTANT SIZE = ---- ---- + XDATA SIZE = 2 ---- + PDATA SIZE = ---- ---- + DATA SIZE = ---- ---- + IDATA SIZE = ---- ---- + BIT SIZE = 4 ---- +END OF MODULE INFORMATION. + + +C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S) diff --git a/output/ChargerLoad.obj b/output/ChargerLoad.obj new file mode 100644 index 0000000000000000000000000000000000000000..3c1859a6eef5d99859c313b34a0f9313d641c020 GIT binary patch literal 68398 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 IAngzSFB&l^4FCWD literal 0 HcmV?d00001 diff --git a/output/DataFlash.lst b/output/DataFlash.lst new file mode 100644 index 0000000..7e636f0 --- /dev/null +++ b/output/DataFlash.lst @@ -0,0 +1,720 @@ +C51 COMPILER V9.01 DATAFLASH 01/23/2025 17:20:39 PAGE 1 + + +C51 COMPILER V9.01, COMPILATION OF MODULE DATAFLASH +OBJECT MODULE PLACED IN .\output\DataFlash.obj +COMPILER INVOKED BY: D:\Tool\Keil\C51\BIN\C51.EXE code_dataflash\DataFlash.c LARGE OPTIMIZE(7,SIZE) BROWSE INCDIR(.\head + -er) DEBUG OBJECTEXTEND PRINT(.\output\DataFlash.lst) OBJECT(.\output\DataFlash.obj) + +line level source + + 1 /******************************************************************************** + 2 Copyright (C), Sinowealth Electronic. Ltd. + 3 Author: Sino + 4 Version: V0.0 + 5 Date: 2014/09/10 + 6 History: + 7 V0.0 2014/09/10 Preliminary + 8 ********************************************************************************/ + 9 //*** <<< use Configuration Wizard in Context Menu >>> *** + 10 #define _RAM_CHECK_DATA 0x5A + 11 #define _FLASH_CHECK_DATA 0x5AA5 + 12 + 13 // ϵͳϢ(SubClassID=0x00 length=48) + 14 // ذϢE2uiPackConfigMap + 15 // + 16 #define _EPCM_LOAD_LOCK 0 //BIT15; 0ʹܸ; 1ʹܸ + 17 // + 18 #define _EPCM_CHARGER_LOCK 0 //BIT14; 0ֳ֧; 1ֳ֧ + 19 // ¶ȼ + 20 #define _EPCM_TEMP_NUM 1 //BIT13; 0¶ȼ 1¶ȼ + 21 // LEDʾ + 22 #define _EPCM_LED_NUM 0 //BIT11~12; δ + 23 // о + 24 #define _EPCM_CELL_NUM 10 //BIT8~10; о6~10 + 25 // EEPROM + 26 #define _EPCM_EEPROM_EN 0 //BIT7; 0ʹEEݹ; 1ʹEEݹ + 27 // ŵMOS + 28 #define _EPCM_OCPM 0 //BIT6; δã0ŵرշŵmos 1ŵرճŵmos + 29 // ߼ + 30 #define _EPCM_CTO_EN 1 //BIT5; 0ʹܶ߱; 1ʹܶ߱ + - + 31 // + 32 #define _EPCM_PF_EN 1 //BIT4; 0ʹܶ; 1ʹܶ + 33 // + 34 #define _EPCM_BAL_EN 0 //BIT3; 0ʹܾ⹦ܣ 1ʹܾ⹦ + 35 // Իָ + 36 #define _EPCM_OCRC_EN 0 //BIT2; 0:ʹܹԻָܣ 1ʹܹԻָ + 37 // Ӳѹ + 38 #define _EPCM_OV_EN 1 //BIT1; 0:ʹӲѹܣ 1ʹӲѹ + 39 // Ӳ· + 40 #define _EPCM_SC 1 //BIT0; 0:ʹӲ·ܣ 1ʹӲ· + 41 + 42 #define _E2_PACKCONFIGMAP (_EPCM_EEPROM_EN<<15)|(_EPCM_OCPM<<14)|(_EPCM_CTO_EN<<13)|(_EPCM_PF_EN<<12) + -\ + 43 |(_EPCM_BAL_EN<<11)|(_EPCM_OCRC_EN<<10)|(_EPCM_OV_EN<<9)\ + 44 |(_EPCM_SC<<8)|(_EPCM_LOAD_LOCK<<7)|(_EPCM_CHARGER_LOCK<<6)\ + 45 |(_EPCM_TEMP_NUM<<5)|(_EPCM_LED_NUM<<4)|(_EPCM_CELL_NUM-3) //U16 xdata E2uiPackConfigMap + 46 + 47 // + 48 + 49 // OCVѹmV + 50 // 10%Ӧѹ + 51 #define _E2_VOC10 3200 //U16 xdata VOC10 + 52 // 20%Ӧѹ + C51 COMPILER V9.01 DATAFLASH 01/23/2025 17:20:39 PAGE 2 + + 53 #define _E2_VOC20 3400 //U16 xdata VOC10 + 54 // 30%Ӧѹ + 55 #define _E2_VOC30 3550 //U16 xdata VOC10 + 56 // 40%Ӧѹ + 57 #define _E2_VOC40 3700 //U16 xdata VOC10 + 58 // 50%Ӧѹ + 59 #define _E2_VOC50 3800 //U16 xdata VOC10 + 60 // 60%Ӧѹ + 61 #define _E2_VOC60 3900 //U16 xdata VOC10 + 62 // 70%Ӧѹ + 63 #define _E2_VOC70 4000 //U16 xdata VOC10 + 64 // 80%Ӧѹ + 65 #define _E2_VOC80 4100 //U16 xdata VOC10 + 66 // 90%Ӧѹ + 67 #define _E2_VOC90 4150 //U16 xdata VOC10 + 68 // 100%Ӧѹ + 69 #define _E2_VOC100 4200 //U16 xdata VOC10 + 70 // + 71 + 72 // ʱԤ + 73 // mAh + 74 #define _E2_ulDesignCapacity 4000 //U32 xdata E2ulDesignCapacity + 75 // mAh + 76 #define _E2_ulFCC 4000 //U32 xdata E2ulFCC + 77 // ѭֵ + 78 #define _E2_ulCycleThreshold 3000 // U32 xdata E2ulCycleThreshold + 79 // ѭ + 80 #define _E2_uiCycleCount 0 // U16 xdata E2uiCycleCount + 81 // ѧϰ¶ + 82 #define _E2_uiLearnLowTempe 2881 // U16 xdata E2uiLearnLowTempe + 83 #define _E2_Reserve 0 // U16 xdata E2Reserve Ԥռλ + 84 // ŵֵ + 85 #define _E2_siDfilterCur 100 // U16 xdata E2siDfilterCur + 86 // ͹ļʱ + 87 #define _E2_ucLowPowerDeley 20 // U16 xdata E2ucLowPowerDeley + 88 // 籸ݼʱ + 89 #define _E2_ucChgBKDelay 1 // U16 xdata E2ucChgBKDelay + 90 // 籸ݼ + 91 #define _E2_siChgBKCur 100 // U16 xdata E2siChgBKCur + 92 // RTCݼʱ + 93 #define _E2_ucRTCBKDelay 5 // U16 xdata E2ucRTCBKDelay + 94 #define _E2_ucRamCheckFlg0 _RAM_CHECK_DATA // U16 xdata E2ucRamCheckFlg0 + 95 // + 96 // + 97 + 98 // ûԶ(SubClassID=0x01 length=50) + 99 // 汾(EXP:0x0106 = V1.06)<0x0000-0xffff> + 100 #define _E2_SWVersion 0x0215 // U16 xdata SWVersion + 101 // Ӳ汾(EXP:0x0106 = V1.06)<0x0000-0xffff> + 102 #define _E2_HWVersion 0x0130 // U16 xdata HWVersion + 103 // 豸ID<0x00-0xff> + 104 #define _E2_ID 0x00 // U8 xdata ID + 105 // + 106 #define _E2_MNFName "sinowealth" // U8 xdata MNFName[12] + 107 // ڣexp0x20230404=2023.04.04<0x00000000-0xffffffff> + 108 #define _E2_MNFDate 0x20231222 // U32 xdata MNFDate + 109 // к<0x0000-0xffff> + 110 #define _E2_SerialNum 0x0000 // U16 xdata SerialNum + 111 // 豸 + 112 #define _E2_DeviceName "SH39F004" // U8 xdata DeviceName[12] + 113 // о + 114 #define _E2_DeviceChem "LION" // U8 xdata DeviceChem[12] + C51 COMPILER V9.01 DATAFLASH 01/23/2025 17:20:39 PAGE 3 + + 115 // оѧID<0x0000-0xffff> + 116 #define _E2_ChemID 0x0000 // U16 xdata ChemID + 117 #define _E2_ucRamCheckFlg1 _RAM_CHECK_DATA // U8 xdata E2ucRamCheckFlg2 + 118 // + 119 + 120 // (SubClassID=0x02 length=18) + 121 // ѹֵ + 122 #define _E2_uiOVvol 4250 // U16 xdata E2uiOVvol + 123 // ѹֵָ + 124 #define _E2_uiOVRvol 4150 // U16 xdata E2uiOVRvol + 125 // ѹʱ + 126 #define _E2_ucDelayOV 2 // U8 xdata E2ucDelayOV + 127 // ѹָʱ + 128 #define _E2_ucDelayOVR 2 // U8 xdata E2ucDelayOVR + 129 // ֹѹ(mV) + 130 #define _E2_uiChgEndVol 4160 // U16 xdata E2uiChgEndVol + 131 // ֹ(mA) + 132 #define _E2_siChgEndCurr 100 // S16 xdata E2siChgEndCurr + 133 // ֹʱ(S) + 134 #define _E2_ucChgEndDelay 5 // U8 xdata E2ucChgEndDelay + 135 // ֵ + 136 #define _E2_slOCCvol 3000 // U32 xdata E2slOCCvol + 137 // ʱ + 138 #define _E2_ucDelayOCC 2 // U8 xdata E2ucDelayOCC + 139 // ָʱ + 140 #define _E2_ucDelayOCCR 2 // U8 xdata E2ucDelayOCCR + 141 #define _E2_ucRamCheckFlg2 _RAM_CHECK_DATA // U8 xdata E2ucRamCheckFlg2 + 142 // + 143 + 144 // ŵ(SubClassID=0x03 length=21) + 145 // Ƿѹѹ + 146 #define _E2_uiUVvol 2700 // U16 xdata E2uiUVvol + 147 // Ƿѹָѹ + 148 #define _E2_uiUVRvol 3000 // U16 xdata E2uiUVRvol + 149 // Ƿѹʱ + 150 #define _E2_ucDelayUV 2 // U8 xdata E2ucDelayUV + 151 // Ƿѹָʱ + 152 #define _E2_ucDelayUVR 2 // U8 xdata E2ucDelayUVR + 153 // ŵֹʱ(S) + 154 #define _E2_ucDsgEndDelay 5 // U8 xdata E2ucDsgEndDelay + 155 // ŵֹѹ(mV) + 156 #define _E2_uiDsgEndVol 2900 // U16 xdata E2uiDsgEndVol + 157 // ŵ1ֵ + 158 #define _E2_uiOCDvol -20000 //U32 xdata E2uiOCDvol + 159 // ŵ1ʱ + 160 #define _E2_ucDelayOCD 2 //U8 xdata E2ucDelayOCD + 161 // ŵ2ֵ + 162 #define _E2_slOCD2vol -40000 // S32 xdata E2slOCD2vol + 163 // ŵ2ʱ + 164 #define _E2_ucDelayOCD2 2 //U8 xdata E2ucDelayOCD2 + 165 // Ƴʱ + 166 #define _E2_ucDelayLoadR 4 //U8 xdata E2ucDelayLoadR + 167 #define _E2_ucRamCheckFlg3 _RAM_CHECK_DATA // U8 xdata E2ucRamCheckFlg3 + 168 // + 169 + 170 // ŵPWM(SubClassID=0x05 length=5) + 171 // PWMƵ(Hz) + 172 #define _E2_DSG1PWMFreq 4000 // U16 xdata DSG1PWMFreq + 173 // PWM͵ռձ(%) + 174 #define _E2_DSG1PWMRatioL 30 // U8 xdata DSG1PWMRatioL + 175 // PWMߵռձ(%) + 176 #define _E2_DSG1PWMRatioH 70 // U8 xdata DSG1PWMRatioH + C51 COMPILER V9.01 DATAFLASH 01/23/2025 17:20:39 PAGE 4 + + 177 #define _E2_ucRamCheckFlg5 _RAM_CHECK_DATA // U8 xdata E2ucRamCheckFlg5 + 178 // + 179 + 180 // ¶ȱ(SubClassID=0x06 length=11) + 181 // ±¶(_E2_TempOTC=¶*10+2731) + 182 #define _E2_TempOTC 3231 // U16 xdata TempOTC + 183 // ±ͷ¶(_E2_TempOTCR=ͷ¶*10+2731) + 184 #define _E2_TempOTCR 3181 // U16 xdata TempOTCR + 185 // ±¶(_E2_TempUTC=¶*10+2731) + 186 #define _E2_TempUTC 2731 // U16 xdata TempUTC + 187 // ±ͷ¶(_E2_TempUTCR=ͷ¶*10+2731) + 188 #define _E2_TempUTCR 2781 // U16 xdata TempUTCR + 189 // ¶ȱʱ(s) + 190 #define _E2_DelayOTC 3 // U8 xdata DelayOTC + 191 // ¶ȱͷʱ(s) + 192 #define _E2_DelayOTCR 3 // U8 xdata DelayOTCR + 193 #define _E2_ucRamCheckFlg6 _RAM_CHECK_DATA // U8 xdata E2ucRamCheckFlg6 + 194 // + 195 + 196 // ŵ¶ȱ(SubClassID=0x07 length=9) + 197 // ŵ±¶(_E2_TempOTC=¶*10+2731) + 198 #define _E2_TempOTD 3431 // U16 xdata TempOTD + 199 // ŵ±ͷ¶(_E2_TempOTCR=ͷ¶*10+2731) + 200 #define _E2_TempOTDR 3281 // U16 xdata TempOTDR + 201 // ŵ±¶(_E2_TempUTC=¶*10+2731) + 202 #define _E2_TempUTD 2631 // U16 xdata TempUTD + 203 // ŵ±ͷ¶(_E2_TempUTCR=ͷ¶*10+2731) + 204 #define _E2_TempUTDR 2681 // U16 xdata TempUTDR + 205 #define _E2_ucRamCheckFlg7 _RAM_CHECK_DATA // U8 xdata E2ucRamCheckFlg6 + 206 // + 207 + 208 // ƽ(SubClassID=0x08 length=8) + 209 // ƽѹ(mV) + 210 #define _E2_BalanceVol 4180 // U16 xdata BalanceVol + 211 // ƽѹ(mV) + 212 #define _E2_BalanceVolDiff 20 // U16 xdata BalanceVolDiff + 213 // ƽ(mA) + 214 #define _E2_BalCurrent 100 // S16 xdata BalCurrent + 215 // ƽʱ(S) + 216 #define _E2_BalanceDelay 2 // U8 xdata BalanceDelay + 217 #define _E2_ucRamCheckFlg8 _RAM_CHECK_DATA // U8 xdata E2ucRamCheckFlg8 + 218 // + 219 + 220 // ͳƲ(SubClassID=0x09 length=17) + 221 // ٷֱSOC(%) + 222 #define _E2_ucSOC 100 // U8 xdata E2ucSOC + 223 // ʣE2ulDfRC(mAh) + 224 #define _E2_ulDfRC 3000 // U32 xdata E2ulLastFCC + 225 // ŵֹ + 226 #define _E2_slDsgEndCurr -5000 // U32 xdata E2slDsgEndCurr + 227 // ŵѭֵ + 228 #define _E2_ulCycleThresholdCount 0 // U32 xdata E2ulCycleThresholdCount + 229 // ϴθʱѭ + 230 #define _E2_uiLastCCount 0 // U16 xdata E2uiLastCCount + 231 // ŵֹ־ + 232 #define _E2_ucDsgEndFlg 0 //U8 xdata E2ucDsgEndFlg + 233 #define _E2_ucRamCheckFlg9 _RAM_CHECK_DATA // U8 xdata E2ucRamCheckFlg9 + 234 // + 235 + 236 // AFE(SubClassID=0x0A length=4) + 237 // + 238 #define _E2_AFEProtectConfig 0x74 // U8 xdata AFEProtectConfig + C51 COMPILER V9.01 DATAFLASH 01/23/2025 17:20:39 PAGE 5 + + 239 // Ӳѹֵ + 240 #define _E2_AFEOVvol 4400 // U16 xdata AFEOVvol + 241 #define _E2_ucRamCheckFlgA _RAM_CHECK_DATA // U8 xdata E2ucRamCheckFlgA + 242 // + 243 + 244 // У׼(SubClassID=0x0B length=12) + 245 // ѹУ׼ + 246 #define _E2_uiVPackGain 2594 // U16 xdata E2uiVPackGain + 247 // У׼ + 248 #define _E2_siCadcGain -82 // S16 xdata E2siCadcGain + 249 // Ư + 250 #define _E2_siCadcOffset 1 // S16 xdata E2siCadcOffset + 251 // ⲿ¶Ư(TS0) + 252 #define _E2_siTS0Offset 0 // S16 xdata E2siTS0Offset + 253 // ⲿ¶Ư(TS1) + 254 #define _E2_siTS1Offset 0 // S16 xdata E2siTS1Offset + 255 // У׼Ԥ + 256 #define _E2_ucCalibrated 0 // U8 xdata E2ucCalibrated + 257 #define _E2_ucRamCheckFlgB _RAM_CHECK_DATA // U8 xdata E2ucRamCheckFlgB + 258 // + 259 + 260 /********************************************************************************************************* + -********/ + 261 /********************************************************************************************************* + -********/ + 262 /********************************************************************************************************* + -********/ + 263 /********************************************************************************************************* + -********/ + 264 /********************************************************************************************************* + -********/ + 265 /********************************************************************************************************* + -********/ + 266 /********************************************************************************************************* + -********/ + 267 /********************************************************************************************************* + -********/ + 268 /********************************************************************************************************* + -********/ + 269 /********************************************************************************************************* + -********/ + 270 /********************************************************************************************************* + -********/ + 271 /********************************************************************************************************* + -********/ + 272 + 273 struct DataFlashStu + 274 { + 275 //ϵͳϢʼ SubClassID=0x00 length=48 + 276 unsigned int E2uiPackConfigMap; + 277 unsigned int E2uiVOC[10]; + 278 unsigned long E2ulDesignCapacity; + 279 unsigned long E2ulFCC; + 280 unsigned long E2ulCycleThreshold; + 281 unsigned int E2uiCycleCount; + 282 unsigned int E2uiLearnLowTempe; + 283 unsigned int E2Reserve; + 284 signed int E2siDfilterCur; + 285 unsigned char E2ucLowPowerDeley; + 286 unsigned char E2ucChgBKDelay; + 287 unsigned int E2siChgBKCur; + 288 unsigned char E2ucRTCBKDelay; + C51 COMPILER V9.01 DATAFLASH 01/23/2025 17:20:39 PAGE 6 + + 289 unsigned char E2ucRamCheckFlg0; + 290 + 291 //ûԶʼ SubClassID=0x01 langth=50 + 292 unsigned int E2uiSWVersion; + 293 unsigned int E2uiHWVersion; + 294 unsigned char E2ucID; + 295 unsigned char E2ucMNFName[12]; + 296 unsigned long E2ulMNFDate; + 297 unsigned int E2uiSerialNum; + 298 unsigned char E2ucDeviceName[12]; + 299 unsigned char E2ucDeviceChem[12]; + 300 unsigned int E2uiChemID; + 301 unsigned char E2ucRamCheckFlg1; + 302 + 303 //ʼ SubClassID=0x02 langth=18 + 304 unsigned int E2uiOVvol; + 305 unsigned int E2uiOVRvol; + 306 unsigned char E2ucOVDelay; + 307 unsigned char E2ucOVRDelay; + 308 unsigned int E2uiChgEndVol0; + 309 signed int E2siChgEndCurr0; + 310 unsigned char E2ucChgEndDelay0; + 311 signed long E2slOCCvol; + 312 unsigned char E2ucDelayOCC; + 313 unsigned char E2ucDelayOCCR; + 314 unsigned char E2ucRamCheckFlg2; + 315 + 316 //ŵʼ SubClassID=0x03 langth=21 + 317 unsigned int E2uiUVvol; + 318 unsigned int E2uiUVRvol; + 319 unsigned char E2ucDelayUV; + 320 unsigned char E2ucDelayUVR; + 321 unsigned int E2uiDsgEndVol; + 322 unsigned char E2ucDsgEndDelay; + 323 signed long E2uiOCDvol; + 324 unsigned char E2ucDelayOCD; + 325 signed long E2slOCD2vol; + 326 unsigned char E2ucDelayOCD2; + 327 unsigned char E2ucDelayLoadR; + 328 unsigned char E2ucRamCheckFlg3; + 329 + 330 //ŵPWMʼ SubClassID=0x05 langth=5 + 331 unsigned int DSG1PWMFreq; + 332 unsigned char DSG1PWMRatioL; + 333 unsigned char DSG1PWMRatioH; + 334 unsigned char E2ucRamCheckFlg5; + 335 + 336 + 337 //¶ȱʼ SubClassID=0x06 langth=11 + 338 unsigned int TempOTC; + 339 unsigned int TempOTCR; + 340 unsigned int TempUTC; + 341 unsigned int TempUTCR; + 342 unsigned char DelayOTC; + 343 unsigned char DelayOTCR; + 344 unsigned char E2ucRamCheckFlg6; + 345 + 346 //ŵ¶ȱʼ SubClassID=0x07 langth=9 + 347 unsigned int TempOTD; + 348 unsigned int TempOTDR; + 349 unsigned int TempUTD; + 350 unsigned int TempUTDR; + C51 COMPILER V9.01 DATAFLASH 01/23/2025 17:20:39 PAGE 7 + + 351 unsigned char E2ucRamCheckFlg7; + 352 + 353 //ƽʼ SubClassID=0x08 langth=8 + 354 unsigned int BalanceVol; + 355 unsigned int BalanceVolDiff; + 356 unsigned int BalCurrent; + 357 unsigned char BalanceDelay; + 358 unsigned char E2ucRamCheckFlg8; + 359 + 360 //ͳ SubClassID=0x09 length=17 + 361 unsigned char E2ucSOC; + 362 unsigned long E2ulDfRC; + 363 signed long E2slDsgEndCurr; + 364 unsigned long E2ulCycleThresholdCount; + 365 unsigned int E2uiLastCCount; + 366 unsigned char E2ucDsgEndFlg; + 367 unsigned char E2ucRamCheckFlg9; + 368 + 369 //AFEʼ SubClassID=0x0A length=4 + 370 unsigned char AFEProtectConfig; + 371 unsigned int AFEOVvol; + 372 unsigned char E2ucRamCheckFlgA; + 373 + 374 //У׼ʼ SubClassID=0x0B length=12 + 375 unsigned int E2uiVPackGain; + 376 signed int E2siCadcGain; + 377 unsigned int E2siCadcOffset; + 378 unsigned int E2siTS0Offset; + 379 unsigned int E2siTS1Offset; + 380 unsigned char E2ucCalibrated; + 381 unsigned char E2ucRamCheckFlgB; + 382 }; + 383 + 384 union DataFlashUn + 385 { + 386 struct DataFlashStu DataFlashStu0; /*һҪṹٶ*/ + 387 unsigned char reversed[510]; + 388 }; + 389 + 390 struct DataFlashStr + 391 { + 392 union DataFlashUn DataFlashUnRaw; + 393 unsigned int FlashCheck1; + 394 union DataFlashUn DataFlashUnBak; + 395 unsigned int FlashCheck2; + 396 }; + 397 + 398 struct DataFlashStr code dataflashstr = + 399 { + 400 /********************************************************************************************************* + -********/ + 401 //A + 402 /********************************************************************************************************* + -********/ + 403 //ϵͳϢʼ SubClassID=0x00 length=48 + 404 { + 405 _E2_PACKCONFIGMAP, //U16 xdata E2uiPackConfigMap + 406 _E2_VOC10, //U16 xdata VOC10 + 407 _E2_VOC20, //U16 xdata VOC20 + 408 _E2_VOC30, //U16 xdata VOC30 + 409 _E2_VOC40, //U16 xdata VOC40 + 410 _E2_VOC50, //U16 xdata VOC50 + C51 COMPILER V9.01 DATAFLASH 01/23/2025 17:20:39 PAGE 8 + + 411 _E2_VOC60, //U16 xdata VOC60 + 412 _E2_VOC70, //U16 xdata VOC70 + 413 _E2_VOC80, //U16 xdata VOC80 + 414 _E2_VOC90, //U16 xdata VOC90 + 415 _E2_VOC100, //U16 xdata VOC100 + 416 _E2_ulDesignCapacity, // U32 xdata E2ulDesignCapacity + 417 _E2_ulFCC, // U32 xdata E2ulFCC + 418 _E2_ulCycleThreshold, // U32 xdata E2uiCycleThreshold + 419 _E2_uiCycleCount, // U16 xdata E2uiCycleCount + 420 _E2_uiLearnLowTempe, // U16 xdata E2uiLearnLowTempe + 421 _E2_Reserve, // U16 xdata E2Reserve + 422 _E2_siDfilterCur, // S16 xdata E2siDfilterCur + 423 _E2_ucLowPowerDeley, // U8 xdata E2ucLowPowerDeley + 424 _E2_ucChgBKDelay, // U8 xdata E2ucChgBKDelay + 425 _E2_siChgBKCur, // S16 xdata E2siChgBKCur + 426 _E2_ucRTCBKDelay, // U8 xdata E2ucRTCBKDelay + 427 _E2_ucRamCheckFlg0, // U8 xdata E2ucRamCheckFlg0 + 428 + 429 + 430 //ûԶʼ SubClassID=0x01 length=50 + 431 _E2_SWVersion, //U16 xdata SWVersion + 432 _E2_HWVersion, //U16 xdata HWVersion + 433 _E2_ID, //U8 xdata ID + 434 _E2_MNFName, //U8 xdata MNFName[12] + 435 _E2_MNFDate, //U32 xdata MNFDate + 436 _E2_SerialNum, //U16 xdata SerialNum + 437 _E2_DeviceName, //U8 xdata DeviceName[12] + 438 _E2_DeviceChem, //U8 xdata DeviceChem[12] + 439 _E2_ChemID, //U16 xdata ChemID + 440 _E2_ucRamCheckFlg1, //U8 xdata E2ucRamCheckFlg1 + 441 + 442 //ʼ SubClassID=0x02 length=18 + 443 _E2_uiOVvol, //U16 xdata E2uiOVvol + 444 _E2_uiOVRvol, //U16 xdata E2uiOVRvol + 445 _E2_ucDelayOV, //U8 xdata E2ucDelayOV + 446 _E2_ucDelayOVR, //U8 xdata E2ucDelayOVR + 447 _E2_uiChgEndVol, + 448 _E2_siChgEndCurr, + 449 _E2_ucChgEndDelay, + 450 _E2_slOCCvol, //S32 xdata E2slOCCvol + 451 _E2_ucDelayOCC, //U8 xdata E2ucDelayOCC + 452 _E2_ucDelayOCCR, //U8 xdata E2ucDelayOCCR + 453 _E2_ucRamCheckFlg2, //U8 xdata E2ucRamCheckFlg2 + 454 + 455 //ŵʼ SubClassID=0x03 langth=21 + 456 _E2_uiUVvol, //U16 xdata E2uiUVvol + 457 _E2_uiUVRvol, //U16 xdata E2uiUVRvol + 458 _E2_ucDelayUV, //U8 xdata E2ucDelayUV + 459 _E2_ucDelayUVR, //U8 xdata E2ucDelayUVR + 460 _E2_uiDsgEndVol, + 461 _E2_ucDsgEndDelay, + 462 _E2_uiOCDvol, //S32 xdata E2uiOCDvol + 463 _E2_ucDelayOCD, //U8 xdata E2ucDelayOCD + 464 _E2_slOCD2vol, //S32 xdata E2slOCD2vol + 465 _E2_ucDelayOCD2, //U8 xdata E2ucDelayOCD2 + 466 _E2_ucDelayLoadR, //U8 xdata E2ucDelayLoadR + 467 _E2_ucRamCheckFlg3, //U8 xdata E2ucRamCheckFlg3 + 468 + 469 + 470 //ŵPWMʼ SubClassID=0x05 langth=5 + 471 _E2_DSG1PWMFreq, //U16 xdata DSG1PWMFreq + 472 _E2_DSG1PWMRatioL, //U8 xdata DSG1PWMRatioL + C51 COMPILER V9.01 DATAFLASH 01/23/2025 17:20:39 PAGE 9 + + 473 _E2_DSG1PWMRatioH, //U8 xdata DSG1PWMRatioH + 474 _E2_ucRamCheckFlg5, //U8 xdata E2ucRamCheckFlg5 + 475 + 476 //¶ȱʼ SubClassID=0x06 langth=11 + 477 _E2_TempOTC, //U16 xdata TempOTC + 478 _E2_TempOTCR, //U16 xdata TempOTCR + 479 _E2_TempUTC, //U16 xdata TempUTC + 480 _E2_TempUTCR, //U16 xdata TempUTCR + 481 _E2_DelayOTC, //U8 xdata DelayOTC + 482 _E2_DelayOTCR, //U8 xdata DelayOTCR + 483 _E2_ucRamCheckFlg6, //U8 xdata E2ucRamCheckFlg6 + 484 + 485 //ŵ¶ȱʼ SubClassID=0x07 langth=9 + 486 _E2_TempOTD, //U16 xdata TempOTD + 487 _E2_TempOTDR, //U16 xdata TempOTDR + 488 _E2_TempUTD, //U16 xdata TempUTD + 489 _E2_TempUTDR, //U16 xdata TempUTDR + 490 _E2_ucRamCheckFlg7, //U8 xdata E2ucRamCheckFlg7 + 491 + 492 //ƽʼ SubClassID=0x08 langth=8 + 493 _E2_BalanceVol, // U16 xdata BalanceVol + 494 _E2_BalanceVolDiff, // U16 xdata BalanceVolDiff + 495 _E2_BalCurrent, // S16 xdata BalCurrent + 496 _E2_BalanceDelay, // U8 xdata BalanceDelay + 497 _E2_ucRamCheckFlg8, // U8 xdata E2ucRamCheckFlg8 + 498 + 499 //ͳ SubClassID=0x09 langth=17 + 500 + 501 _E2_ucSOC, //U8 xdata E2ucSOC + 502 + 503 _E2_ulDfRC, //U32 xdata E2ulLastFCC + 504 + 505 _E2_slDsgEndCurr, //U32 xdata E2slDsgEndCurr + 506 _E2_ulCycleThresholdCount, //U32 xdata E2ulCycleThresholdCount + 507 _E2_uiLastCCount, + 508 _E2_ucDsgEndFlg, //U8 xdata E2ucDsgEndFlg + 509 _E2_ucRamCheckFlg9, //U8 xdata E2ucRamCheckFlg9 + 510 + 511 //AFEʼ SubClassID=0x0A langth=4 + 512 _E2_AFEProtectConfig, // U8 xdata AFEProtectConfig + 513 _E2_AFEOVvol, // U16 xdata AFEOVvol + 514 _E2_ucRamCheckFlgA, // U8 xdata E2ucRamCheckFlgA + 515 + 516 //У׼ʼ SubClassID=0x0B langth=12 + 517 _E2_uiVPackGain, //U16 xdata E2uiVPackGain + 518 _E2_siCadcGain, //S16 xdata E2siCadcGain + 519 _E2_siCadcOffset, //S16 xdata E2siCadcOffset + 520 _E2_siTS0Offset, //S16 xdata E2siTS0Offset + 521 _E2_siTS1Offset, //S16 xdata E2siTS1Offset + 522 _E2_ucCalibrated, //S16 xdata E2ucCalibrated + 523 _E2_ucRamCheckFlgB, //U8 xdata E2ucRamCheckFlgB + 524 }, + 525 + 526 _FLASH_CHECK_DATA, // U16 xdata FlashCheck + 527 /********************************************************************************************************* + -********/ + 528 //B + 529 /********************************************************************************************************* + -********/ + 530 /********************************************************************************************************* + -********/ + 531 //ϵͳϢʼ SubClassID=0x00 langth=48 + C51 COMPILER V9.01 DATAFLASH 01/23/2025 17:20:39 PAGE 10 + + 532 { + 533 _E2_PACKCONFIGMAP, //U16 xdata E2uiPackConfigMap + 534 _E2_VOC10, //U16 xdata VOC10 + 535 _E2_VOC20, //U16 xdata VOC20 + 536 _E2_VOC30, //U16 xdata VOC30 + 537 _E2_VOC40, //U16 xdata VOC40 + 538 _E2_VOC50, //U16 xdata VOC50 + 539 _E2_VOC60, //U16 xdata VOC60 + 540 _E2_VOC70, //U16 xdata VOC70 + 541 _E2_VOC80, //U16 xdata VOC80 + 542 _E2_VOC90, //U16 xdata VOC90 + 543 _E2_VOC100, //U16 xdata VOC100 + 544 _E2_ulDesignCapacity, // U32 xdata E2ulDesignCapacity + 545 _E2_ulFCC, // U32 xdata E2ulFCC + 546 _E2_ulCycleThreshold, // U32 xdata E2uiCycleThreshold + 547 _E2_uiCycleCount, // U16 xdata E2uiCycleCount + 548 _E2_uiLearnLowTempe, // U16 xdata E2uiLearnLowTempe + 549 _E2_Reserve, // U16 xdata E2Reserve + 550 _E2_siDfilterCur, // S16 xdata E2siDfilterCur + 551 _E2_ucLowPowerDeley, // U8 xdata E2ucLowPowerDeley + 552 _E2_ucChgBKDelay, // U8 xdata E2ucChgBKDelay + 553 _E2_siChgBKCur, // S16 xdata E2siChgBKCur + 554 _E2_ucRTCBKDelay, // U8 xdata E2ucRTCBKDelay + 555 _E2_ucRamCheckFlg0, // U8 xdata E2ucRamCheckFlg0 + 556 + 557 + 558 //ûԶʼ SubClassID=0x01 length=50 + 559 _E2_SWVersion, //U16 xdata SWVersion + 560 _E2_HWVersion, //U16 xdata HWVersion + 561 _E2_ID, //U8 xdata ID + 562 _E2_MNFName, //U8 xdata MNFName[12] + 563 _E2_MNFDate, //U32 xdata MNFDate + 564 _E2_SerialNum, //U16 xdata SerialNum + 565 _E2_DeviceName, //U8 xdata DeviceName[12] + 566 _E2_DeviceChem, //U8 xdata DeviceChem[12] + 567 _E2_ChemID, //U16 xdata ChemID + 568 _E2_ucRamCheckFlg1, //U8 xdata E2ucRamCheckFlg1 + 569 + 570 //ʼ SubClassID=0x02 length=18 + 571 _E2_uiOVvol, //U16 xdata E2uiOVvol + 572 _E2_uiOVRvol, //U16 xdata E2uiOVRvol + 573 _E2_ucDelayOV, //U8 xdata E2ucDelayOV + 574 _E2_ucDelayOVR, //U8 xdata E2ucDelayOVR + 575 _E2_uiChgEndVol, + 576 _E2_siChgEndCurr, + 577 _E2_ucChgEndDelay, + 578 _E2_slOCCvol, //S32 xdata E2slOCCvol + 579 _E2_ucDelayOCC, //U8 xdata E2ucDelayOCC + 580 _E2_ucDelayOCCR, //U8 xdata E2ucDelayOCCR + 581 _E2_ucRamCheckFlg2, //U8 xdata E2ucRamCheckFlg2 + 582 + 583 //ŵʼ SubClassID=0x03 langth=21 + 584 _E2_uiUVvol, //U16 xdata E2uiUVvol + 585 _E2_uiUVRvol, //U16 xdata E2uiUVRvol + 586 _E2_ucDelayUV, //U8 xdata E2ucDelayUV + 587 _E2_ucDelayUVR, //U8 xdata E2ucDelayUVR + 588 _E2_uiDsgEndVol, + 589 _E2_ucDsgEndDelay, + 590 _E2_uiOCDvol, //S32 xdata E2uiOCDvol + 591 _E2_ucDelayOCD, //U8 xdata E2ucDelayOCD + 592 _E2_slOCD2vol, //S32 xdata E2slOCD2vol + 593 _E2_ucDelayOCD2, //U8 xdata E2ucDelayOCD2 + C51 COMPILER V9.01 DATAFLASH 01/23/2025 17:20:39 PAGE 11 + + 594 _E2_ucDelayLoadR, //U8 xdata E2ucDelayLoadR + 595 _E2_ucRamCheckFlg3, //U8 xdata E2ucRamCheckFlg3 + 596 + 597 + 598 //ŵPWMʼ SubClassID=0x05 langth=5 + 599 _E2_DSG1PWMFreq, //U16 xdata DSG1PWMFreq + 600 _E2_DSG1PWMRatioL, //U8 xdata DSG1PWMRatioL + 601 _E2_DSG1PWMRatioH, //U8 xdata DSG1PWMRatioH + 602 _E2_ucRamCheckFlg5, //U8 xdata E2ucRamCheckFlg5 + 603 + 604 //¶ȱʼ SubClassID=0x06 langth=11 + 605 _E2_TempOTC, //U16 xdata TempOTC + 606 _E2_TempOTCR, //U16 xdata TempOTCR + 607 _E2_TempUTC, //U16 xdata TempUTC + 608 _E2_TempUTCR, //U16 xdata TempUTCR + 609 _E2_DelayOTC, //U8 xdata DelayOTC + 610 _E2_DelayOTCR, //U8 xdata DelayOTCR + 611 _E2_ucRamCheckFlg6, //U8 xdata E2ucRamCheckFlg6 + 612 + 613 //ŵ¶ȱʼ SubClassID=0x07 langth=9 + 614 _E2_TempOTD, //U16 xdata TempOTD + 615 _E2_TempOTDR, //U16 xdata TempOTDR + 616 _E2_TempUTD, //U16 xdata TempUTD + 617 _E2_TempUTDR, //U16 xdata TempUTDR + 618 _E2_ucRamCheckFlg7, //U8 xdata E2ucRamCheckFlg7 + 619 + 620 //ƽʼ SubClassID=0x08 langth=8 + 621 _E2_BalanceVol, // U16 xdata BalanceVol + 622 _E2_BalanceVolDiff, // U16 xdata BalanceVolDiff + 623 _E2_BalCurrent, // S16 xdata BalCurrent + 624 _E2_BalanceDelay, // U8 xdata BalanceDelay + 625 _E2_ucRamCheckFlg8, // U8 xdata E2ucRamCheckFlg8 + 626 + 627 //ͳ SubClassID=0x09 langth=17 + 628 _E2_ucSOC, //U8 xdata E2ucSOC + 629 _E2_ulDfRC, //U32 xdata E2ulLastFCC + 630 _E2_slDsgEndCurr, //U32 xdata E2slDsgEndCurr + 631 _E2_ulCycleThresholdCount, //U32 xdata E2ulCycleThresholdCount + 632 _E2_uiLastCCount, + 633 _E2_ucDsgEndFlg, //U8 xdata E2ucDsgEndFlg + 634 + 635 _E2_ucRamCheckFlg9, //U8 xdata E2ucRamCheckFlg9 + 636 + 637 //AFEʼ SubClassID=0x0A langth=4 + 638 _E2_AFEProtectConfig, // U8 xdata AFEProtectConfig + 639 _E2_AFEOVvol, // U16 xdata AFEOVvol + 640 _E2_ucRamCheckFlgA, // U8 xdata E2ucRamCheckFlgA + 641 + 642 //У׼ʼ SubClassID=0x0B langth=12 + 643 _E2_uiVPackGain, //U16 xdata E2uiVPackGain + 644 _E2_siCadcGain, //S16 xdata E2siCadcGain + 645 _E2_siCadcOffset, //S16 xdata E2siCadcOffset + 646 _E2_siTS0Offset, //S16 xdata E2siTS0Offset + 647 _E2_siTS1Offset, //S16 xdata E2siTS1Offset + 648 _E2_ucCalibrated, //S16 xdata E2ucCalibrated + 649 _E2_ucRamCheckFlgB, //U8 xdata E2ucRamCheckFlgB + 650 }, + 651 + 652 _FLASH_CHECK_DATA, // U16 xdata FlashCheck + 653 }; + 654 + 655 //*** <<< end of configuration section >>> *** + C51 COMPILER V9.01 DATAFLASH 01/23/2025 17:20:39 PAGE 12 + + + +MODULE INFORMATION: STATIC OVERLAYABLE + CODE SIZE = ---- ---- + CONSTANT SIZE = 1024 ---- + XDATA SIZE = ---- ---- + PDATA SIZE = ---- ---- + DATA SIZE = ---- ---- + IDATA SIZE = ---- ---- + BIT SIZE = ---- ---- +END OF MODULE INFORMATION. + + +C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S) diff --git a/output/DataFlash.obj b/output/DataFlash.obj new file mode 100644 index 0000000000000000000000000000000000000000..87c2787266cb0f401583146b0c4f0b63657cd1bd GIT binary patch literal 19647 zcmeHPdw5jUwLi&Z2!w=0D85v@@P+cEYu!Og*y`A-mYaH_E#cibx&mZ3{87~$mY&bCc^C7Jnho9@5aVi zv)`9rq7Cu5gYH_NySeVHEmS&2%hTXLO)Dr_sQVYDznndKgmGOfPG4&d1{ReSYY3vb zq6}n*rf-?8KVN7s0Klqg#n+b9m7Exs8g{(&o29$U3d-h|b!l4ZZsY%<2br9k-Pk@N zPiwcg<&VsBYQ6F9p0%-XBE@cWOdejYY0Y(23u>LtIqXKwSMP6x-^Qn{YPMGq9cWwW)FbQZr-w5X`R ztt_aG(Ax9c+Ch3?;KOwiICYM*t*Ct9LE(Tlsqx>xzp@9~?)`WFe`RO=KfJN+-n_{p zgkAQbp?cjL^0YKGTpC*Fs2Eh9SESj?^NKZ_qlMjLKga9pi#LU%EA*c3j(BH7cvZgU zD1?ixetncyIGp{N@WguKo!xqPRX7??^^emE;f6%5u1^p*=>5?|EZCKd^>+0n+RHWj zFhJl}^`5@&RE1FFi-nWjzMi$g*veJ0shWL=*A2zxL5}??;v^AFOjrVlB#DzL}VUA`S1XA^$YHiX`_^Y9@wlTai=GF?K znP5$}IK{jYDVB_f6ODZ<7ip6?MNe!^JQ@Ru=Bz7>!^)6mF9P-OcfBW^ORzG+ozoZh zx2|Cx6}S6a1FY4d**G76D|bMrW@8TMi?T0yyGwe%tJB-v-rAFJF4qc5g^Sn~=A)!D zAyhK2u}fUexl$X%NcATCy3Vw$7O?y~b}6aZz++L_4)o@-cBKUC7GS+bux{b3*9q2K zzNNJv!?QcC5^nVL3f3Dm8zas1@e5q)JDec%iSA+W*I@*9>3VGta|_V-xY*Y>W%Kp8 zZWaTBL-~5b?SYNC7F6A$*@t?X7gaVbZKzGgR)3$Nh-M(1iud?7kqdRV=7Ln;rr8T& zi2H;3e`xl>;?KZlak(X^ZxNT-pMkBKZLs0hp#EdcHbnj%*p>@D_x3cj=Z-YACvayP z+OsPS?FrnKi!kqQ)-5&RM7TQ|YwbzwVWTC}^29qj?lZoJVG`?3?PXpT-*aB~=OWJE zr`aGNM4SEk16tu=_GiM=5zrsf2Emk07(EDhk7$LX;oIzR!6U@4#HjU!ds8~U@~G@U zJ^@5n%yPwhuj1UrT zk3#zy&V_{(*7kRF^u|)pagpA5u-R!`_;vb1rE%c}8JNO}cqGZ
  • ?i)io6?qmv13 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 literal 0 HcmV?d00001 diff --git a/output/Eeprom b/output/Eeprom new file mode 100644 index 0000000000000000000000000000000000000000..05eb8d82c20321bf3dd9f9d1a0c192e6556fdcb8 GIT binary patch literal 19703 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 CYJ%bb literal 0 HcmV?d00001 diff --git a/output/Eeprom.build_log.htm b/output/Eeprom.build_log.htm new file mode 100644 index 0000000..8c89276 --- /dev/null +++ b/output/Eeprom.build_log.htm @@ -0,0 +1,38 @@ + + +
    +

    Vision Build Log

    +

    Tool Versions:

    +IDE-Version: Vision V5.22.0.0 +Copyright (C) 2016 ARM Ltd and ARM Germany GmbH. All rights reserved. +License Information: yang Microsoft, Microsoft, LIC=58E4T-RQU60-GVC1T-RJBYK-PG19C-5N7J7 + +Tool Versions: +Toolchain: PK51 Prof. Developers Kit Version: 9.01 +Toolchain Path: C:\Keil_v5\C51\BIN +C Compiler: C51.exe V9.01 +Assembler: A51.exe V8.02 +Linker/Locator: BL51.exe V6.22 +Library Manager: LIB51.exe V4.24 +Hex Converter: OH51.exe V2.6 +CPU DLL: S8051.DLL V3.72 +Dialog DLL: DP51.DLL V2.59 +Target DLL: SH51.DLL V1.00 +Dialog DLL: TP51.DLL V2.58 + +

    Project:

    +C:\Users\wenhua.wang\Desktop\demo&user guideŻ\SH39F003&F004_DemoCode_V2.15_20231213\SH39F003&F004_DemoCode_V2.15_20231222\SH39F003&F004_DemoCode_V2.15_20231213\MCUCore.uvproj +Project File Date: 12/22/2023 + +

    Output:

    +Rebuild target 'EEPROM' +compiling DataFlash.c... +linking... +*** WARNING L10: CANNOT DETERMINE ROOT SEGMENT +Program Size: data=0.0 xdata=0 code=1024 +creating hex file from ".\output\Eeprom"... +".\output\Eeprom" - 0 Error(s), 1 Warning(s). +Build Time Elapsed: 00:00:00 +
    + + diff --git a/output/Eeprom.hex b/output/Eeprom.hex new file mode 100644 index 0000000..4f8072b --- /dev/null +++ b/output/Eeprom.hex @@ -0,0 +1,65 @@ +:1000000033270C800D480DDE0E740ED80F3C0FA068 +:1000100010041036106800000FA000000FA00000B0 +:100020000BB800000B410000006414010064055A85 +:10003000021501300073696E6F7765616C7468003A +:100040000020231222000053483339463030340058 +:100050000000004C494F4E0000000000000000006E +:10006000005A109A10360202104000640500000B7E +:10007000B802025A0A8C0BB802020B5405FFFFB1FA +:10008000E002FFFF63C002045A0FA01E465A0C9FF5 +:100090000C6D0AAB0ADD03035A0D670CD10A470A3F +:1000A000795A105400140064025A6400000BB8FF1F +:1000B000FFEC78000000000000005A7411305A0A6A +:1000C00022FFAE000100000000005A000000000006 +:1000D0000000000000000000000000000000000020 +:1000E0000000000000000000000000000000000010 +:1000F0000000000000000000000000000000000000 +:1001000000000000000000000000000000000000EF +:1001100000000000000000000000000000000000DF +:1001200000000000000000000000000000000000CF +:1001300000000000000000000000000000000000BF +:1001400000000000000000000000000000000000AF +:10015000000000000000000000000000000000009F +:10016000000000000000000000000000000000008F +:10017000000000000000000000000000000000007F +:10018000000000000000000000000000000000006F +:10019000000000000000000000000000000000005F +:1001A000000000000000000000000000000000004F +:1001B000000000000000000000000000000000003F +:1001C000000000000000000000000000000000002F +:1001D000000000000000000000000000000000001F +:1001E000000000000000000000000000000000000F +:1001F00000000000000000000000000000005AA500 +:1002000033270C800D480DDE0E740ED80F3C0FA066 +:1002100010041036106800000FA000000FA00000AE +:100220000BB800000B410000006414010064055A83 +:10023000021501300073696E6F7765616C74680038 +:100240000020231222000053483339463030340056 +:100250000000004C494F4E0000000000000000006C +:10026000005A109A10360202104000640500000B7C +:10027000B802025A0A8C0BB802020B5405FFFFB1F8 +:10028000E002FFFF63C002045A0FA01E465A0C9FF3 +:100290000C6D0AAB0ADD03035A0D670CD10A470A3D +:1002A000795A105400140064025A6400000BB8FF1D +:1002B000FFEC78000000000000005A7411305A0A68 +:1002C00022FFAE000100000000005A000000000004 +:1002D000000000000000000000000000000000001E +:1002E000000000000000000000000000000000000E +:1002F00000000000000000000000000000000000FE +:1003000000000000000000000000000000000000ED +:1003100000000000000000000000000000000000DD +:1003200000000000000000000000000000000000CD +:1003300000000000000000000000000000000000BD +:1003400000000000000000000000000000000000AD +:10035000000000000000000000000000000000009D +:10036000000000000000000000000000000000008D +:10037000000000000000000000000000000000007D +:10038000000000000000000000000000000000006D +:10039000000000000000000000000000000000005D +:1003A000000000000000000000000000000000004D +:1003B000000000000000000000000000000000003D +:1003C000000000000000000000000000000000002D +:1003D000000000000000000000000000000000001D +:1003E000000000000000000000000000000000000D +:1003F00000000000000000000000000000005AA5FE +:00000001FF diff --git a/output/Eeprom.lnp b/output/Eeprom.lnp new file mode 100644 index 0000000..d33ba1c --- /dev/null +++ b/output/Eeprom.lnp @@ -0,0 +1,6 @@ +".\output\DataFlash.obj" +TO ".\output\Eeprom" +PRINT(".\output\Eeprom.m51") RAMSIZE(256) +DISABLEWARNING (16) +CODE( ?CO?DATAFLASH(0x0000) ) +XDATA( 0X0200-0X04FE ) diff --git a/output/Eeprom.m51 b/output/Eeprom.m51 new file mode 100644 index 0000000..459eb11 --- /dev/null +++ b/output/Eeprom.m51 @@ -0,0 +1,48 @@ +BL51 BANKED LINKER/LOCATER V6.22 01/23/2025 17:20:40 PAGE 1 + + +BL51 BANKED LINKER/LOCATER V6.22, INVOKED BY: +D:\TOOL\KEIL\C51\BIN\BL51.EXE .\output\DataFlash.obj TO .\output\Eeprom PRINT (.\output\Eeprom.m51) RAMSIZE (256) DISABL +>> EWARNING (16) CODE (?CO?DATAFLASH (0X0000)) XDATA (0X0200-0X04FE) + + +MEMORY MODEL: LARGE + + +INPUT MODULES INCLUDED: + .\output\DataFlash.obj (DATAFLASH) + + +LINK MAP OF MODULE: .\output\Eeprom (DATAFLASH) + + + TYPE BASE LENGTH RELOCATION SEGMENT NAME + ----------------------------------------------------- + + * * * * * * * C O D E M E M O R Y * * * * * * * + CODE 0000H 0400H UNIT ?CO?DATAFLASH + + + +OVERLAY MAP OF MODULE: .\output\Eeprom (DATAFLASH) + + +SEGMENT + +--> CALLED SEGMENT +--------------------- + + +SYMBOL TABLE OF MODULE: .\output\Eeprom (DATAFLASH) + + VALUE TYPE NAME + ---------------------------------- + + ------- MODULE DATAFLASH + C:0000H SYMBOL _ICE_DUMMY_ + C:0000H PUBLIC dataflashstr + ------- ENDMOD DATAFLASH + +*** WARNING L10: CANNOT DETERMINE ROOT SEGMENT + +Program Size: data=0.0 xdata=0 code=1024 +LINK/LOCATE RUN COMPLETE. 1 WARNING(S), 0 ERROR(S) diff --git a/output/Eeprom.plg b/output/Eeprom.plg new file mode 100644 index 0000000..8b1884e --- /dev/null +++ b/output/Eeprom.plg @@ -0,0 +1,7 @@ +Build target 'EEPROM' +compiling DataFlash.c... +linking... +*** WARNING L10: CANNOT DETERMINE ROOT SEGMENT +Program Size: data=0.0 xdata=0 code=1024 +creating hex file from ".\output\Eeprom"... +".\output\Eeprom" - 0 Error(s), 1 Warning(s). diff --git a/output/ExtDll.iex b/output/ExtDll.iex new file mode 100644 index 0000000..6c0896e --- /dev/null +++ b/output/ExtDll.iex @@ -0,0 +1,2 @@ +[EXTDLL] +Count=0 diff --git a/output/ExtE2PRom.lst b/output/ExtE2PRom.lst new file mode 100644 index 0000000..6b21810 --- /dev/null +++ b/output/ExtE2PRom.lst @@ -0,0 +1,609 @@ +C51 COMPILER V9.01 EXTE2PROM 02/06/2025 15:28:45 PAGE 1 + + +C51 COMPILER V9.01, COMPILATION OF MODULE EXTE2PROM +OBJECT MODULE PLACED IN .\output\ExtE2PRom.obj +COMPILER INVOKED BY: D:\Tool\Keil\C51\BIN\C51.EXE code_drv\ExtE2PRom.c LARGE OPTIMIZE(7,SIZE) REGFILE(.\output\MCUCore_L + -oad.ORC) BROWSE INTVECTOR(0X1000) INCDIR(.\header_app;.\header_drv;.\code_gasguage;.\code_classb\iec60730_lib\include;.\ + -code_classb\iec60730_proc\Include;.\code_classb\config) DEBUG OBJECTEXTEND PRINT(.\output\ExtE2PRom.lst) OBJECT(.\output + -\ExtE2PRom.obj) + +line level source + + 1 /******************************************************************************** + 2 Copyright (C), Sinowealth Electronic. Ltd. + 3 Author: Sino + 4 Version: V0.0 + 5 Date: 2020/04/26 + 6 History: + 7 V2.0 2020/04/26 Preliminary + 8 ********************************************************************************/ + 9 #include "Main.h" + 10 + 11 BOOL bE2PProcessFlg; //EEPROM־ + 12 BOOL bE2PBKDsgEnd; //ŵ־ҪϢEEPROM + 13 BOOL bE2PBKDsgEndValid; + 14 BOOL bE2PBKChgStop; //־ҪϢEEPROM + 15 BOOL bE2PBKChgStart; //翪ʼ־ҪϢEEPROM + 16 BOOL bE2PBKRtc; //RTCʱݱ־ҪϢEEPRO + -M + 17 BOOL bE2PErase; //EEPROM־ + 18 U8 xdata bUart0E2PRdData; //ȡEEPROM־ + 19 U8 xdata bUart1E2PRdData; //ȡEEPROM־ + 20 U8 xdata bUart2E2PRdData; //ȡEEPROM־ + 21 BOOL bE2PRErr; + 22 BOOL bE2PTwiRWErrFlg; + 23 U8 xdata bUart0RTCRdTime; //ȡRTCʱ־ + 24 U8 xdata bUart1RTCRdTime; //ȡRTCʱ־ + 25 U8 xdata bUart2RTCRdTime; //ȡRTCʱ־ + 26 BOOL bDsgToChgFlg; //ŵתΪ磬Ҫ + 27 BOOL bChgToDsgFlg; //תΪŵ磬Ҫ + 28 U16 xdata uiE2PDataAddr; + 29 U8 xdata ucE2PTwiRWErrDelayCnt; + 30 U8 xdata ucRTCBKTime1; + 31 U16 xdata uiRTCBKTime2; + 32 U8 idata ucUpDataLimitTime; + 33 U16 xdata uiCHGValidTime; + 34 U8 xdata ucRTCBuf[7]; + 35 + 36 + 37 /************************************************************************************************* + 38 * : AFEI2CCheck + 39 * : + 40 * ֵ: + 41 * : 5S⵽AFEI2CͨѶλbAfeErr=1 + 42 *************************************************************************************************/ + 43 void E2PRomTwiCheck(void) + 44 { + 45 1 if(bEnEEPRomBK) + 46 1 { + 47 2 if(bE2PTwiRWErrFlg) + 48 2 { + 49 3 if(++ucE2PTwiRWErrDelayCnt >= TIME_1S_5S) + 50 3 { + 51 4 bE2PRErr = 1; + C51 COMPILER V9.01 EXTE2PROM 02/06/2025 15:28:45 PAGE 2 + + 52 4 ucE2PTwiRWErrDelayCnt = TIME_1S_5S; + 53 4 } + 54 3 } + 55 2 else + 56 2 { + 57 3 ucE2PTwiRWErrDelayCnt = 0; + 58 3 } + 59 2 } + 60 1 } + 61 + 62 + 63 /************************************************************************************************* + 64 * : E2PRomWrite + 65 * : AddrַLengthȣWrBufдŵBuf + 66 * ֵ: + 67 * : дEEPROm + 68 *************************************************************************************************/ + 69 BOOL E2PRomWrite(U16 WrAddr, U8 Length, U8 xdata *WrBuf) + 70 { + 71 1 BOOL Result = 0; + 72 1 U8 i; + 73 1 + 74 1 if(!bE2PRErr) + 75 1 { + 76 2 for(i=0; i<5; i++) + 77 2 { + 78 3 #ifdef TWI_Hardware_Module + 79 3 if(TwiWrite(E2PROM_ID, WrAddr, TWI_ADDR_2B, Length, TWI_CRC_NO, WrBuf)) + 80 3 { + 81 4 Result = 1; + 82 4 break; + 83 4 } + 84 3 #else + if(TwiWrite(E2PROM_ID, WrAddr, Length, WrBuf)) + { + Result = 1; + break; + } + #endif + 91 3 Delay1ms(1); + 92 3 } + 93 2 } + 94 1 bE2PTwiRWErrFlg = !Result; //ͨѶǷ + 95 1 + 96 1 return Result; + 97 1 } + 98 + 99 + 100 /************************************************************************************************* + 101 * : E2PRomRead + 102 * : AddrַLengthȣRdBufȡŵBuf + 103 * ֵ: + 104 * : ȡEEPROm + 105 *************************************************************************************************/ + 106 BOOL E2PRomRead(U16 RdAddr, U8 Length, U8 xdata *RdBuf) + 107 { + 108 1 BOOL Result = 0; + 109 1 U8 i; + 110 1 + 111 1 if(!bE2PRErr) + 112 1 { + 113 2 for(i=0; i<5; i++) + C51 COMPILER V9.01 EXTE2PROM 02/06/2025 15:28:45 PAGE 3 + + 114 2 { + 115 3 #ifdef TWI_Hardware_Module + 116 3 if(TwiRead(E2PROM_ID, RdAddr, TWI_ADDR_2B, Length, TWI_CRC_NO, RdBuf)) + 117 3 { + 118 4 Result = 1; + 119 4 break; + 120 4 } + 121 3 #else + if(TwiRead(E2PROM_ID, RdAddr, Length, RdBuf)) + { + Result = 1; + break; + } + #endif + 128 3 Delay1ms(1); + 129 3 } + 130 2 } + 131 1 bE2PTwiRWErrFlg = !Result; //ͨѶǷ + 132 1 + 133 1 return Result; + 134 1 } + 135 + 136 + 137 + 138 /************************************************************************************************* + 139 * : E2PRomErase + 140 * : + 141 * ֵ: + 142 * : EEPROM + 143 *************************************************************************************************/ + 144 void E2PRomErase(void) + 145 { + 146 1 U16 i; + 147 1 U8 xdata WrBuf[8]; + 148 1 + 149 1 MemorySet(WrBuf, 0, 8); //clr Info.uiVCell[] + 150 1 + 151 1 for(i=0; i<(E2PROM_SIZE/32-1); i++) + 152 1 { + 153 2 McuWDTClear(); + 154 2 E2PRomWrite(i*32+31, 1, WrBuf); + 155 2 } + 156 1 + 157 1 E2PRomWrite(E2PROM_BOOT_ADDR, 8, WrBuf); + 158 1 uiE2PDataAddr = 0; + 159 1 } + 160 + 161 + 162 /************************************************************************************************* + 163 * : InitE2PRom + 164 * : + 165 * ֵ: + 166 * : ʼEEPROMĵַ + 167 *************************************************************************************************/ + 168 BOOL E2PRomInit(void) + 169 { + 170 1 BOOL Result = 0; + 171 1 + 172 1 U8 xdata RdBuf[8]; + 173 1 + 174 1 Result = E2PRomRead(E2PROM_BOOT_ADDR, 8, RdBuf); + 175 1 + C51 COMPILER V9.01 EXTE2PROM 02/06/2025 15:28:45 PAGE 4 + + 176 1 RdBuf[2] = RdBuf[0]+RdBuf[1]; + 177 1 RdBuf[6] = RdBuf[4]+RdBuf[5]; + 178 1 + 179 1 if(RdBuf[2] == RdBuf[3]) + 180 1 { + 181 2 uiE2PDataAddr = ((U16)RdBuf[0]<<8) + RdBuf[1]; + 182 2 } + 183 1 else if(RdBuf[6] == RdBuf[7]) + 184 1 { + 185 2 uiE2PDataAddr = ((U16)RdBuf[4]<<8) + RdBuf[5]; + 186 2 } + 187 1 else + 188 1 { + 189 2 uiE2PDataAddr = 0; + 190 2 } + 191 1 + 192 1 return Result; + 193 1 } + 194 + 195 + 196 /************************************************************************************************* + 197 * : E2PRomBKRTC + 198 * : + 199 * ֵ: + 200 * : RTC + 201 *************************************************************************************************/ + 202 void E2PRomBKRTC(void) + 203 { + 204 1 U8 xdata WrBuf[9]; + 205 1 U8 i, checksum = 0; + 206 1 + 207 1 RTCReadTime(&RTC); + 208 1 MemoryCopy((U8 xdata *)&(RTC.Second), WrBuf, 7); + 209 1 for(i=0; i<7; i++) + 210 1 { + 211 2 checksum += WrBuf[i]; + 212 2 } + 213 1 WrBuf[7] = checksum; + 214 1 WrBuf[8] = 0x5A; + 215 1 + 216 1 E2PRomWrite(E2PROM_RTC_ADDR, 9, WrBuf); + 217 1 } + 218 + 219 + 220 /************************************************************************************************* + 221 * : E2PRomBKBoot + 222 * : + 223 * ֵ: + 224 * : EEPROMBoot + 225 *************************************************************************************************/ + 226 void E2PRomBKBoot(void) + 227 { + 228 1 U8 xdata WrBuf[8]; + 229 1 + 230 1 WrBuf[0] = (uiE2PDataAddr>>8); + 231 1 WrBuf[1] = uiE2PDataAddr; + 232 1 WrBuf[3] = WrBuf[0]+WrBuf[1]; //Calculate checksum + 233 1 + 234 1 WrBuf[4] = WrBuf[0]; + 235 1 WrBuf[5] = WrBuf[1]; + 236 1 WrBuf[7] = WrBuf[3]; + 237 1 + C51 COMPILER V9.01 EXTE2PROM 02/06/2025 15:28:45 PAGE 5 + + 238 1 E2PRomWrite(E2PROM_BOOT_ADDR, 8, WrBuf); + 239 1 } + 240 + 241 + 242 /************************************************************************************************* + 243 * : E2PRomBKData + 244 * : BKType + 245 * ֵ: + 246 * : ȡEEPROM + 247 *************************************************************************************************/ + 248 void E2PRomBKData(U8 BKType) + 249 { + 250 1 U8 xdata WrBuf[32]; + 251 1 + 252 1 if(BKType == E2PROM_BKTYPE_CHG_START) //翪ʼ + 253 1 { + 254 2 MemoryCopy((U8 xdata *)&ucRTCBuf[0], WrBuf, 3); + 255 2 MemoryCopy((U8 xdata *)&ucRTCBuf[4], WrBuf + 3, 3); + 256 2 } + 257 1 else + 258 1 { + 259 2 RTCReadTime(&RTC); + 260 2 MemoryCopy((U8 xdata *)&(RTC.Second), WrBuf, 3); + 261 2 MemoryCopy((U8 xdata *)&(RTC.Date), WrBuf + 3, 3); + 262 2 } + 263 1 + 264 1 WrBuf[6] = (Info.uiPackStatus>>8); + 265 1 WrBuf[7] = Info.uiPackStatus; + 266 1 WrBuf[8] = (Info.uiBatStatus>>8); + 267 1 WrBuf[9] = Info.uiBatStatus; + 268 1 WrBuf[10] = (Info.ulFCC>>24); + 269 1 WrBuf[11] = (Info.ulFCC>>16); + 270 1 WrBuf[12] = (Info.ulFCC>>8); + 271 1 WrBuf[13] = Info.ulFCC; + 272 1 WrBuf[14] = (Info.ulRC>>24); + 273 1 WrBuf[15] = (Info.ulRC>>16); + 274 1 WrBuf[16] = (Info.ulRC>>8); + 275 1 WrBuf[17] = Info.ulRC; + 276 1 WrBuf[18] = (Info.ulVoltage>>24); + 277 1 WrBuf[19] = (Info.ulVoltage>>16); + 278 1 WrBuf[20] = (Info.ulVoltage>>8); + 279 1 WrBuf[21] = Info.ulVoltage; + 280 1 WrBuf[22] = (Info.slCurr>>24); + 281 1 WrBuf[23] = (Info.slCurr>>16); + 282 1 WrBuf[24] = (Info.slCurr>>8); + 283 1 WrBuf[25] = Info.slCurr; + 284 1 WrBuf[26] = (Info.uiTS[0]>>8); + 285 1 WrBuf[27] = Info.uiTS[0]; + 286 1 WrBuf[28] = (Info.uiCycleCount>>8); + 287 1 WrBuf[29] = Info.uiCycleCount; + 288 1 WrBuf[30] = BKType; + 289 1 WrBuf[31] = 0x5A; + 290 1 + 291 1 E2PRomWrite(uiE2PDataAddr, 32, WrBuf); + 292 1 + 293 1 uiE2PDataAddr += 32; + 294 1 if(uiE2PDataAddr >= E2PROM_BOOT_ADDR) + 295 1 { + 296 2 uiE2PDataAddr = 0; + 297 2 } + 298 1 + 299 1 E2PRomBKBoot(); + C51 COMPILER V9.01 EXTE2PROM 02/06/2025 15:28:45 PAGE 6 + + 300 1 } + 301 + 302 + 303 /************************************************************************************************* + 304 * : Uart0RdE2PRom + 305 * : + 306 * ֵ: + 307 * : ȡEEPROM + 308 *************************************************************************************************/ + 309 void Uart0RdE2PRom(void) + 310 { + 311 1 U16 RdAddr; + 312 1 + 313 1 RdAddr = ((U16)ucUart0Buf[UART_CMD_NO]-CMD_RD_EEPROM)*128+((U16)ucSubClassID-0x80)*4096; + 314 1 E2PRomRead(RdAddr, ucUart0Buf[UART_LENGTH], &ucUart0Buf[UART_DATA]); + 315 1 + 316 1 ucUart0Buf[UART_DATA+ucUart0Buf[UART_LENGTH]] = CRC8cal(&ucUart0Buf,ucUart0Buf[UART_LENGTH]+UART_DATA) + -; + 317 1 Uart0SendData(); //Start Send Data; Set UART REG + 318 1 } + 319 + 320 /************************************************************************************************* + 321 * : Uart1RdE2PRom + 322 * : + 323 * ֵ: + 324 * : ȡEEPROM + 325 *************************************************************************************************/ + 326 void Uart1RdE2PRom(void) + 327 { + 328 1 U16 RdAddr; + 329 1 + 330 1 RdAddr = ((U16)ucUart1Buf[UART_CMD_NO]-CMD_RD_EEPROM)*128+((U16)ucSubClassID-0x80)*4096; + 331 1 E2PRomRead(RdAddr, ucUart1Buf[UART_LENGTH], &ucUart1Buf[UART_DATA]); + 332 1 + 333 1 ucUart1Buf[UART_DATA+ucUart1Buf[UART_LENGTH]] = CRC8cal(&ucUart1Buf,ucUart1Buf[UART_LENGTH]+UART_DATA) + -; + 334 1 Uart1SendData(); //Start Send Data; Set UART REG + 335 1 } + 336 + 337 /************************************************************************************************* + 338 * : Uart2RdE2PRom + 339 * : + 340 * ֵ: + 341 * : ȡEEPROM + 342 *************************************************************************************************/ + 343 void Uart2RdE2PRom(void) + 344 { + 345 1 U16 RdAddr; + 346 1 + 347 1 RdAddr = ((U16)ucUart2Buf[UART_CMD_NO]-CMD_RD_EEPROM)*128+((U16)ucSubClassID-0x80)*4096; + 348 1 E2PRomRead(RdAddr, ucUart2Buf[UART_LENGTH], &ucUart2Buf[UART_DATA]); + 349 1 + 350 1 ucUart2Buf[UART_DATA+ucUart2Buf[UART_LENGTH]] = CRC8cal(&ucUart2Buf,ucUart2Buf[UART_LENGTH]+UART_DATA) + -; + 351 1 Uart2SendData(); //Start Send Data; Set UART REG + 352 1 } + 353 + 354 + 355 /************************************************************************************************* + 356 * : UartRdRTC + 357 * : + 358 * ֵ: + C51 COMPILER V9.01 EXTE2PROM 02/06/2025 15:28:45 PAGE 7 + + 359 * : ȡRTCʱ䣺롢֡ʱա¡꣬ظUART + 360 *************************************************************************************************/ + 361 void Uart0RdRTC(void) + 362 { + 363 1 RTCReadTime(&RTC); + 364 1 MemoryCopy((U8 xdata *)&(RTC.Second), &ucUart0Buf[UART_DATA], 7); + 365 1 + 366 1 ucUart0Buf[UART_DATA+ucUart0Buf[UART_LENGTH]] = CRC8cal(&ucUart0Buf,ucUart0Buf[UART_LENGTH]+UART_DATA); + 367 1 Uart0SendData(); //Start Send Data; Set UART REG + 368 1 } + 369 + 370 + 371 /************************************************************************************************* + 372 * : Uart1RdRTC + 373 * : + 374 * ֵ: + 375 * : ȡRTCʱ䣺롢֡ʱա¡꣬ظUART + 376 *************************************************************************************************/ + 377 void Uart1RdRTC(void) + 378 { + 379 1 RTCReadTime(&RTC); + 380 1 MemoryCopy((U8 xdata *)&(RTC.Second), &ucUart1Buf[UART_DATA], 7); + 381 1 + 382 1 ucUart1Buf[UART_DATA+ucUart1Buf[UART_LENGTH]] = CRC8cal(&ucUart1Buf,ucUart1Buf[UART_LENGTH]+UART_DATA); + 383 1 Uart1SendData(); //Start Send Data; Set UART REG + 384 1 } + 385 + 386 /************************************************************************************************* + 387 * : Uart2RdRTC + 388 * : + 389 * ֵ: + 390 * : ȡRTCʱ䣺롢֡ʱա¡꣬ظUART + 391 *************************************************************************************************/ + 392 void Uart2RdRTC(void) + 393 { + 394 1 RTCReadTime(&RTC); + 395 1 MemoryCopy((U8 xdata *)&(RTC.Second), &ucUart2Buf[UART_DATA], 7); + 396 1 + 397 1 ucUart2Buf[UART_DATA+ucUart2Buf[UART_LENGTH]] = CRC8cal(&ucUart2Buf,ucUart2Buf[UART_LENGTH]+UART_DATA); + 398 1 Uart2SendData(); //Start Send Data; Set UART REG + 399 1 } + 400 + 401 /************************************************************************************************* + 402 * : E2PRomBKProcess + 403 * : + 404 * ֵ: + 405 * : EEPROMӦ + 406 *************************************************************************************************/ + 407 void E2PRomBKProcess(void) + 408 { + 409 1 U8 BKType; + 410 1 + 411 1 if(bEnEEPRomBK && bE2PProcessFlg) + 412 1 { + 413 2 bE2PProcessFlg = 0; + 414 2 // E2PRomInit(); + 415 2 // RTCInitTime(&RTC); + 416 2 + 417 2 if(bE2PErase) + 418 2 { + 419 3 bE2PErase = 0; + 420 3 E2PRomErase(); + C51 COMPILER V9.01 EXTE2PROM 02/06/2025 15:28:45 PAGE 8 + + 421 3 } + 422 2 + 423 2 if(bUart0E2PRdData||bUart1E2PRdData||bUart2E2PRdData) + 424 2 { + 425 3 if(bUart0E2PRdData ) + 426 3 { + 427 4 bUart0E2PRdData = 0; + 428 4 Uart0RdE2PRom(); + 429 4 } + 430 3 if(bUart1E2PRdData) + 431 3 { + 432 4 bUart1E2PRdData = 0; + 433 4 Uart2RdE2PRom(); + 434 4 } + 435 3 if(bUart2E2PRdData) + 436 3 { + 437 4 bUart2E2PRdData = 0; + 438 4 Uart2RdE2PRom(); + 439 4 } + 440 3 + 441 3 } + 442 2 + 443 2 if(bUart0RTCRdTime||bUart1RTCRdTime||bUart2RTCRdTime) + 444 2 { + 445 3 if(bUart0RTCRdTime) + 446 3 { + 447 4 bUart0RTCRdTime = 0; + 448 4 Uart0RdRTC(); + 449 4 } + 450 3 if(bUart1RTCRdTime) + 451 3 { + 452 4 bUart1RTCRdTime = 0; + 453 4 Uart1RdRTC(); + 454 4 } + 455 3 if(bUart2RTCRdTime) + 456 3 { + 457 4 bUart2RTCRdTime = 0; + 458 4 Uart2RdRTC(); + 459 4 } + 460 3 } + 461 2 + 462 2 if(bE2PBKRtc) + 463 2 { + 464 3 bE2PBKRtc = 0; + 465 3 E2PRomBKRTC(); + 466 3 } + 467 2 + 468 2 if(bE2PBKChgStart) + 469 2 { + 470 3 bE2PBKChgStart = 0; + 471 3 BKType = E2PROM_BKTYPE_CHG_START; + 472 3 E2PRomBKData(BKType); + 473 3 } + 474 2 + 475 2 if(bE2PBKChgStop) + 476 2 { + 477 3 bE2PBKChgStop = 0; + 478 3 BKType = E2PROM_BKTYPE_CHG_END; + 479 3 E2PRomBKData(BKType); + 480 3 } + 481 2 + 482 2 if(bE2PBKDsgEnd) + C51 COMPILER V9.01 EXTE2PROM 02/06/2025 15:28:45 PAGE 9 + + 483 2 { + 484 3 bE2PBKDsgEnd = 0; + 485 3 BKType = E2PROM_BKTYPE_DSG_END; + 486 3 E2PRomBKData(BKType); + 487 3 } + 488 2 } + 489 1 } + 490 + 491 + 492 /************************************************************************************************* + 493 * : E2PRomBKCheck + 494 * : + 495 * ֵ: + 496 * : ÿ1sǷҪRTCEEPROM + 497 *************************************************************************************************/ + 498 void E2PRomBKCheck(void) + 499 { + 500 1 if(bEnEEPRomBK) + 501 1 { + 502 2 // E2PRomInit(); + 503 2 // RTCInitTime(&RTC); + 504 2 + 505 2 if(++ucRTCBKTime1 >= E2ucRTCBKDelay) + 506 2 { + 507 3 ucRTCBKTime1 = 0; + 508 3 RTCReadTime(&RTC); + 509 3 } + 510 2 + 511 2 if(++uiRTCBKTime2 >= 3600) //1h + 512 2 { + 513 3 uiRTCBKTime2 = 0; + 514 3 bE2PProcessFlg = 1; + 515 3 bE2PBKRtc = 1; + 516 3 } + 517 2 + 518 2 if(!bCHGING) + 519 2 { + 520 3 bDsgToChgFlg = 1; + 521 3 if(bChgToDsgFlg) + 522 3 { + 523 4 bChgToDsgFlg = 0; + 524 4 bE2PProcessFlg = 1; + 525 4 bE2PBKChgStop = 1; + 526 4 } + 527 3 if(bUV && bE2PBKDsgEndValid) + 528 3 { + 529 4 bE2PBKDsgEndValid = 0; + 530 4 bE2PProcessFlg = 1; + 531 4 bE2PBKDsgEnd = 1; + 532 4 } + 533 3 else if(!bUV) + 534 3 { + 535 4 bE2PBKDsgEndValid = 1; + 536 4 } + 537 3 } + 538 2 + 539 2 if((bDsgToChgFlg && Info.slCurr>=E2siChgBKCur)) + 540 2 { + 541 3 if(!uiCHGValidTime) + 542 3 { + 543 4 RTCReadTime(&RTC); + 544 4 MemoryCopy((U8 xdata *)&RTC, ucRTCBuf, 7); + C51 COMPILER V9.01 EXTE2PROM 02/06/2025 15:28:45 PAGE 10 + + 545 4 } + 546 3 + 547 3 if(++uiCHGValidTime > ((U16)E2ucChgBKDelay*60)) //1 + 548 3 { + 549 4 uiCHGValidTime = 0; + 550 4 bChgToDsgFlg = 1; + 551 4 bDsgToChgFlg = 0; + 552 4 bE2PProcessFlg = 1; + 553 4 bE2PBKChgStart = 1; + 554 4 } + 555 3 } + 556 2 else + 557 2 { + 558 3 uiCHGValidTime = 0; + 559 3 } + 560 2 } + 561 1 } + + +MODULE INFORMATION: STATIC OVERLAYABLE + CODE SIZE = 1960 ---- + CONSTANT SIZE = ---- ---- + XDATA SIZE = 21 82 + PDATA SIZE = ---- ---- + DATA SIZE = ---- ---- + IDATA SIZE = 1 ---- + BIT SIZE = 11 3 +END OF MODULE INFORMATION. + + +C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S) diff --git a/output/ExtE2PRom.obj b/output/ExtE2PRom.obj new file mode 100644 index 0000000000000000000000000000000000000000..52e39fa782e257105b60c60d96371edd60a0241e GIT binary patch literal 88946 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 XzokdXp@nT7xgBCawI&>V_g()7EB}1` literal 0 HcmV?d00001 diff --git a/output/Flash.lst b/output/Flash.lst new file mode 100644 index 0000000..6e6e23b --- /dev/null +++ b/output/Flash.lst @@ -0,0 +1,242 @@ +C51 COMPILER V9.01 FLASH 12/22/2023 12:15:06 PAGE 1 + + +C51 COMPILER V9.01, COMPILATION OF MODULE FLASH +OBJECT MODULE PLACED IN .\output\Flash.obj +COMPILER INVOKED BY: C:\Keil_v5\C51\BIN\C51.EXE code_bootloader\Flash.c OPTIMIZE(8,SPEED) BROWSE INCDIR(.\header_bootloa + -der) DEBUG OBJECTEXTEND PRINT(.\output\Flash.lst) OBJECT(.\output\Flash.obj) + +line level source + + 1 /******************************************************************************** + 2 Copyright (C), Sinowealth Electronic. Ltd. + 3 Author: Sino + 4 Version: V0.0 + 5 Date: 2020/04/26 + 6 History: + 7 V2.0 2020/04/26 Preliminary + 8 ********************************************************************************/ + 9 #include "MCURegister.h" + 10 #include "C51_TYPE.H" + 11 #include "Flash.h" + 12 #include + 13 #include + 14 + 15 U8 ucMcuFlashWrValid; + 16 + 17 + 18 /************************************************************************************************* + 19 * : McuFlashEraseSector + 20 * : McuFlashAddrʼַMcuTypeCODEEEPROM + 21 * ֵ: + 22 * : Sector + 23 *************************************************************************************************/ + 24 void McuFlashEraseSector(U32 xdata McuFlashAddr, U8 xdata McuType) + 25 { + 26 1 FLASHCON = McuType; + 27 1 XPAGE = McuFlashAddr>>8; + 28 1 + 29 1 IB_CON1 = 0xE6; + 30 1 if(!EA) //ֹд + 31 1 { + 32 2 IB_CON2 = 0x05; + 33 2 if(FLASHCON == McuType) //ֹд + 34 2 { + 35 3 IB_CON3 = 0x0A; + 36 3 if(ucMcuFlashWrValid == 0x55) //ֹд + 37 3 { + 38 4 IB_CON4 = 0x09; + 39 4 if(XPAGE == (McuFlashAddr>>8)) //ֹд + 40 4 { + 41 5 IB_CON5 = 0x06; + 42 5 _nop_(); + 43 5 _nop_(); + 44 5 _nop_(); + 45 5 _nop_(); + 46 5 } + 47 4 } + 48 3 } + 49 2 } + 50 1 + 51 1 FLASHCON = MCU_TYPE_CODE; + 52 1 } + 53 + 54 + C51 COMPILER V9.01 FLASH 12/22/2023 12:15:06 PAGE 2 + + 55 /************************************************************************************************* + 56 * : McuFlashBlankCheck + 57 * : McuFlashAddrʼַ + 58 * ֵ: 0ȫ0Eraseʧܣ1ȫ0Eraseɹ + 59 * : Erase1SectorǷȫΪ0 + 60 *************************************************************************************************/ + 61 BOOL McuFlashBlankCheck(U32 xdata McuFlashAddr, U8 xdata McuType) + 62 { + 63 1 BOOL Result = 1; + 64 1 U16 i; + 65 1 + 66 1 FLASHCON = McuType; + 67 1 for(i=0; i>8; + 91 1 IB_OFFSET = McuFlashAddr % 256; + 92 1 + 93 1 IB_DATA = WrData; + 94 1 IB_CON1 = 0x6E; + 95 1 if(!EA) //ֹд + 96 1 { + 97 2 IB_CON2 = 0x05; + 98 2 if(FLASHCON == McuType) //ֹд + 99 2 { + 100 3 IB_CON3 = 0x0A; + 101 3 if(ucMcuFlashWrValid == 0x55) //ֹд + 102 3 { + 103 4 IB_CON4 = 0x09; + 104 4 if(XPAGE == (McuFlashAddr>>8)) //ֹд + 105 4 { + 106 5 IB_CON5 = 0x06; + 107 5 _nop_(); + 108 5 _nop_(); + 109 5 _nop_(); + 110 5 _nop_(); + 111 5 _nop_(); + 112 5 } + 113 4 } + 114 3 } + 115 2 } + 116 1 + C51 COMPILER V9.01 FLASH 12/22/2023 12:15:06 PAGE 3 + + 117 1 FLASHCON = MCU_TYPE_CODE; + 118 1 } + 119 + 120 + 121 /************************************************************************************************* + 122 * : McuFlashRdOneByte + 123 * : McuFlashAddrȡCODEĵַ + 124 * ֵ: صǰCodeֽ + 125 * : 1ֽ + 126 *************************************************************************************************/ + 127 U8 McuFlashRdOneByte(U32 xdata McuFlashAddr, U8 xdata McuType) + 128 { + 129 1 U8 GetData = 0; + 130 1 + 131 1 FLASHCON = McuType; + 132 1 GetData = CBYTE[McuFlashAddr]; + 133 1 FLASHCON = MCU_TYPE_CODE; + 134 1 return GetData; + 135 1 } + 136 + 137 + 138 /************************************************************************************************* + 139 * : BootProgram + 140 * : + 141 * ֵ: + 142 * : BootErase->Program->Verify + 143 ÿ1SectorдݣУ + 144 *************************************************************************************************/ + 145 U8 BootProgram(void) + 146 { + 147 1 U8 i, McuCode, McuFlashType; + 148 1 U16 j; + 149 1 U32 McuFlashAddr; + 150 1 + 151 1 for(i=0; iProgram->Verify + 193 *************************************************************************************************/ + 194 BOOL BootUpgradeCode(void) + 195 { + 196 1 BOOL Result = 1; + 197 1 + 198 1 if(BootProgram() == BOOT_PGR_OK) + 199 1 { + 200 2 McuFlashEraseSector(BOOT_FLG_START_ADDR, MCU_TYPE_CODE); //дɹԶ־λ + 201 2 Result = McuFlashBlankCheck(BOOT_FLG_START_ADDR, MCU_TYPE_CODE); //Ҫ + 202 2 } + 203 1 else + 204 1 { + 205 2 Result = 0; + 206 2 } + 207 1 + 208 1 return Result; + 209 1 } + 210 + + +MODULE INFORMATION: STATIC OVERLAYABLE + CODE SIZE = 617 ---- + CONSTANT SIZE = ---- ---- + XDATA SIZE = ---- ---- + PDATA SIZE = ---- ---- + DATA SIZE = 1 32 + IDATA SIZE = ---- ---- + BIT SIZE = ---- 2 +END OF MODULE INFORMATION. + + +C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S) diff --git a/output/Flash.obj b/output/Flash.obj new file mode 100644 index 0000000000000000000000000000000000000000..d160454255682088041479d4eff4ba240d66bf32 GIT binary patch literal 14172 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 literal 0 HcmV?d00001 diff --git a/output/GasGauge.lst b/output/GasGauge.lst new file mode 100644 index 0000000..47d0651 --- /dev/null +++ b/output/GasGauge.lst @@ -0,0 +1,308 @@ +C51 COMPILER V9.00 GASGAUGE 03/13/2023 18:09:38 PAGE 1 + + +C51 COMPILER V9.00, COMPILATION OF MODULE GASGAUGE +OBJECT MODULE PLACED IN .\output\GasGauge.obj +COMPILER INVOKED BY: C:\Keil_v5\C51\BIN\C51.EXE code_gasguage\GasGauge.c LARGE OPTIMIZE(7,SIZE) REGFILE(.\output\MCUCore + -_Load.ORC) BROWSE INTVECTOR(0X1000) INCDIR(.\header_app;.\header_drv;.\code_gasguage) DEBUG OBJECTEXTEND PRINT(.\output\ + -GasGauge.lst) OBJECT(.\output\GasGauge.obj) + +line level source + + 1 /******************************************************************************** + 2 Copyright (C), Sinowealth Electronic. Ltd. + 3 Author: Sino + 4 Version: V0.0 + 5 Date: 2020/05/30 + 6 History: + 7 V0.0 2020/05/30 Preliminary + 8 ********************************************************************************/ + 9 #include "Main.h" + 10 #include "math.h" + 11 + 12 + 13 //ͳصı + 14 BOOL bDsgEndFlg; + 15 BOOL bCHGEndFlg; + 16 BOOL bRSOCSlow; //SOCʼ + 17 BOOL bRSOCFast; //SOCʼӿ + 18 + 19 U16 idata uiRCCharge; //ͳ + 20 U16 idata uiRCDischarge; //ŵͳ + 21 U16 idata uiTempBK; //¶ȱ + 22 U8 idata ucCycleGain; //ݷŵٷֱ + 23 U16 xdata uiDfFCC; //˲ǰFCC + 24 U16 xdata uiDfRC; //˲ǰRC + 25 U16 xdata uiDfRSOC; //˲ǰRSOC + 26 U8 xdata ucDSGEndDelay; + 27 U8 xdata ucCHGEndDelay; + 28 U8 xdata ucDSGDelay1; + 29 U8 xdata ucDSGDelay2; + 30 U8 xdata ucRSOCCnt; + 31 S32 xdata slCur; + 32 + 33 + 34 /************************************************************************************************* + 35 * : GasGaugeInit + 36 * : + 37 * ֵ: + 38 * : һϵݵѹʼ + 39 *************************************************************************************************/ + 40 void GasGaugeInit(void) + 41 { + 42 1 U8 i; + 43 1 U16 RSOCtemp = 100; + 44 1 + 45 1 //ʼ + 46 1 bDsgEndFlg = 0; + 47 1 uiRCCharge = 0; + 48 1 uiRCDischarge = 0; + 49 1 uiTempBK = 0; + 50 1 ucCycleGain = 0; + 51 1 uiDfFCC = 0; + 52 1 uiDfRC = 0; + 53 1 uiDfRSOC = 0; + C51 COMPILER V9.00 GASGAUGE 03/13/2023 18:09:38 PAGE 2 + + 54 1 ucDSGEndDelay = 0; + 55 1 ucCHGEndDelay = 0; + 56 1 ucDSGDelay1 = 0; + 57 1 ucDSGDelay2 = 0; + 58 1 bRSOCSlow = 0; + 59 1 bRSOCFast = 0; + 60 1 //ʼ + 61 1 for(i=0; i<10; i++) //Prejudge capacity according to initial voltage + 62 1 { + 63 2 if(uiCellVmax < E2uiVOC[i]) + 64 2 { + 65 3 if(i == 0) + 66 3 { + 67 4 if((uiCellVmax= E2uiVOC[7]) //ֹٶϵϵ磬RSOCı + 86 1 { + 87 2 RSOCtemp = 100; + 88 2 } + 89 1 + 90 1 if(RSOCtemp>E2ucSOC) + 91 1 { + 92 2 RSOCtemp = E2ucSOC; + 93 2 } + 94 1 else + 95 1 { + 96 2 if((E2ucSOC-RSOCtemp) > INTSOCDIF) + 97 2 { + 98 3 E2ucSOC = RSOCtemp; + 99 3 } + 100 2 else + 101 2 { + 102 3 RSOCtemp = E2ucSOC; + 103 3 } + 104 2 } + 105 1 + 106 1 Info.uiRSOC = RSOCtemp; + 107 1 Info.ulFCC = E2ulLastFCC; + 108 1 Info.ulRC = (U32)Info.ulFCC*Info.uiRSOC/100; + 109 1 + 110 1 uiDfFCC = Info.ulFCC; //uiDfFCC/uiDfRC/uiDfRSOCΪ˲ǰIJ + -ʼʱû˲ + 111 1 uiDfRC = Info.ulRC; + 112 1 uiDfRSOC = Info.uiRSOC *10; + 113 1 + 114 1 if(E2uiCycleCount>CYCLECOUNTC) //ѭFCC޵ϵ + C51 COMPILER V9.00 GASGAUGE 03/13/2023 18:09:38 PAGE 3 + + 115 1 { + 116 2 ucCycleGain=75; + 117 2 } + 118 1 else if(E2uiCycleCount>CYCLECOUNTB) + 119 1 { + 120 2 ucCycleGain=95 - E2uiCycleCount/5; + 121 2 } + 122 1 else if(E2uiCycleCount>CYCLECOUNTA) + 123 1 { + 124 2 ucCycleGain=105 - E2uiCycleCount/10; + 125 2 } + 126 1 else + 127 1 { + 128 2 ucCycleGain=100; + 129 2 } + 130 1 + 131 1 uiTempBK = 0; //֤ŵͼһFCC + 132 1 ucDSGEndDelay = 0; + 133 1 ucDSGDelay1 = 0; + 134 1 ucDSGDelay2 = 0; + 135 1 bDsgEndFlg = 0; + 136 1 ucCHGEndDelay = 0; + 137 1 } + 138 + 139 + 140 /************************************************************************************************* + 141 * : GasGaugeManage + 142 * : + 143 * ֵ: + 144 * : ݳŵ״̬ͳ + 145 *************************************************************************************************/ + 146 void GasGaugeManage(void) + 147 { + 148 1 U16 xdata chgdffcc = 0; + 149 1 + 150 1 slCur=0; + 151 1 + 152 1 if(Info.slCurr > E2siDfilterCur) //е + 153 1 { + 154 2 ucDSGEndDelay = 0; + 155 2 ucDSGDelay1 = 0; + 156 2 ucDSGDelay2 = 0; + 157 2 bDsgEndFlg = 0; + 158 2 + 159 2 chgdffcc = E2ulChgFCC*ucCycleGain/100; //FCCһֱֲı + 160 2 + 161 2 if(chgdffcc != uiDfFCC) // + 162 2 { + 163 3 uiDfRC = (U16)(chgdffcc*Info.uiRSOC/100); + 164 3 IrqUartDis(); + 165 3 Info.ulRC = uiDfRC; + 166 3 IrqUartEn(); + 167 3 } + 168 2 uiDfFCC = chgdffcc; + 169 2 + 170 2 uiRCCharge += slCadcCurAverage; //ÿ1Sһεÿμϵֵÿ + -1SĵmAS + 171 2 while(uiRCCharge >= mAhVALUE) //ۼӵ3600mAS1mAh + 172 2 { + 173 3 uiRCCharge -= mAhVALUE; + 174 3 if(uiDfRC < uiDfFCC) + 175 3 { + C51 COMPILER V9.00 GASGAUGE 03/13/2023 18:09:38 PAGE 4 + + 176 4 uiDfRC++; //ʣ1mAh + 177 4 } + 178 3 else + 179 3 { + 180 4 uiDfRC = uiDfFCC; //ʣ + 181 4 uiRCCharge = 0; + 182 4 } + 183 3 } + 184 2 + 185 2 if(uiDfRC < uiDfFCC) + 186 2 { + 187 3 uiDfRSOC = (U32)uiDfRC*1000/uiDfFCC; + 188 3 } + 189 2 else + 190 2 { + 191 3 uiDfRSOC = 1000; + 192 3 } + 193 2 + 194 2 if(slCadcCurAverage < E2siChgEndCurr) //ֹжϣʱĵСڳֹ + - + 195 2 { + 196 3 if(uiCellVmax>E2uiChgEndVol) //ʱĵѹڳֹѹ + 197 3 { + 198 4 if(++ucCHGEndDelay>=E2ucChgEndDelay) + 199 4 { + 200 5 ucCHGEndDelay = E2ucChgEndDelay; + 201 5 bCHGEndFlg = 1; + 202 5 } + 203 4 } + 204 3 } + 205 2 + 206 2 CorrectCHGSOC(); //EEPROMеĵѹ㣬еSO + -C,ͬʱҪuiDfRC + 207 2 + 208 2 } + 209 1 else if(Info.slCurr < -E2siDfilterCur) //ŵм + 210 1 { + 211 2 ucCHGEndDelay = 0; + 212 2 bCHGEndFlg = 0; + 213 2 + 214 2 slCur = slCadcCurAverage /*+ slAdcCur2*/; //ŵͬʱ·ػ·ĵ + 215 2 if(slCur<0) + 216 2 { + 217 3 uiRCDischarge -= slCur; + 218 3 } + 219 2 if(uiRCDischarge >= mAhVALUE) + 220 2 { + 221 3 while(uiRCDischarge >= mAhVALUE) //ۼӵķŵ3600mASͬʣ1mAh + 222 3 { + 223 4 uiRCDischarge -= mAhVALUE; + 224 4 E2ulCycleThresholdCount++; //ۼ + 225 4 if(uiDfRC > 1) + 226 4 { + 227 5 uiDfRC --; + 228 5 } + 229 4 } + 230 3 if(E2ulCycleThresholdCount >= E2ulCycleThreshold) //cyclecount + 231 3 { + 232 4 E2ulCycleThresholdCount -= E2ulCycleThreshold; + 233 4 E2uiCycleCount++; + 234 4 } + 235 3 } + C51 COMPILER V9.00 GASGAUGE 03/13/2023 18:09:38 PAGE 5 + + 236 2 + 237 2 CorrectDSGSOC(); + 238 2 } + 239 1 + 240 1 if(bOV) //Charge end + 241 1 { + 242 2 IrqUartDis(); + 243 2 uiDfRC = uiDfFCC; + 244 2 Info.ulRC = uiDfRC; + 245 2 Info.ulFCC = Info.ulRC; + 246 2 Info.uiRSOC = 100; + 247 2 IrqUartEn(); + 248 2 } + 249 1 + 250 1 if(uiDfRC>uiDfFCC) + 251 1 { + 252 2 uiDfRC = uiDfFCC; + 253 2 } + 254 1 else if(uiDfRC <(uiDfFCC*2/100)) + 255 1 { + 256 2 uiDfRC = uiDfFCC*2/100; + 257 2 } + 258 1 uiDfRSOC=(U32)uiDfRC*1000/uiDfFCC; + 259 1 + 260 1 DataFilter(); + 261 1 + 262 1 IrqUartDis(); + 263 1 E2ucSOC = Info.uiRSOC; + 264 1 E2ulLastFCC = Info.ulFCC; + 265 1 Info.uiCycleCount = E2uiCycleCount; + 266 1 IrqUartEn(); + 267 1 } + 268 + 269 + 270 + 271 + + +MODULE INFORMATION: STATIC OVERLAYABLE + CODE SIZE = 1410 ---- + CONSTANT SIZE = ---- ---- + XDATA SIZE = 15 3 + PDATA SIZE = ---- ---- + DATA SIZE = ---- ---- + IDATA SIZE = 7 ---- + BIT SIZE = 4 ---- +END OF MODULE INFORMATION. + + +C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S) diff --git a/output/GasGauge.obj b/output/GasGauge.obj new file mode 100644 index 0000000000000000000000000000000000000000..a573fa0ad7810da19dccf8b6df8096ad35450d89 GIT binary patch literal 69760 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

    _NuZ53cBqqY=+&mIK_4*R_Spk0= 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 F{{uUv^vVDL literal 0 HcmV?d00001 diff --git a/output/IapIsp.lst b/output/IapIsp.lst new file mode 100644 index 0000000..b7096fa --- /dev/null +++ b/output/IapIsp.lst @@ -0,0 +1,855 @@ +C51 COMPILER V9.01 IAPISP 12/22/2023 12:15:06 PAGE 1 + + +C51 COMPILER V9.01, COMPILATION OF MODULE IAPISP +OBJECT MODULE PLACED IN .\output\IapIsp.obj +COMPILER INVOKED BY: C:\Keil_v5\C51\BIN\C51.EXE code_bootloader\IapIsp.c OPTIMIZE(8,SPEED) BROWSE INCDIR(.\header_bootlo + -ader) DEBUG OBJECTEXTEND PRINT(.\output\IapIsp.lst) OBJECT(.\output\IapIsp.obj) + +line level source + + 1 /******************************************************************************** + 2 Copyright (C), Sinowealth Electronic. Ltd. + 3 Author: Sino + 4 Version: V0.0 + 5 Date: 2020/04/26 + 6 History: + 7 V2.0 2020/04/26 Preliminary + 8 ********************************************************************************/ + 9 #include "MCURegister.h" + 10 #include "C51_TYPE.H" + 11 #include "Flash.h" + 12 #include "IapIsp.h" + 13 + 14 BOOL bIapIspFlg; //0ʾǰִIAP1ʾǰִISP + 15 BOOL bHandsheakOkFlg; + 16 BOOL bUartSndOverFlg; + 17 U16 uiUartRcvChkSum; + 18 U8 ucUartErrCode; + 19 U8 ucUartBufPT; + 20 U32 ulIapDataPtr; + 21 U32 ulIapChksum; + 22 U32 ulIapRecDataLen; + 23 U8 ucIapIndexBk; + 24 U8 ucIapRestCommand; + 25 U8 xdata ucUartBuf[150]; + 26 U8 xdata ucIapBuf[MCU_CODE_SECTOR_SIZE]; + 27 + 28 extern void UARTInit(void); + 29 /************************************************************************************************* + 30 * : UartSendAck + 31 * : + 32 * ֵ: + 33 * : Slaveݲɺ󣬿ʼ + 34 *************************************************************************************************/ + 35 void UartSendAck(void) + 36 { + 37 1 U8 i, DataBak; + 38 1 U16 CheckSum = 0; + 39 1 + 40 1 ucUartBuf[LENGTH] = 0x00; + 41 1 ucUartBuf[COMMAND] = 0x0B; + 42 1 + 43 1 DataBak = ucUartBuf[SOURCE]; //ԴIDĿID + 44 1 ucUartBuf[SOURCE] = ucUartBuf[TARGET]; + 45 1 ucUartBuf[TARGET] = DataBak; + 46 1 + 47 1 for(i=2; i<(ucUartBuf[LENGTH]+7); i++) + 48 1 { + 49 2 CheckSum += ucUartBuf[i]; + 50 2 } + 51 1 + 52 1 ucUartBuf[7+ucUartBuf[LENGTH]] = (U8)CheckSum; + 53 1 ucUartBuf[8+ucUartBuf[LENGTH]] = (U8)(CheckSum>>8); + 54 1 + C51 COMPILER V9.01 IAPISP 12/22/2023 12:15:06 PAGE 2 + + 55 1 bUartSndOverFlg = 0; + 56 1 UartTxEn(ucUartBuf[ucUartBufPT]); + 57 1 } + 58 + 59 + 60 /************************************************************************************************* + 61 * : IapHandShake + 62 * : + 63 * ֵ: + 64 * : Э飬IAPISPд + 65 bIapIspFlg: 0--IAP1--ISP + 66 *************************************************************************************************/ + 67 void IapHandShake(void) + 68 { + 69 1 ucUartBuf[INDEXES] = 0; + 70 1 if(ucUartBuf[DATA]=='I' && ucUartBuf[DATA+1]=='A' && ucUartBuf[DATA+2]=='P') + 71 1 { + 72 2 bIapIspFlg = IAP_MODE; + 73 2 bHandsheakOkFlg = 1; + 74 2 } + 75 1 else if(ucUartBuf[DATA]=='I' && ucUartBuf[DATA+1]=='S' && ucUartBuf[DATA+2]=='P') + 76 1 { + 77 2 bIapIspFlg = ISP_MODE; + 78 2 bHandsheakOkFlg = 1; + 79 2 } + 80 1 else + 81 1 { + 82 2 ucUartBuf[INDEXES] = IAPERROR_HANDSHAKE; //ʧ + 83 2 bHandsheakOkFlg = 0; + 84 2 } + 85 1 } + 86 + 87 + 88 /************************************************************************************************* + 89 * : IapBeginAck + 90 * : + 91 * ֵ: + 92 * : IAPISPʼCODEı30K + 93 *************************************************************************************************/ + 94 void IapBeginAck(void) + 95 { + 96 1 U8 i, SectorNum, McuFlashType; + 97 1 U32 McuFlashAddr; + 98 1 + 99 1 ulIapDataPtr = 0; + 100 1 ulIapChksum = 0; + 101 1 ulIapRecDataLen = 0; + 102 1 ulIapRecDataLen = ((U32)ucUartBuf[DATA+3]<<24) //ݳ + 103 1 | ((U32)ucUartBuf[DATA+2]<<16) + 104 1 | ((U32)ucUartBuf[DATA+1]<<8) + 105 1 | (U32)ucUartBuf[DATA]; + 106 1 + 107 1 if(!bHandsheakOkFlg) + 108 1 { + 109 2 ucUartBuf[INDEXES] = IAPERROR_HANDSHAKE; //ʧ + 110 2 } + 111 1 + 112 1 if((ulIapRecDataLen > IAP_BK_CODE_SIZE) && (bIapIspFlg == IAP_MODE)) + 113 1 { + 114 2 ucUartBuf[INDEXES] = IAPERROR_SIZE; //ݳȲIAPISPȣ + -ĬΪ쳣 + 115 2 } + C51 COMPILER V9.01 IAPISP 12/22/2023 12:15:06 PAGE 3 + + 116 1 else if((ulIapRecDataLen > ISP_CODE_SIZE) && (bIapIspFlg == ISP_MODE)) + 117 1 { + 118 2 ucUartBuf[INDEXES] = IAPERROR_SIZE; //ݳȲIAPISPȣ + -ĬΪ쳣 + 119 2 } + 120 1 else + 121 1 { + 122 2 ucUartBuf[INDEXES] = 0; //Ԥظɹ + 123 2 ucIapIndexBk = 0; + 124 2 + 125 2 //1. ǰISPȲBOOTı־ȻBOOT_FLG_ISP_ADDдISP_FLG־0xA5 + 126 2 ucMcuFlashWrValid = 0x55; //MCU Codeɲ־ + -ֹд + 127 2 McuFlashEraseSector(BOOT_FLG_START_ADDR, MCU_TYPE_CODE); + 128 2 if(McuFlashBlankCheck(BOOT_FLG_START_ADDR, MCU_TYPE_CODE)) //Ҫ + 129 2 { + 130 3 if(bIapIspFlg == ISP_MODE) + 131 3 { + 132 4 McuFlashWrOneByte(BOOT_FLG_ISP_ADDR, ISP_FLG, MCU_TYPE_CODE); + 133 4 if(McuFlashRdOneByte(BOOT_FLG_ISP_ADDR, MCU_TYPE_CODE) != ISP_FLG) + 134 4 { + 135 5 ucUartBuf[INDEXES] = IAPERROR_WR; //Writeʧ + 136 5 } + 137 4 } + 138 3 } + 139 2 else + 140 2 { + 141 3 ucUartBuf[INDEXES] = IAPERROR_ERASE; //Eraseʧ + 142 3 } + 143 2 ucMcuFlashWrValid = 0; + 144 2 + 145 2 //2. IAPISPȲSectorISPҪEEPROM + 146 2 if(ucUartBuf[INDEXES] == 0) //ucUartBuf[INDEXES] + 147 2 { + 148 3 SectorNum = ulIapRecDataLen/MCU_CODE_SECTOR_SIZE; + 149 3 for(i=0; i=(SectorNum-APP_PARA_SIZE/MCU_CODE_SECTOR_SIZE)) //EEPROMsector + 165 5 { + 166 6 McuFlashType = MCU_TYPE_E2P; + 167 6 McuFlashAddr = (U16)(i+APP_PARA_SIZE/MCU_CODE_SECTOR_SIZE-SectorNum)*512; + 168 6 } + 169 5 } + 170 4 + 171 4 ucMcuFlashWrValid = 0x55; //MCU Codeɲ־ֹд + 172 4 McuFlashEraseSector(McuFlashAddr, McuFlashType); + 173 4 if(!McuFlashBlankCheck(McuFlashAddr, McuFlashType)) //Ҫ + 174 4 { + 175 5 ucUartBuf[INDEXES] = IAPERROR_ERASE; //Eraseʧ + C51 COMPILER V9.01 IAPISP 12/22/2023 12:15:06 PAGE 4 + + 176 5 } + 177 4 ucMcuFlashWrValid = 0; + 178 4 } + 179 3 } + 180 2 else + 181 2 { + 182 3 ucUartBuf[INDEXES] = IAPERROR_INDEX; + 183 3 } + 184 2 } + 185 1 } + 186 + 187 + 188 /************************************************************************************************* + 189 * : IapWrSector + 190 * : + 191 * ֵ: + 192 * : д1Sector + 193 *************************************************************************************************/ + 194 BOOL IapWrSector(void) + 195 { + 196 1 BOOL Result = 1; + 197 1 U16 i; + 198 1 U32 McuFlashAddr; + 199 1 U8 McuFlashType; + 200 1 + 201 1 for(i=0; i= (ulIapRecDataLen+BOOT_CODE_SIZE-APP_PARA_SIZE)) + 208 3 { + 209 4 McuFlashAddr = McuFlashAddr - (ulIapRecDataLen+BOOT_CODE_SIZE-APP_PARA_SIZE); + 210 4 McuFlashType = MCU_TYPE_E2P; //ISPEEPROM + 211 4 } + 212 3 } + 213 2 else + 214 2 { + 215 3 McuFlashAddr = IAP_BK_CODE_START_ADDR + ulIapDataPtr; + 216 3 } + 217 2 McuFlashWrOneByte(McuFlashAddr, ucIapBuf[i], McuFlashType); + 218 2 if(ucIapBuf[i] != McuFlashRdOneByte(McuFlashAddr, McuFlashType)) + 219 2 { + 220 3 Result = 0; + 221 3 break; + 222 3 } + 223 2 ulIapDataPtr++; + 224 2 } + 225 1 + 226 1 return Result; + 227 1 } + 228 + 229 + 230 /************************************************************************************************* + 231 * : IapReceiveData + 232 * : + 233 * ֵ: + 234 * : ݣͬʱдMCU CODE + 235 *************************************************************************************************/ + 236 void IapReceiveData(void) + 237 { + C51 COMPILER V9.01 IAPISP 12/22/2023 12:15:06 PAGE 5 + + 238 1 U16 i; + 239 1 U8 j; + 240 1 U32 McuFlashAddr; + 241 1 U8 McuFlashType; + 242 1 + 243 1 bHandsheakOkFlg = 0; + 244 1 + 245 1 if( ((ucUartBuf[INDEXES](ucIapIndexBk+4))) && (ucUartBuf[INDEXES + -] != 0) ) //yangweilei + 246 1 { + 247 2 ucUartBuf[INDEXES] = IAPERROR_INDEX; //жǷ + -жǷ񳬳Χ + 248 2 } + 249 1 else + 250 1 { + 251 2 ucIapIndexBk = ucUartBuf[INDEXES]; + 252 2 ucUartBuf[INDEXES] = 0; + 253 2 if(ucUartBuf[LENGTH] == 0) + 254 2 { + 255 3 ulIapDataPtr += 512; //ݵijΪ0ʾǰ128ֽ + -0ָӣд(150mS/1K) + 256 3 } + 257 2 else + 258 2 { + 259 3 j = ucIapIndexBk % 4; //ĿǰݶsectorΪ512bytesÿδ + -128bytesԶΪ4 + 260 3 for(i=0; i= MCU_CODE_SECTOR_SIZE) + 270 5 { + 271 6 ulIapDataPtr -= MCU_CODE_SECTOR_SIZE; //ָ뷵صSectorʼ + 272 6 } + 273 5 else + 274 5 { + 275 6 ulIapDataPtr = 0; + 276 6 } + 277 5 + 278 5 McuFlashType = MCU_TYPE_CODE; //ĬCODE + 279 5 if(bIapIspFlg == ISP_MODE) //ISP + 280 5 { + 281 6 McuFlashAddr = ISP_CODE_START_ADDR + ulIapDataPtr; + 282 6 if(McuFlashAddr >= (ulIapRecDataLen+BOOT_CODE_SIZE-APP_PARA_SIZE)) + 283 6 { + 284 7 McuFlashAddr = McuFlashAddr - (ulIapRecDataLen+BOOT_CODE_SIZE-APP_PARA_SIZE); + 285 7 McuFlashType = MCU_TYPE_E2P; //ISPEEPROM + 286 7 } + 287 6 } + 288 5 else + 289 5 { + 290 6 McuFlashAddr = IAP_BK_CODE_START_ADDR + ulIapDataPtr; + 291 6 } + 292 5 ucMcuFlashWrValid = 0x55; + 293 5 McuFlashEraseSector(McuFlashAddr, McuFlashType); + 294 5 if(McuFlashBlankCheck(McuFlashAddr, McuFlashType)) //Ҫ + C51 COMPILER V9.01 IAPISP 12/22/2023 12:15:06 PAGE 6 + + 295 5 { + 296 6 if(!IapWrSector()) //дδ򷵻ظλ쳣 + 297 6 { + 298 7 ucUartBuf[INDEXES] = IAPERROR_WR; //д + 299 7 } + 300 6 else + 301 6 { + 302 7 goto UpdateChksum; + 303 7 } + 304 6 } + 305 5 else + 306 5 { + 307 6 ucUartBuf[INDEXES] = IAPERROR_ERASE; // + 308 6 } + 309 5 } + 310 4 else //512BytesдȷŸchecksumֵ + 311 4 { + 312 5 UpdateChksum: + 313 5 for(j=0; j= 1)&&(UART_DEFINE<= 30)) + 452 2 { + 453 3 if(RI) + 454 3 { + 455 4 //BootMcuWdtClear(); //ڸóѭУδյUARTͨѶ + -жͨѶ쳣Ź + 456 4 ucUartBuf[ucUartBufPT] = SBUF; + 457 4 ucUartBufPT++; + 458 4 if(ucUartBufPT >= 140) //ָ벻ᳬ140 + 459 4 { + 460 5 ucUartBufPT = 0; + 461 5 } + 462 4 if(ucUartBufPT == 1) + 463 4 { + 464 5 if(ucUartBuf[HEARD1] != 0x5A) //֡ͷǷWie0x5AA5 + 465 5 { + 466 6 ucUartBufPT = 0; + 467 6 } + 468 5 + 469 5 } + 470 4 else if(ucUartBufPT == 2) + 471 4 { + 472 5 + 473 5 if(ucUartBuf[HEARD2] != 0xA5) + 474 5 { + 475 6 ucUartBufPT = 0; + 476 6 } + C51 COMPILER V9.01 IAPISP 12/22/2023 12:15:06 PAGE 9 + + 477 5 else + 478 5 { + 479 6 uiUartRcvChkSum = 0; //֡ͷжȷ + 480 6 ucUartErrCode = 0; + 481 6 } + 482 5 } + 483 4 else + 484 4 { + 485 5 + 486 5 if(ucUartBufPT < (ucUartBuf[LENGTH]+9)) + 487 5 { + 488 6 if(ucUartBufPT <= (ucUartBuf[LENGTH]+7)) + 489 6 { + 490 7 uiUartRcvChkSum += ucUartBuf[ucUartBufPT-1]; + 491 7 } + 492 6 + 493 6 if(ucUartBufPT == (TARGET+1)) //ID + 494 6 { + 495 7 + 496 7 if(ucUartBuf[TARGET] != IAP_BMSID) + 497 7 { + 498 8 ucUartBufPT = 0; + 499 8 } + 500 7 } + 501 6 else if(ucUartBufPT == (COMMAND+1)) //COMMAND + 502 6 { + 503 7 if((ucUartBuf[COMMAND] != IAP_CMD_HANDSHAKE) + 504 7 && (ucUartBuf[COMMAND] != IAP_CMD_BEGIN) + 505 7 && (ucUartBuf[COMMAND] != IAP_CMD_TRANS) + 506 7 && (ucUartBuf[COMMAND] != IAP_CMD_VERIFY) + 507 7 && (ucUartBuf[COMMAND] != IAP_CMD_RESET)) + 508 7 { + 509 8 ucUartErrCode |= IAPERROR_CMD; + 510 8 } + 511 7 } + 512 6 } + 513 5 else + 514 5 { + 515 6 BootMcuWdtClear(); + 516 6 UartCmdProcess(); + 517 6 } + 518 5 } + 519 4 RI = 0; + 520 4 } + 521 3 + 522 3 if(TI) + 523 3 { + 524 4 BootMcuWdtClear(); //ڸóѭУδյUARTͨѶ + -жͨѶ쳣Ź + 525 4 + 526 4 if(ucUartBufPT >= (ucUartBuf[LENGTH]+8)) + 527 4 { + 528 5 UartRxEn(); //Allow UART receive data + 529 5 ucUartBufPT = 0; + 530 5 ucUartBuf[0] = 0; + 531 5 ucUartBuf[1] = 0; + 532 5 ucUartBuf[2] = 0; + 533 5 bUartSndOverFlg = 1; + 534 5 } + 535 4 else + 536 4 { + 537 5 ucUartBufPT++; + C51 COMPILER V9.01 IAPISP 12/22/2023 12:15:06 PAGE 10 + + 538 5 UartTxEn(ucUartBuf[ucUartBufPT]); + 539 5 } + 540 4 + 541 4 TI = 0; + 542 4 } + 543 3 + 544 3 if(ucIapRestCommand == IAP_CMD_RESET) + 545 3 { + 546 4 BootMcuWdtClear(); + 547 4 if(bUartSndOverFlg) //Reset֡ظ + 548 4 { + 549 5 bUartSndOverFlg = 0; + 550 5 ucIapRestCommand = 0; + 551 5 ((void(code*)(void))0x0000)(); + 552 5 } + 553 4 } + 554 3 } + 555 2 #elif ((UART_DEFINE >= 31)&&(UART_DEFINE<= 60)) + { + INSCON = 0x40; + if(RI1) + { + //BootMcuWdtClear(); //ڸóѭУδյUARTͨѶ + -жͨѶ쳣Ź + ucUartBuf[ucUartBufPT] = SBUF1; + INSCON = 0x00; + ucUartBufPT++; + if(ucUartBufPT >= 140) //ָ벻ᳬ140 + { + ucUartBufPT = 0; + } + if(ucUartBufPT == 1) + { + if(ucUartBuf[HEARD1] != 0x5A) //֡ͷǷWie0x5AA5 + { + ucUartBufPT = 0; + } + + } + else if(ucUartBufPT == 2) + { + + if(ucUartBuf[HEARD2] != 0xA5) + { + ucUartBufPT = 0; + } + else + { + uiUartRcvChkSum = 0; //֡ͷжȷ + ucUartErrCode = 0; + } + } + else + { + + if(ucUartBufPT < (ucUartBuf[LENGTH]+9)) + { + if(ucUartBufPT <= (ucUartBuf[LENGTH]+7)) + { + uiUartRcvChkSum += ucUartBuf[ucUartBufPT-1]; + } + + C51 COMPILER V9.01 IAPISP 12/22/2023 12:15:06 PAGE 11 + + if(ucUartBufPT == (TARGET+1)) //ID + { + + if(ucUartBuf[TARGET] != IAP_BMSID) + { + ucUartBufPT = 0; + } + } + else if(ucUartBufPT == (COMMAND+1)) //COMMAND + { + if((ucUartBuf[COMMAND] != IAP_CMD_HANDSHAKE) + && (ucUartBuf[COMMAND] != IAP_CMD_BEGIN) + && (ucUartBuf[COMMAND] != IAP_CMD_TRANS) + && (ucUartBuf[COMMAND] != IAP_CMD_VERIFY) + && (ucUartBuf[COMMAND] != IAP_CMD_RESET)) + { + ucUartErrCode |= IAPERROR_CMD; + } + } + } + else + { + BootMcuWdtClear(); + UartCmdProcess(); + } + } + INSCON = 0x40; + RI1 = 0; + INSCON = 0x00; + } + INSCON = 0x40; + + if(TI1) + { + INSCON = 0x00; + BootMcuWdtClear(); //ڸóѭУδյUARTͨѶ + -жͨѶ쳣Ź + + if(ucUartBufPT >= (ucUartBuf[LENGTH]+8)) + { + UartRxEn(); //Allow UART receive data + ucUartBufPT = 0; + ucUartBuf[0] = 0; + ucUartBuf[1] = 0; + ucUartBuf[2] = 0; + bUartSndOverFlg = 1; + } + else + { + ucUartBufPT++; + UartTxEn(ucUartBuf[ucUartBufPT]); + } + INSCON = 0x40; + + TI1 = 0; + INSCON = 0x00; + } + + if(ucIapRestCommand == IAP_CMD_RESET) + { + BootMcuWdtClear(); + if(bUartSndOverFlg) //Reset֡ظ + C51 COMPILER V9.01 IAPISP 12/22/2023 12:15:06 PAGE 12 + + { + bUartSndOverFlg = 0; + ucIapRestCommand = 0; + ((void(code*)(void))0x0000)(); + } + } + } + #elif ( UART_DEFINE == 61) + { + INSCON = 0x40; + if(RI2) + { + //BootMcuWdtClear(); //ڸóѭУδյUARTͨѶ + -жͨѶ쳣Ź + ucUartBuf[ucUartBufPT] = SBUF2; + INSCON = 0x00; + ucUartBufPT++; + if(ucUartBufPT >= 140) //ָ벻ᳬ140 + { + ucUartBufPT = 0; + } + if(ucUartBufPT == 1) + { + if(ucUartBuf[HEARD1] != 0x5A) //֡ͷǷWie0x5AA5 + { + ucUartBufPT = 0; + } + + } + else if(ucUartBufPT == 2) + { + + if(ucUartBuf[HEARD2] != 0xA5) + { + ucUartBufPT = 0; + } + else + { + uiUartRcvChkSum = 0; //֡ͷжȷ + ucUartErrCode = 0; + } + } + else + { + + if(ucUartBufPT < (ucUartBuf[LENGTH]+9)) + { + if(ucUartBufPT <= (ucUartBuf[LENGTH]+7)) + { + uiUartRcvChkSum += ucUartBuf[ucUartBufPT-1]; + } + + if(ucUartBufPT == (TARGET+1)) //ID + { + + if(ucUartBuf[TARGET] != IAP_BMSID) + { + ucUartBufPT = 0; + } + } + else if(ucUartBufPT == (COMMAND+1)) //COMMAND + { + C51 COMPILER V9.01 IAPISP 12/22/2023 12:15:06 PAGE 13 + + if((ucUartBuf[COMMAND] != IAP_CMD_HANDSHAKE) + && (ucUartBuf[COMMAND] != IAP_CMD_BEGIN) + && (ucUartBuf[COMMAND] != IAP_CMD_TRANS) + && (ucUartBuf[COMMAND] != IAP_CMD_VERIFY) + && (ucUartBuf[COMMAND] != IAP_CMD_RESET)) + { + ucUartErrCode |= IAPERROR_CMD; + } + } + } + else + { + BootMcuWdtClear(); + UartCmdProcess(); + } + } + INSCON = 0x40; + RI2 = 0; + INSCON = 0x00; + } + INSCON = 0x40; + + if(TI2) + { + INSCON = 0x00; + BootMcuWdtClear(); //ڸóѭУδյUARTͨѶ + -жͨѶ쳣Ź + + if(ucUartBufPT >= (ucUartBuf[LENGTH]+8)) + { + UartRxEn(); //Allow UART receive data + ucUartBufPT = 0; + ucUartBuf[0] = 0; + ucUartBuf[1] = 0; + ucUartBuf[2] = 0; + bUartSndOverFlg = 1; + } + else + { + ucUartBufPT++; + UartTxEn(ucUartBuf[ucUartBufPT]); + } + INSCON = 0x40; + + TI2 = 0; + INSCON = 0x00; + } + + if(ucIapRestCommand == IAP_CMD_RESET) + { + BootMcuWdtClear(); + if(bUartSndOverFlg) //Reset֡ظ + { + bUartSndOverFlg = 0; + ucIapRestCommand = 0; + ((void(code*)(void))0x0000)(); + } + } + } + #endif + 780 2 } + 781 1 } + C51 COMPILER V9.01 IAPISP 12/22/2023 12:15:06 PAGE 14 + + 782 + 783 + 784 + 785 + 786 + 787 + 788 + + +MODULE INFORMATION: STATIC OVERLAYABLE + CODE SIZE = 2211 ---- + CONSTANT SIZE = ---- ---- + XDATA SIZE = 662 ---- + PDATA SIZE = ---- ---- + DATA SIZE = 18 24 + IDATA SIZE = ---- ---- + BIT SIZE = 3 1 +END OF MODULE INFORMATION. + + +C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S) diff --git a/output/IapIsp.obj b/output/IapIsp.obj new file mode 100644 index 0000000000000000000000000000000000000000..aed0c79441bc37dc3eb9390691f6b6cb60971681 GIT binary patch literal 29512 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 literal 0 HcmV?d00001 diff --git a/output/InterruptApp.lst b/output/InterruptApp.lst new file mode 100644 index 0000000..65d3d0f --- /dev/null +++ b/output/InterruptApp.lst @@ -0,0 +1,98 @@ +C51 COMPILER V9.01 INTERRUPTAPP 02/06/2025 15:28:45 PAGE 1 + + +C51 COMPILER V9.01, COMPILATION OF MODULE INTERRUPTAPP +OBJECT MODULE PLACED IN .\output\InterruptApp.obj +COMPILER INVOKED BY: D:\Tool\Keil\C51\BIN\C51.EXE code_app\InterruptApp.c LARGE OPTIMIZE(7,SIZE) REGFILE(.\output\MCUCor + -e_Load.ORC) BROWSE INTVECTOR(0X1000) INCDIR(.\header_app;.\header_drv;.\code_gasguage;.\code_classb\iec60730_lib\include + -;.\code_classb\iec60730_proc\Include;.\code_classb\config) DEBUG OBJECTEXTEND PRINT(.\output\InterruptApp.lst) OBJECT(.\ + -output\InterruptApp.obj) + +line level source + + 1 /******************************************************************************** + 2 Copyright (C), Sinowealth Electronic. Ltd. + 3 Author: Sino + 4 Version: V0.0 + 5 Date: 2020/04/26 + 6 History: + 7 V2.0 2020/04/26 Preliminary + 8 ********************************************************************************/ + 9 #include "Main.h" + 10 + 11 + 12 BOOL bTimer5msFlg; + 13 BOOL bTimer50msFlg; + 14 BOOL bTimer1sFlg; + 15 U8 ucTimer50ms; + 16 U8 ucTimer1s; + 17 + 18 /************************************************************************************************* + 19 * : InterruptINT4App + 20 * : IntSourceⲿж4жԴ + 21 * ֵ: + 22 * : ⲿжϴALARMжϺͰжϣڵ͹Ļϵͳ + 23 *************************************************************************************************/ + 24 void InterruptINT4App(U8 IntSource) + 25 { + 26 1 if(IntSource == INT4_EXS45) //Alarm + 27 1 { + 28 2 if(bPDFlg || bSleepFlg) + 29 2 { + 30 3 McuClockSet(MCU_CLK_24MHz); + 31 3 bWakeupFlg = 1; + 32 3 } + 33 2 } + 34 1 else if(IntSource == INT4_EXS46) //Key wakeup + 35 1 { + 36 2 if(bPDFlg || bSleepFlg) + 37 2 { + 38 3 McuClockSet(MCU_CLK_24MHz); + 39 3 bWakeupFlg = 1; + 40 3 } + 41 2 } + 42 1 } + 43 + 44 + 45 /************************************************************************************************* + 46 * : InterruptTimer3App + 47 * : + 48 * ֵ: + 49 * : ʱΪ5mS5mS50mS1S־ + 50 *************************************************************************************************/ + 51 void InterruptTimer3App(void) + 52 { + C51 COMPILER V9.01 INTERRUPTAPP 02/06/2025 15:28:45 PAGE 2 + + 53 1 + 54 1 bTimer5msFlg = 1; //5ms־ΪԤ־ + 55 1 + 56 1 if(++ucTimer50ms >= TIME_5MS_50MS) + 57 1 { + 58 2 ucTimer50ms = 0; + 59 2 bTimer50msFlg = 1; + 60 2 } + 61 1 + 62 1 if(++ucTimer1s >= TIME_5MS_1S) + 63 1 { + 64 2 ucTimer1s = 0; + 65 2 bTimer1sFlg = 1; + 66 2 } + 67 1 + 68 1 KeyScan(); //ɨ谴 + 69 1 } + 70 + + +MODULE INFORMATION: STATIC OVERLAYABLE + CODE SIZE = 72 ---- + CONSTANT SIZE = ---- ---- + XDATA SIZE = 2 ---- + PDATA SIZE = ---- ---- + DATA SIZE = ---- ---- + IDATA SIZE = ---- ---- + BIT SIZE = 3 ---- +END OF MODULE INFORMATION. + + +C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S) diff --git a/output/InterruptApp.obj b/output/InterruptApp.obj new file mode 100644 index 0000000000000000000000000000000000000000..a46ae149909b3f9f7c7795a5011bc53c3a9d2b97 GIT binary patch literal 67106 zcmb__34B~vdGD2M*|FuB@uG<|iEJx&oCSi>NM5sgG&9mnG}0(DBgu9g-^@rOY2wjH z(c*;!NJ0W3KuSrTgDh3=($OJCtNP$+w$w6ql7_doZ3cg}a` z9`XC-y$hcB_}=d<-}%nBpL3SaZ26H@YD*rC_Z^s7nyuR9<>hnP##(h{Wqo-qvAleE z=0IOAQ5Z@0r@y<8RU*o+=6{diBnvHC+ zlrG?dFTCnvwOf2Z6Kt2xOr-Jlj~{KndvEI2bESMfcWyMD&7GsS=V(UGC5DQLWOCzg ziltO8JH+4Y3#^AwN9Zf!qmO^|V)d?bXPkDMQ?ldf9w3!;>A!Rml#i~mv@z)o9_`XlZjk%GM6Z+*YBZ4(DFJvRB&H^ z;`8q>%axGKfLRrC`Gi9A{y*PSmGD^K0~3Y(7)JiL53f}BA3mq(ZzNG1nM{nN&*3kL z$&vKb5j#GJuXc~W@4T#p2;3nmy#CKC&-=zlgi=f<)LMPlJ{CPQ5g_2tK-^e~QFJF|Vvw--(`<~U95m*jp9&dWTy;|)OLm-fB{&41@_MO%a z4^gymez<8c^0d`v;s4h4)`7bw3U}Gw2lSUC^wC}3KTx5azdeX=y*DI>(uG0)$D6D+ zRNQXuyz6wT`7wRA+1iXZo9N9@R=l|s8zlg1v$bVtA~l>FX~%b4-RWzmH`WdtQZ1KH zjuz9U_D%HZ_Mz#-XnJx2pHt1&wxMD!oksDY?l(|*Gl7MMR3DG_j}__Po%TDOe~aT^ zoW6EWCcV#46Sd~TDKPqo{%M>0QM`!mSk~@VG~hGK+GTrh=r6#fy)!~pdjCrQa^v-T z@M&28x5LSI9PGls($mptXOn3=H90nR#=fhs+v;nxwpyFEk?blit*^{f4|et)?6h8f z@RR6U`yPCisKuFqXWCW+7$R8 z=`r+ayVVwQ>mykD_%C*LS?#T8`8xbJ`e;F`4w z$mvnd#?a*4xE$j1}zx6+#-F|BG z^WSO~KkXC=QwKi0El!PWX#+NB9kqc-2pd!;4y(!*4FP3zZnIj7*B?Ab8UebsPQevTj$uchYaKb(i`*MZf#31pW3|L+Uq0zXz?f^;sHL zN5HTuv~V_wg>(JN2=Sutv|`4xz7tSEoAoW`B5iHo5jhnTlemL_*8awn* z|JXfEv`9-Ex~P9?H?`5vl=muqwA~8UNZ(IQKqvJ#;c2BKgc#_he#8jPbb)GtZtAba z(@t-sDTaRPpJJt}I&&e}Sj!o^ zzKbx>tl-{?gO>=6zm_VF#3!c5hF7W&KI6i7xcz@j8~Q6X`2VbQst$A%%d@j9?;b4|ozC)2sy zK;}0IGU^+hN;|o5s%A_HP-1JH$+1;XxCt%i0r(Lc-3a$KPv&?y>IF znjYX@6T-{0GgFJ@%dc|>%=l`~aKyT-fwoti(QQ@4T^zYX!39%xQiD6mr0Hq$u3hi| zRd5we(=I{=(6&6AR+dwnwatpU6@2;Au6JS%fC)b7v&qYvdt5lPbLfG zl*%Q}*vawIkP$__q_jE@meSdZqo?nl%IDO?+R4e19Y4`OHU&NqJi$AO6Ev&1z^Jm} zUbRcN8{xJHxb?~oRsWXNdUAbbWha4wcWt3RX!eRriXEgOr=8ZU_YeY};sIBR^`%SR zLii^FhwT-_diJ~E81Q|Sh^l^DcI82uns~bLl(D}tt6zh>i>Zm%!0`qgKBSy)Zb^Gu20@x-1Jvk&B!E|K;4 zQK}%Azela(S_OCTywd7PR_paYCpb({nEqhU4{8&{O8^t}dd4tKP_?>DEkZ2GxjE{J zs2%k0&I2@IW%RnWa~WtvYbeJm+tlATT`bqfsZKCmCYL8>4^fFM6#AFz=)ZUXgYp5V zsLC&5);%$uFQnS2mf#8Ou$0Hat!0^+7z75*e}3xXQhh-U3w+<=o5O7Uu$EU&D^3zyT4+l<}aFDN_1 zSb~JH)2E9^`hUp?8ncdRJwC~xV>9cd`V0^k?b!fSr>DEU!6q{!g&EQ#Xn{L=SI}Ui z)?2i8|E|)lW@p#>%;YjDtmRy7v9<i%wRuYC6CSR+$m8KWn4^NemP*yd<$_ue zlL|aoXMIWo|7T{zYO1DFrA`GH)bo&aR0AAgjCsh8gO3JNb4>8j6TBKK6H6<_YJIL$ zU0oxjL5q=G(NRjdq>P1l&~QKal+?l>bZNnZBQ6tOO7FcI#qS_VTCMSJ+XvAg@> z&ruIBTxL*jqyu0arjhEje4IhC4hY;%k3VDtjaWOhRu?@aVIB07(NvfPU6_rLE}>=K z%T0T|9{dGk(=l?tH3xi**S^S84al&d!8*A{LjFfeI0;hvnWDkcR-;S(Ad%C8pXE^>)F52lf9Zfi`G_X*7c zuElQc{dVrgYVBoJd+k4|8>i?s2oY0%w@YXcr%(X!pqVwsyGLl5bH;&_m(+n&pfe2W zP1%u;7(rv!ts3Z2k7Jm~K#^A7|tZ1Tky)lbR@zDTjatjkGnGJv0OuM`Cheg^E_AC75%siQ^!ue6^h`dPiYvBv z!i8=X$RTT8YkMo>3vEwAcRAA1uA@Fd`Dkd6ZDgFhL@WO$vwvElHZdf7I-MTE693WI04W%$Q_z6G>7{M)rAF??N%ZD%!Sy$02M zYO&TBfyoDX!lcCN9j36V)fM5iLc^6Zd;f!}(HODG+Sd zg>9w7JpuzYo;9YPOn$QP-&=6Nv$j_VrdED&{6j|2nBcJkO#h%*@*LV3bEBKcAaBm~ z!#vl}-HZ8TtD@0dH$S7n0qMHl@;07(k5A^{_z7M$`vuRbu+l`1DqG1Y_JbshHS}1A zwayH2(h@x0&9db@}s5Wh6=ML@HIV2Zl}=Ti+*S(mAFw%rv}<17n$&eZmMFQ&uh7M%O)m zN_t?mMg*R2%)&b{J*Lc;8R9aCztUcOk(D$`af63kjQRs?o>BT$+ca!zKU zs+U|0w65_k&w+&z+^CT^4(6+E9ZP=y^r{Q%J=@PuY8}cT=tbK zzOv4sQNNVIA#2I^J*6h7hx@O4rvd+j@4c=n;{9uU@1OLQpZ1k?dl&G!W`pui`o8}u zU-`|xvcA><|FgdL&-u!_KLy|ag75vWigJXa=Fa2bCqnUaSx)-Oyps6)Vc&a-qN|7B zOL~b|qrUf&ej-8@N6tgh_kGD%mh={}F8bbI@|7?9%2#~lhkWISedT9Fd8aTHke$&h z-tY3Qr`5wY}IW?lp_K@D(o}7 z=jfNypQx|>sPG}-dw+Yk`0CenVth|IMC#%Cb#)W(kNVzA`ipv;oZ-{H?tyq89i#9v-jce^E>FGa1W5 zdyhKc9{j6(Wy$}d!c_j`Y)5+^eUExx=YxB_ulxp4?iN}lrL>4}69PB7$&K>3fbX&L zzOo)4Y$HuTcl@F(@ffqt3;392i*m2fCE!e#as}Eh#d{7tIrG%(TQ|K{ zpRfJvd}X<=dwqPP*SF54>l*Ff;H&ROUsBV)#LP6YB~s{=`N4+ezo{mW~1PW zK9p(pBhJDdKhsznBwa;nTWrL{toyY-MOeFnJ>jUA%97u0)UKkG@8&!h)0n@{@!WqS z&^GrI{I?l3j|g(OpY1-x5mE!HS+d<8bz5%L%z8!3!`w2PoaM`}RiHr@rxaM5*|$`< z3{7%`z$C7ma8NsG@%p+)Szp&E>w3$tvXzldOxVdW3NR$bQ^gD=xjtq@NmxWW4tTCV z#~Ur<9kz7k?J7nqY%^GQ1DOvP z8;=M##z@7h1sgM)k#!8^at+Iq$DyV9-}vR1GRf?d;LYeu8S z9=-E0ERW?7moib~K@D_@F=tOBMr4y4FFl+cPp53NRl7x~C3WsPjLc$nrA9%)^~H@0 z4PA&GU;~pfjqGBH^78HC7GvMLg@8ZRTuBrJnJU+7%2&NEE+xWajSdZo5j zC8Xc90n!&V%n&`$ zql5V=C%AL>27S}@h#m&UQgZz8$qgdB5fKGA#aQ*$VeUC<*F?&Ls=JQ9Fkio|KgR#_I4}lA5B6AJjkRA-$=5Mw9lkBAl-eWy*m$J&+t?@ zkv~d*c+%KvOidBDnrG~?SLGOaReoawU|l7@pCv$%9Dd2PSYx{dF;#ceG%WLEV8dKAX0EpuPYKDV% z3-`k!BTCV*8?mpuz(MP)rnS0Ts+X&#C zHG+1Fc=v6rbs?LJ1SNarDg+-a=OWgMhS;lk)vVXDN#)1vBS^5mF#W-pA9T}C;FV)v z0lac3vn{_y-@Tn{%I57OCytWP>oAU?U3gXgg|ViPJ@6++Fv@nNhVWp)mzj*g*J!t8 z=0!%ph;_t)Q-EpaG82j9sFIMA#r;Ouu;3ME8P=vSu-Xi1XQ1H*Q^!@bpqvLCeg&^u zIABY~I0aZ%t7}LdfrM-IzlN+|)}VivTUL3kMcRL`zIsN%ZuW8ubf5Db8th#R>-n7H zLuO@UA9Qzh_J zZEg<1PLr;sdpWw0+9f1W(G6}4YYK{NC4o;i~!NzK1?brt3 zZ_&WN$n%B1lfgu(9ba-mTg5=gs%W6s@DeJXDS9aszeT`uAv3M@2%q|W+^)xfa=&T> zjflL()7-9Yt6;dI@pl@5ksj+jppeVFJ}_QrV);@MiFhWCtowogm8lD`Q~4y@>&*mQ zhiM_cB;z|WUhplZ7tUfB%a4~bE5;G*6(ZkL$Y^~}QSwUs#YVtxOAkAwS!}Dclg1~F zV4XsAJjlIO^uhiihgAkqxAYkowVgsW$A(H?nWJzqr1S38w9M|2gla@kGVKA%= zPW}sbU+jQJ`i8?$TIHy2cS4TpY8t*qDi6!itC)|wlQCe{j=M!3REn4FdTn^UUZ>Oy zh1oldql#L3XyMB&fru2HG#V0Ls)plk4XuV^R0JQ6a|b}ox$^2-QccNlO9z@XEn})t z;Y)m#4-tbmQ$@jypj+gYBy~mr|7AS)J|k#ExY07~eN~%#NY%HK`LQwb;eN(gL6|mF zH<`hRMpyN*@nLcv zyV&ovz_HMmfg2>)>wz1T^}tOBbHw$T(drfQC$3kAMjek_kk!&HqT6we5N5KC8Xb5r zLwf4{E*^sD=#+y(B|492;B_2;M1)A1?!87dMnx{%$qIJ$TUHdwNt8-1)v0!>C76hM zM8tKJsjrfxJUkNoZL0Yo7h1$x)_T94-I0~aQWCaWu$B?BUaA3&@sQb*wYnz zvw9nAR4&%!1o>&4eBsN+(e4s^uBuw6Q%Gtub-G{cbdEb+8K%YVZF@2!DkOyNy}Z_x z$Svj)Q{?Z4#tT6ZJVpD(s84eRVxnn-#S_K~dPMZ@ZuWdYuO$&?7ypY9vRmW>0uj%Xj+96<_&rU-^x`@=yB8Z}OGj zrj_5w>>X=QnadRC+Dem)NyUTzHlw!f);;Q9oz5R+1&s8B=7t+3>#HlQ>IX6Tw`!Gq zj(e~^LptlwD8iKS2VF{T1@028qr|{)o+j$$l|^FEoeDUZK`&`7cQV^>1El0`aP~Q{ z^4;2cSh!xdG2erpP&czl?QT{rt<>g+%k?^KdH*Y8 zA7VmhxsCfzR$g{|IFCJXJx16bksxt~#j;~+4UN8<05Ru`bv+CAQElMg;eOMk)s?+a zT3D&BE-ck&U!khdw@Wk?)OTxDU=iz!{3+(fEVKuXQ2gn2EhA}aV1B({k9oij&{In+ z*6c_y4Uz#r*HSN=!JUGY)mi;<_4wpMxiMcQ4XjXJt1bPkJJwbjk6IJjSg+Tu0g|sc zjzCqA`JAzakO<@d2hTFQUPwV0H;y4D(t;*+4IV-KBO7GLM?^-@y}URzmk%)qCmbEb z9D0NxxtZrwtnL5dj+u$9>8_V)c{x@n+#?MNNe+Xz>i$w7%`sggabzNyO&vC(Dr~WI z#)7_{o1BAt3r8LC1T}pK4xxa2e@dI;zh_pU_F`*CRyg`!P@c#xf$FnNp%o$!Vj&k4 zmV$5`5^(3a%XET^$}frk;Rb`%)1zjzMO?F!XOg*eGCw&^(fgt2H<%(lldzXX2eZ!c z$y^RTcoX;3BUelQo)7$i5i%?`EmWAUlsj<1bqD^M>U0ps!eZ~_PSa}4f#*W^YhBMF z>k)0Tf6%g`a%enw&^Z6hc|c)jIfR?U_Vln33I|Cvp;oxd?v@^yfK_#f-PhbM2Q8*O zS`B57yhz9+jX}W$AuA+usc+>;a?+n@`|_>EKJOPE#3@FSvIkT+w`>IM7CUNhSB?!OAKy_4Ub{fjsIl? z>kx!D%RG_x?4PDXckS&4KuCX`O)T;}Hk}tR31QRnI%#t7ZaUh|d4S15o(HAd(iAEW zSW!U-t+J@~S`GTEUc*Sxn3^chTzH2I+Dh#*L%q@D#soS;30%cXwY8ar_<*tP-NK}) zG14ne;Yl3`v577na6wbzjKOB%L*kH-t8 z&JF%5%6vvOA4HiUOEHx(PNB4n@+YU*&w>iKTuu4)V`O-=saL6H69J+*uc@`oI!%*fnexP zkubByOS?EZMBdDibo?7e$gs$eF0vqiIx7^W(Z5w_2nx5ztr&Yfo>n8q1ili-p7>yg zliX!fXI&h)!amm`scYjYvpC)>@-wRbVGn$LgJJ8;snF8rfe&xcXFaXqg1^y0tkK|E z3X9zSdzd~{b`pGo*%2h@nP7GQ(P{3m68~|M{zZ^!Fz7ZBOj~7pPdQR}f2U#&|3nY535 z)i~}j9je=0QWJj2qyMx4q|OZTOqNcf2KAScvR2j*BMRCWA7FipyW(mKe9k&{8l> zg+*LErnR9RVk#z`K&8i~8-HPJF=mxC&};pDJ#J1935&4j7*j5L zVFm~2+{ULjXjgaidS|aOj!v}Z4Y2|f7Ewme)_16gocZskHcbSi8#WatAjcNuWcwS9 z;9;w-p(?@}2&|Mry9muCcv8ECEV!Hbld{O16Yj26Z3ZO}M@1TM7f%lcn_eleR_n&z zc8TnvG7r|q2{e>an3~L`?F>@8f;+uW2+jpI*Hw(iJ!}zLKrnERFd*(>(kSIil-58w zNF@@UPa2`aB2MF}JtVN>`NpS>V4Y&XH5R#=0}44u#Ec)JDuRvm9uY0MftMdemq=`W zfxu1?0YvBzhJDIAS1w{bKxI76`j;mzy@qvMb+Qy;e~W5AShqjs)T1hD?j9h)O*?p^ zM!3DgZC79_A(tQd3;WZJ*Ais#OvS`ZO)!-pp62e8ps?!|BX~p{zH=9Y^R}z0bRj!@ z#;jmdhL0b2|VvB&|~lo2>&J*WY9^5RI7_iwejawq?C~ z16bX2~7lqnBs)y1>;C#R)OH~0CsN$ z*H&28)#Mu0&fsB${jRZ^9$~eNur@)KagO{T-&be~VgS8D`JCj;-ip%ql?Lr5s?J|$ ztYeSx3pQ9lf$LMURmRLgB0@j)wj9$Q1$Fh3ok<(V3+38*fVL~_&7NMNwf}PjB@-_k zUqI{8c5>hLFY(&q3|m-Bj_WLVL&z^`UHAi@bw~>s)RZXnA%(IaYdmB7H?Fg;F> zJ*L5oaF1ZX53)H#yHaSs68xKR*9C(@(P&cXCGPQh4cllg64*|9%h`bXflHhgjICWy zuqT)3s<_<+3fd3G5q;hd#-M zt4B0H%d_luy_tRfu?+^G>jj=?lPPR4w7~!>+5i@q1-tsIm%Mbh+jOgsCM?#)kF?e8 zWL_yt=XZ?YA?qG(S-qGA2qz6Fr~YXp^mf749%BA9ME7MvsX9efgCEk=SYz5*YDk2{ z1Bs362y_)5WgVF)WA5=d-**ZPr;Q93-EoL*Y&x$+8H^Q=1HVHU9C+`~ZIt~B3Gx6# z)Y%Ejvi~7p{~g+Gwjc6EVnf3Ji28JQ63Shw_uT)Ga2w+N)xP(-&W-odtr+s1$rBQ; zVtl{XSD#E|3JKdD-}m{xzs^^dahH(D#0I>c7=`kUK6u^vkN0xELn0Q0_qX`qU*ant z_LX1iEBE`#gTC?+U-_u7tb1F~pX0vwCw%3TzA}smJPy5ve7U6|-x*LL5#mOBrxbJ( zKH)15`N~OA4vS4&ZA9HOzW1}fa@AL!_mvlXWqo%i>c8N7ulqyseo?%S_|7Jj3HmV6 z9`t>`;w!KE%1`*pulAK+Bg#8{>vyMb{qFRw-<`hoyVJLRcMGejji9d*?d>5B=sXTR z>=C=W@V(?$T|Ry!x1!=~JIPPGeB+Vv5PUEBk@NuLz2q~yi{ZUo-(5cb z9u?UiKhVxnlkG;umTYJh2%q3_@D}y)JsJPS_qsO-WnJS$S>FMQ@++L`z51W=mER)D zGGhS2o)Ph0rYhon*7ttQS04A3bq4~@a+B*+9`cW~&ZL}>9)LEQHHp8yKK#ke3;4cI z^k=U~>c&}UQclUU(cnzcwLp}moCPOv9?a)gSyjP#+@7WU4$?Z>+^_K8r#)x-PO)lm z=cT@?Ze@!MzKU$>PmR??e9FZxp%$(Eau8%Dl6}l)COKrv;3 z@Q-$GFnnH182%hvpS-gum%L1%lJIzzyTy@%W9*PqVW+t{vp=wt7)*2I3!LI|da;PO zi5xJuC69CLVxp$__k4A2vkL}kfvz^UA;rW-#jDvd0zWuW6gh%aZa5CRH-$@dPIQAG zugBO|5oEuy?f|@2c}?RK7x&(9J2PrT?bXV%0Fpo)%T43S&7nf@f&z1J9tL-Or(l5< zf5(q+BS_PFm_xhtpyRVG1d)bQ$3zf^97xsc9FsISj}sfqPni>sA|ews;hQRQqNu5Q z(m3L%r3;Z8nL-M)SV?CIOcEBaBq^i)S9x5;V<3MP@AesZ!0kf^RS85ib28=OyG1|N zPh3TiCakk+39Qd}Yy@srI*QNXKf$g)UFWHDe?3npxhlWm_P3RJMXX1(3Hx_{e@|}R zpuep8qQ4d9@RejKKcboo?yJ6+EWvAnuHtISxi=GZFm?3`ZLrMgLpW7EKW5WTtTPjI zZ8`0oO^>I#jkRBcWmd%=?x6J~aXmjpzbb2?>Co$nM3+%2}n-^nP}_WHsf{uN{6 zVPeS6gDziWC$g6wA1~h40?WK;o6mpKChXx`D!A#Lu8k*x@$Cdtdl)&9tLY|o>V>xX z9<5K%@B6j#lPtKE&Qer&w@4+cSsoAUg6t*X(0IZB&d zx!q!0-W|+GnsSE1w{I~v9TEA>cW|%y=&zyC;{osJ|J6Hbx z9sy$&b0uNxpou)fSQK)kXxR zPc_PVj05EX>LebJE6Q?;<*5zd^Ar(2$qT#m8r3>7R)SF`&%dA17ym$s7Qflmzh89q z1g9qVTe7J!B6-DGQ!Gc{+WpxmKW;R4GH@aU*C%I2nG(jL^2-YrgG_Ia8=tsK4SME$pg1 znfX;}RxSXZvxxAy+{5$+-av7akvKwPCP>|GUS|D5?bJA%F643KBX8G0+$Ok|u!wAV zXR9>>#}lP%T%5JeSXemtw)4`b>yp+hN!lm5noa%t2Ea?sN>)pG2a^jDN^r{=a!E)% zIqAZ;hP*@S)C6V)-Z`C&ITfo49&BDPL4r~4Xz<94t43}l?K%a zl%_&G95ru6TS#nX`VP-I2wmMS+sd7q60NM^3=-`Yt^E7k4=0%jVO-iN^aJB4VgfqJ z&=tpMa}w2<@3&sAEWNGs3{9ybUd%5uXKcGiESUzYN@GinwT0IZ6l7AXmAcn6#c{aw zqil-PoPUa7z!O>zh>TdLH5}<`tR@D>%FC^RcV=wz&Y(f=t4cS3<__C|jTM%k&| zctrSpCwROm*c`}F4TkCvUc!qk{~$k7)z#X3BUxT9&(zkgJVRArs+tm{N#3K{s6pO+ zTKOBylc5<8*tEr`kTNIBbqigh#KsXyQbsg2cqqH6f6fE!udpa|?3Vm;wLx2K z$(?b|9Z2g6-zhxc_p`C|Dlo*uVjtJCU(mKA0 z1)`$_#5wc0vGz%0-^12rQNwQ4xgBIis%!XgVEnHUu!&6dIGdLe>yhc;hmD{S;pljP zaVAhc@CIYIqt=sJx4)+GEU9vi{*7A&<4#BWS*?m|JWp7Xwic5Bc9>m|cS%MYmw3J~ z-IVi8r+KnxrnOCZDO`v_J%kT$%+T8t;UY9VY=cGgdIFV9U^cz$6}Wb*MGml zOVIFSGQkw{Uoy6b%8d(gx((YbyJDW0M<>s=jPK}&j9rb080rFZUS~h(fVs&|VLM%B zxJtG-L9=+kI7}I%k2O(~GH1}qyo$-nR)zMqt-;#!g|Q!QRco7ocVD(mo%rzb&F7#x53jRtz%GYgQ+AUykGN-LI?GO@bU%2bqY=8 z60acVz^e5*)}vX&YR0m6p zQbb1i>!}LqOJf~a<~n!>&{y)fg(N+Wcx5o4Op=;shJ(AtvF%kxIe0^6E4}M(pjLX9 zZl8x(3?R)?-TRvzpDd-XH{xfnz|SntCoh*Yju{T7gl?-(&89P-_q34UiJvoqMkwFH zc|ZzPxm=DSa1`8Rr^rfKXE@~z%}-4eoM|HTY^h93S5JbM2R9iJ>|~ak98RipMvzV# z4A&vB<2lpF%uS{WGmW)YLzl@-UgwtL8Sx?q*w=_*vg-Yqn_d8222OuGKr2*ejt`>z zawZLT-wLT^a5Nyw50j+nWjI77aN&^kUR7DMx|_A~8+ZYGr$rRks>?HOZQQx$X7HUN zL#NC_(Y3g7M-6M2LH718t>p!VB_hRH(#TcV$QaTy>sl^_K9MmiXAzMUSme2P&jB%W z^{}N!k8WbTlX9a4VeWP@)vDsi`vJ3TJ*y)%lS|~xYpg!!0%PJpf6YTZqT<>D@4|R& zp(!mN06)z7H+CGU3%_}@QH>f6UTHldv@yj2KhIx4Cqk6yMxkQ%Y#KJ3sgms)h0QU} zRp1LZFePR#Tw??di{!`Kc*Ul&&fRwLuWtYu)0!=Fl#lW<2J(&HF@kjpb>l*Fo+#Rc z+v#a()8^1`5xjIZ@I1+rK~MNQJn%JR%VB|R?}DpoI(%hzWrV<_P~%yaX;;m&HECwZ zu&m+SmBXsHLF%;3U92+qcGJ@-YW~~qKwH(Mu=O$xzir+MCVhj9;#V7oxm)OE-j*iT zk%rQA7~Mv?${DRy&m67fsiSLk-$NtR@J(5W5i z#zRKHn8?2_GLE79!i|3-_i-a=M8t3ltizHsG?5+OXd6CA#d#o}9%uDvx>~)kiCQzc zK{;U%ZqQeHLWly~Nj{OpF+YNKy2-0vC%8%6&bMwHVAv{Y{k(x!8wuph2u-GYD(zno zJXTw){GjtJP&VDOSj@^q8>+I|P&U{IO8- z=q{T$QP%L64a3LXHF^qUm3fq-dH%dEbK1cJ%YS%1m#QpE_~E3$X)=Y>lCohEc+187|>nDwC5 zRdP;UB+c<2$=UkvifhtZrJ_snK!biou97VvklUc=TQF~0QY zjKF(EdUAz@g5!ceLZYn42pSVAQ9tuMP`w!WlCg#!k#u{Ud+zeALGY|E8GymF^fd2t zJcVe!R2<0MW&lJC?XWXrYRX1=wbGEG3J%bi;e`&ybNeJ} zJ~b0sw^drnGF23;TSh$JCNgC`wWH#uY{rKO(&S(Qh2R0^9`rRi04`^0lJyldsb8Y& z-t(0z@Pca09VVbPZp~)OO4r=8Zouki*7*ie}dNq#f<36Y{eqpsfHV*frrHI z!5DXz5jA*9K?X4gxzE-+oLdP4B*flo9Oixzw>Zhd6FCs@8;|D^LJ!96K1D3R5isPP zH{+d8#y*kzj5YL#?QI1{7MMsbsZO2Vh>4ug=I12OPjY33jGeR8Wbi7KCcd8m?qpe_ z<|~Mxg*3nb3JX~bbn zTsU=@iN?uDq_wfd2)R@E)F0&4K6H6r#y{wGh8JH_e7Ym7sUiHz+yi+y-I;

    2 z!a_tgSRZ$C#_2e9I#Zo~3r6^DBL8lkTb)3D(KaJghe+;NXYoSX-Q_h><#BQqmQkz! zYqzl7y&M4?DU_P4)#*lJ^64IN!BGVm(yP3HLdeoL>L8$?$6EiI`>~i8_gqbA6LLa)1F@|{>FzfMQG4K|-3P=2;JM7lg7ZO*Hf0ei=Rz)Z7 zL|$_)*WOC7COvk@C1>cdPWnYq-bqMU*Jn6*UW_06ORD=6)d4Aq=@^~;b2S+F%JsBY z@H;s@A!~xZ$Ai_2_j>#XWw{wRWc{M^x%d4?edS;Bm48{3Bi58CM@78EPcA6ewC_L2 zd=Z;xg;7{H(ov5{G`~wHhC#C^4vXdE1#tORCj{|=Wm?2~o7Q1ymT%X}H?fuFg&KxN z2Pk!UM5QMpz7s6od&D%(>w`FgoZn!muwbzlcd?bX{oSEEw@CEGK1y( zBz2>Z*%KZUuDBX&5-@5NtL)E!#)G>Y5%M^%5A^5>BUD&uKM&|o$IK>2*i#Qd`!$w8 zuHha}H?XXNyBV|Y(Pnj@-r(_LMyRle!FY$r+IB8KJ&~WL)4Vc2Z3Nz-I0{-tZ(qh( zbx-?2vYV536Xc$XT4k-f&C3GlTx_y);b92Y`6Je<2Dg~bwt?P4i;;0cSEW#o4EUlgM z1ib@EKVd|fJoRFc*Bp)@$C0LQGXl!vQ0`!KHCIjUwZ=|I#8EQi`cO|oR0ks{EK(}G ztR6TD3n?4-G33Y0D>W=w(u1t`(T43=+QajU)G8Pxdu^J|?Oj5Ol{o7ZN`9fd$cHs1 z{#YR@*fRThjVS+wMS{NfTHTb5fKc$jw~3|na_)L%Qk^yV9o4dKEHFjOlP9LwR{|v+ z>yL7k?a}yG+>W>E2vIAkbv({ob-hLwF!ntmDB$?#gVu1DNHv=>;BDxSHo)7*wdOy~ z?9M$LpY|_&$~bU&G|%lEq@O$igXR>~3a!|Vo_hG*o}cRICSqn%2M&!A+%^HHu`=8lo_f_EgdwuWqlP2)~yzl*tuM9lnaqt_mc#Aogb;SwwJ>Y!qeSg7MUiOtA z^p#h9<#k_KPl`r+dWtj3SA5?;;wwMuD?jEdzt&fN%2$4!uly!o`K`XPuBV}YKjVA< zK41C$zVZisWt}UbzK{9d>#GktV3x#td9EnlOZ>~rKJi``%_z(H2#dTLyqEJMQ_%5V zq&-kso+>2I>%;di_x1mkzOrtkJ1Fo8-4Hn z4o4~1q9UjVc-^&%@~yu5q}+-sd5ljSJV%8~67WMl_z_<@>nrDcW$8eO`s8HPCnx0v zu4rG%Nttkp_mWS@JtufCrV-vtJwe|4hWGdR;3eOT`S@nc$2XfX5{F*)`t-8B!XCnD zX)0~13 z7Dw9+1}gXi=9qF+*4c9GJ?j)l&SZ(O9dweQ!-ylgfC3@y303 za+Y=*+uti>fw%dT95E_SZ7|(1XZ^&)`a8s?ui80^oG(zvR{8^cU3OE5kvfo}G9I{G zU&9^7Ou1)pQ3xXMjyGtobf)r;d~}QN@Cw=`t=xLp?GZd}J;EY<33tOgPDVur9yfw- z6E@b%*jKS$qe~#Ojf=>VrD=ns4(=TuMsp)$w}@vPVLOXNvWn~jq3p-CCF;QInrzf%Zrn@v>5yryK5hBKC+ zW|pChFgI$VFy&S7p_1ozE%Pb3GKLpC&Gyd^}9QV%|7OsIJbO=eK)+Bw0wDl z!^N$W5EY837xbjtWfQsNWR9|}?2LKefD>l`>cI}zdFi?_bvn?RF4?6Mjednj9!!E= z!VX^Kk*iH7aZaP*G*Rw-b3bRV@ZXOx*J74O$#aD%7wfISA?qhxqCw}s&UE4?yyX7X z*y(PeY!-Rc@LahgPZtu!^luw02#ZXy1h>o=6JJqXMhMLz{fjQ+@LxZCjw#gUOg}qA zpnWtdNGV|a{#nNl@)i!)ke3N7S~^@0QA7CNf5x;t`!&WZyp$fpX=t2L`8DG>dxf;T zk1uDzhP}cR-S~+tW=guAP(*?SA50`YLJ8_;BEc-v{t((a0Qc9uYE(gMGisG+ba*h& z-YJ?k`8KiNY(D|^(aTnpxv935i4^4#Jgn;1{c=uX6?{Doj#=l$8LHv zb1v1=)xUHa1n~D_)%9S)J*sv6E*6kPw^%suCAd@cp6OQ4>Ydi$pt9;p{zq6zq12RA z{Q4HeHJO3mG}Kk$ZWeJIl~XrNzLshWUc)h=BI?%&4(1#G%Lvvf^y@`tcqMf-D?HZk zAy9bwJ88sdnbiv%TdSKs2YJ~*Bx|1j{x2v51WRSzR(z3;wt<5RO6LYmwA~_*9~HX@ zqf7>p2hu@f=Z!e%5&H2eRackvAUL`hNYr4sTdlJ zJ9Y|VL||m>WI-8&=dweCZJspd_c!1#^x%DuVFu#RlTCV&ZcXmvkt@ppx;bfc$PEn! zmM;4uFMOo4Wy&kFm&z+udu(ZTyH+7^769SYpYmNgm)e=SKGX3E{A1 zCB-!np4SlG$I?;_dtsiWhT2Yq9UZ|`FCAQi+0=-+HGX5BG3#5+ec6K1$vuTz-suQwRFzLO!rnQ`h;c{=gL#_7F% z)Lj;MP2F~n8b(O%ZzFY3*$sc-4zktSl0LhCGLXj6&lxKSS&wOR^zV8Fjy|e7(En!} zRIs8|u$>8n1QT6?xi(xcyH}0|NhKLcTxHt2^gDI<9NP-Mg2ANu=6kA%) zxm|9hj9#%_!#jQ($KNpU|JeXo_ktI6glVGq7%YHbst#GN(-8J;HfD;010bhU^ll6N z!ML-t9c|FZkbAbB{)-0;1jdaFnaCpv@&2Oox%d5hML8n!$Dvid-1q(!zVaiYyxZ5G zsF)A9ijRr!@&FZ&-AcOc^ZPiXMZF;O`y@Ccj;?aSRqJnN<$S$f zNJ6@pJa8OmfCui?28ulH@VlU87!sRB|A|F$1*w7Q@i}VPBpY-G^&E>eIEk7THB^Y; ziRu-;N}DIDY0XeB*JUGg%=3(4qF&4#)@9OZb?8`dyD^a%m-ca;bg!|=ZUH#LVw94) zRce1awX^}KzJTYMJ``CE{EHDRZ0V^Jx3JoNdOBZ7ecuSxA?(~G13{bsyD_mSJ>vNf zJTp*sln)&HKR;w_KCGA+FQHr6N?4!a4PnzOO27OQWBW1^bR#bV80wo`prGS6b#0@0 zk6mr7+*qfRI~L20S@@x`h~VS^ap*hX*uughddz^clYeFGbI5u>hD;CW@h`kZMBCKI z^2Lo7kuFclOvldI$E1R{xh)1cBlKDNTMts*C`yo{E@Z0!j9PDSx~ls6j|@4swCW^S zf0iI6!(x?A#>T(SOMrA}cRTe@5@@gwp_zt&%~qc4$35%MyXTO5-Ky)zyo=3DS2(N$ zUOZ2UAEPb=ulyddfQOl`PZttnp6kwh_*RcFm@e?xnX1!`-!L{DBhKzTAdV?!IqIzwXkbf}YZSP^a96`367AjTQ=vV~WH7?QpRZn0y$znJK5d}qh^8@c_woRT zLH&%|;~+ksaDlRbWZ-p)rme0l@y z9MQ%%%-omu5{%7WA;}ma$Y3|1yie_JCINNI|I9*l=7NLNplD0fdb8H(|7MLEw)oii z@OXK#%4xzJsc9Z}7!p3$>zRCPTk)^Vmy9FbFG#j|FynYCeLAf!u`pnPX&g|f3 zZKW3$lL1NvG&vEZVeVWU&}EHoi^Z$-CVL?8bGnyp>>0*2l6oW^XmQ z#y@QwPB+dQ8;)70G~k!APNQ-FvO@)x0{|U0czPXCg9@;i*4WSPkA~YvMnTuXb%ced z_!O^a*Xubnsx&KBt6CSO%#QaGS)ih->mgL2*}NAxMo4uYjNn3Z{3D5?J(8Flp&W>H zW8b5K7d^<+?!-4qr!353eO*iN!BZzwLeKEnv2%K2Wof3miu2dbD)1nFBJZu8=XK&* z*LLnVj2-V5#6Hf<#5pDlA{{&Qg6FGK__9`6rOP&Gf9}fq@|u%4l~`T|4|ak}2p?J2 zvX{lP%{%bs%by-qjBe1K1e7iafRen^krAjYU0JR^K!DOlJfr{+Xwuz6t!EL0)ljdZ z1yN7U6_Vegia<>)As*2-K)*}t0lb1bGkhykmu;s{mpEG`v&%T3E-|1L=G{r`{=V7> z)gku2U1BKOA-}%zxZCw0jo@jm>tEs-CzLz)AN2nnftqw~PJf5aUFJ~|y4=(FNv`(4 z!)>`$9|(!;`)+QTxTkX8q#JNy1k+l~(!EXBv1BArXAO|J`OyZzy7uHLi4}xeXwiQ| zbvS6z%gegA@uF8}L?bo@2^XveghVdL1=eXRs<&~l8aN*vSZB#Tp)FZp9}lP-x=Gk6 zsxrP#P#G%#?=3bLwavzHZ?iF67Qq;zcZ#j z!c;Rk)${@X592_4Mb2E6(?46Sa!PzHlopKjbO|Q@05dr#lSBq!j=>}pwVt8Q`4b<$4SDdRxTp+^qC?g&JAzcwV4`+Q}6$cHuh((egLAfAP} zY83}jYf7tdABzLXet2;PGiIGCBKG&(XJ~uq$qm{*qqTi4dygnAObOLLATX&vu#Z^= z#kvjcCULloY0RAKgGKEnDLPqpUY6bu6?~9H3JVc>HHRN6WRQ;-fkGm2Iqz{G((uUt zZ`OH30?YS%41m0WbWv@;qa6kHG9)BcgJpy!p$1ek=2O(=;1$s$m_Uu!6Q8qOB7aNK z94QT3XSLbw<8{1F=h`eT&&|w$>0^GHdL6rBqaxn;e^|re!|3y~u>O-qOz#v9;5lu2 zQo}}|kT_a$+?yUc1Dia)@VW*w%8*Dms`{oU{>=>l!42?$2p1VWZm=*v{y~Bao|bN5 zJ1;P!8m5Ex$pjpsZ1#yS8-c@uoX&HzNJ3BI=7ZZ*hl4mpuh2QtJS)!e^GWyg`9&AJ zRpXT@30=%+D%0f))%9hX(4SVIIwd!gj*;sEj@q}DFn%w*Z z<;$1S*BQXutUeLJ@qA{OSk6NGngJMjpn9-ylGi-c4a(MW&o-l*vDsbN>RyP7^xv1T z!sDJpLJA8ex<9Vw3VA1v!qW^T$Wx83X2iK+cd`(Ajh&B)a|cq)Zrsk3Rg#Yg2Ti9qw0qgA3Z)bVME%z^u|< zom=@L0ZI9LNDUJVTi-{BvTo0x;{MYGwfRCZof|HtizPc_UNF}R^vTQd)G;*9S=gAo zVEl*05jI}7m+KIOtf;U2n-MxDw&{8fHSJi|BZEhwpv%TN0=r8@{IG3BnnSxpvc+~* za>!g6NtZs^QY|YvVM{;s;${Y;jaln!RjA&<&VlBhQY7L(&daZg(0g($d<(#L^{PmtkU- zAkSwt(*I}n$GYYf?$n;g{m`k}oD=vBvV`R}>O;J72cEZP+5m6d`Ay?kdW3$L+`QY` Tf#7MOFga18LvkR1UiyCll3#NE literal 0 HcmV?d00001 diff --git a/output/KeyApp.lst b/output/KeyApp.lst new file mode 100644 index 0000000..09f9d19 --- /dev/null +++ b/output/KeyApp.lst @@ -0,0 +1,130 @@ +C51 COMPILER V9.01 KEYAPP 02/06/2025 15:28:45 PAGE 1 + + +C51 COMPILER V9.01, COMPILATION OF MODULE KEYAPP +OBJECT MODULE PLACED IN .\output\KeyApp.obj +COMPILER INVOKED BY: D:\Tool\Keil\C51\BIN\C51.EXE code_app\KeyApp.c LARGE OPTIMIZE(7,SIZE) REGFILE(.\output\MCUCore_Load + -.ORC) BROWSE INTVECTOR(0X1000) INCDIR(.\header_app;.\header_drv;.\code_gasguage;.\code_classb\iec60730_lib\include;.\cod + -e_classb\iec60730_proc\Include;.\code_classb\config) DEBUG OBJECTEXTEND PRINT(.\output\KeyApp.lst) OBJECT(.\output\KeyAp + -p.obj) + +line level source + + 1 /******************************************************************************** + 2 Copyright (C), Sinowealth Electronic. Ltd. + 3 Author: Sino + 4 Version: V0.0 + 5 Date: 2020/04/26 + 6 History: + 7 V2.0 2020/04/26 Preliminary + 8 ********************************************************************************/ + 9 #include "Main.h" + 10 + 11 + 12 U8 xdata ucDsgingSpeed; + 13 + 14 /************************************************************************************************* + 15 * : KeySwitchSpeed + 16 * : + 17 * ֵ: + 18 * : ٣Ϊ + 19 *************************************************************************************************/ + 20 void KeySwitchSpeed(void) + 21 { + 22 1 bSlowDischarge = 0; + 23 1 bMidDischarge = 0; + 24 1 bFastDischarge = 0; + 25 1 if(bDSGING) + 26 1 { + 27 2 if(ucDsgingSpeed == 0) + 28 2 { + 29 3 ucDsgingSpeed = 1; + 30 3 bMidDischarge = 1; + 31 3 McuPWM2Set(E2uiDSG1PWMFreq ,E2ucDSG1PWMRatioH); + 32 3 McuPWM2En(); + 33 3 } + 34 2 else if(ucDsgingSpeed == 1) + 35 2 { + 36 3 ucDsgingSpeed = 2; + 37 3 bFastDischarge = 1; + 38 3 McuPWM2Set(E2uiDSG1PWMFreq, 100); + 39 3 McuPWM2En(); + 40 3 } + 41 2 else + 42 2 { + 43 3 ucDsgingSpeed = 0; + 44 3 bSlowDischarge = 1; + 45 3 McuPWM2Set(E2uiDSG1PWMFreq ,E2ucDSG1PWMRatioL); + 46 3 McuPWM2En(); + 47 3 } + 48 2 } + 49 1 else + 50 1 { + 51 2 bSlowDischarge = 0; + 52 2 bMidDischarge = 0; + C51 COMPILER V9.01 KEYAPP 02/06/2025 15:28:45 PAGE 2 + + 53 2 bFastDischarge = 0; + 54 2 } + 55 1 } + 56 + 57 + 58 /************************************************************************************************* + 59 * : KeyProcess + 60 * : + 61 * ֵ: + 62 * : ⵽Ч󣬴Ӧ + 63 *************************************************************************************************/ + 64 void KeyProcess(void) + 65 { + 66 1 if(bKeyFlg) + 67 1 { + 68 2 bKeyFlg = 0; //ͬһһֱ£ʱ㹻ȴ + -󴥷Ŀǰûõ״̬ + 69 2 switch(ucKeyValue) + 70 2 { + 71 3 case KEY_ON_S: + 72 3 KeySwitchSpeed(); + 73 3 break; + 74 3 + 75 3 case KEY_LED_S: + 76 3 bLedDisFlg = 1; + 77 3 ucLedTimeCnt = 0; + 78 3 break; + 79 3 + 80 3 case KEY_LED_L: //LEDPDģʽ + 81 3 bPDFlg = 1; + 82 3 break; + 83 3 + 84 3 case KEY_ON_L: //Ѱ2SԴ/ر + 85 3 bLedDisBleFlg = ~bLedDisBleFlg; + 86 3 if(bLedDisBleFlg) + 87 3 { + 88 4 BlueToothPowerEn(); + 89 4 } + 90 3 else + 91 3 { + 92 4 BlueToothPowerDis(); + 93 4 } + 94 3 break; + 95 3 + 96 3 default: + 97 3 break; + 98 3 } + 99 2 } + 100 1 } + 101 + + +MODULE INFORMATION: STATIC OVERLAYABLE + CODE SIZE = 150 ---- + CONSTANT SIZE = ---- ---- + XDATA SIZE = 1 ---- + PDATA SIZE = ---- ---- + DATA SIZE = ---- ---- + IDATA SIZE = ---- ---- + BIT SIZE = ---- ---- +END OF MODULE INFORMATION. + + +C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S) diff --git a/output/KeyApp.obj b/output/KeyApp.obj new file mode 100644 index 0000000000000000000000000000000000000000..7c55667814bb4257e04149078b44d96a221d84f8 GIT binary patch literal 67620 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 literal 0 HcmV?d00001 diff --git a/output/KeyScan.lst b/output/KeyScan.lst new file mode 100644 index 0000000..2654c7c --- /dev/null +++ b/output/KeyScan.lst @@ -0,0 +1,165 @@ +C51 COMPILER V9.01 KEYSCAN 02/06/2025 15:28:45 PAGE 1 + + +C51 COMPILER V9.01, COMPILATION OF MODULE KEYSCAN +OBJECT MODULE PLACED IN .\output\KeyScan.obj +COMPILER INVOKED BY: D:\Tool\Keil\C51\BIN\C51.EXE code_drv\KeyScan.c LARGE OPTIMIZE(7,SIZE) REGFILE(.\output\MCUCore_Loa + -d.ORC) BROWSE INTVECTOR(0X1000) INCDIR(.\header_app;.\header_drv;.\code_gasguage;.\code_classb\iec60730_lib\include;.\co + -de_classb\iec60730_proc\Include;.\code_classb\config) DEBUG OBJECTEXTEND PRINT(.\output\KeyScan.lst) OBJECT(.\output\Key + -Scan.obj) + +line level source + + 1 /******************************************************************************** + 2 Copyright (C), Sinowealth Electronic. Ltd. + 3 Author: Sino + 4 Version: V0.0 + 5 Date: 2020/04/26 + 6 History: + 7 V2.0 2020/04/26 Preliminary + 8 ********************************************************************************/ + 9 #include "Main.h" + 10 + 11 + 12 BOOL bKeyFlg; + 13 U16 data uiKeyValidCnt; + 14 U16 data uiKeyInvalidCnt; + 15 U8 data ucKeyValue; + 16 U8 data ucKeyOldValue; + 17 U8 data ucKeyValueBK; + 18 + 19 /************************************************************************************************* + 20 * : ScanKey + 21 * : + 22 * ֵ: + 23 * : 1. ̰ʱ뵯󣬲ʶΪ̰ + 24 2. ͳ赯𣬾ʶΪ򳤰 + 25 3. ȼͬʱʱһµİ + 26 4.ͬһһֱţȴ󴥷ͳᱻ + 27 5. bKeyFlg⵽Чλ1 + 28 6. ucKeyValue4bitʾ״̬̰4bitʾֵ + 29 7. ucKeyValueBK 水״̬ްа1а2 + 30 8. uiKeyValidCnt ˲ + 31 9. uiKeyInvalidCnt ˲ + 32 *************************************************************************************************/ + 33 void KeyScan(void) + 34 { + 35 1 if(!bKeyFlg) + 36 1 { + 37 2 ucKeyValueBK = KEYVAL_NULL; //Ĭް + 38 2 + 39 2 #ifdef KEY_NUM1_DEF //1 + if(!KEY_1_IO_RD) + { + ucKeyValueBK = KEYVAL_1; + } + #endif + 45 2 #ifdef KEY_NUM2_DEF //2 + 46 2 if(!KEY_1_IO_RD) + 47 2 { + 48 3 ucKeyValueBK = KEYVAL_1; //º󣬻ȡ¼ֵ + 49 3 } + 50 2 else if(!KEY_2_IO_RD) + 51 2 { + 52 3 ucKeyValueBK = KEYVAL_2; //º󣬻ȡ¼ֵ + C51 COMPILER V9.01 KEYSCAN 02/06/2025 15:28:45 PAGE 2 + + 53 3 } + 54 2 #endif + 55 2 #ifdef KEY_NUM3_DEF //3 + if(!KEY_1_IO_RD) + { + ucKeyValueBK = KEYVAL_1; + } + else if(!KEY_2_IO_RD) + { + ucKeyValueBK = KEYVAL_2; + } + else if(!KEY_3_IO_RD) + { + ucKeyValueBK = KEYVAL_3; + } + #endif + 69 2 if(ucKeyValueBK != ucKeyOldValue) //ucKeyValueBKдµļֵ¼ֵ + -ϼֵͬ + 70 2 { + 71 3 uiKeyInvalidCnt++; //˲һΰʱ0 + -ʱһֱ + 72 3 if(uiKeyValidCnt >= KEY_S_TIME) //˲ºһֱ + -ֹͣ + 73 3 { //ֵδʱuiKeyValidCnt > + -= KEY_S_TIMEǶ̰ + 74 4 if(uiKeyInvalidCnt >= KEY_S_TIME) //˲ﵽ̰ʱ䣬Ϊһ + -º͵Ч + 75 4 { + 76 5 if(uiKeyValidCnt >= KEY_L_TIME) //ڴǶ̰dz + 77 5 { + 78 6 ucKeyValue = ucKeyOldValue | KEY_STATE_LE; //µʱ䳬ʱ䣬ΪdzѾˡ״̬Ŀ + -ǰδʹ + 79 6 } + 80 5 else + 81 5 { + 82 6 ucKeyValue = ucKeyOldValue | KEY_STATE_S; //µʱûгʱ䣬ΪһЧĶ̰ + 83 6 } + 84 5 bKeyFlg = 1; //̰Чͣ⣬ȥ¼ + 85 5 goto scanend; + 86 5 } + 87 4 // else + 88 4 // { + 89 4 // uiKeyValidCnt++; //ӦɾKEY_S_TIMEKEY_L_TIMEһ + -뼰ʱѶ̰ʶΪ + 90 4 // } + 91 4 } + 92 3 else //ÿµʱ̰ʱ䶼ʱ + -Ч³ʼ + 93 3 { + 94 4 goto scanend; + 95 4 } + 96 3 } + 97 2 else //ucKeyValueBKдµļֵ¼ֵϼ + -ֵͬ˵ͬһ + 98 2 { + 99 3 if(ucKeyValueBK != KEYVAL_NULL) //µİ + 100 3 { + 101 4 uiKeyInvalidCnt = 0; //嵯 + 102 4 uiKeyValidCnt++; //ۼӰ¼ + 103 4 if(uiKeyValidCnt == KEY_L_TIME) //ʱﵽ˲ʱʱΪ˰Ϊ + 104 4 { + 105 5 ucKeyValue = ucKeyOldValue | KEY_STATE_L; + C51 COMPILER V9.01 KEYSCAN 02/06/2025 15:28:45 PAGE 3 + + 106 5 bKeyFlg = 1; + 107 5 } + 108 4 else if(uiKeyValidCnt == KEY_LC_TIME) //ʱﵽ˲ʱʱΪ˰Ϊ + - + 109 4 { + 110 5 uiKeyValidCnt = KEY_L_TIME; + 111 5 ucKeyValue = ucKeyOldValue | KEY_STATE_LC; + 112 5 bKeyFlg = 1; + 113 5 } + 114 4 } + 115 3 else //¼ֵǿռֵ˵ȫͷ + 116 3 { + 117 4 ucKeyValue = KEYVAL_NULL; //ȫͷˣҪ³ʼĴ + 118 4 scanend: + 119 4 uiKeyValidCnt = 0; + 120 4 uiKeyInvalidCnt = 0; + 121 4 ucKeyOldValue = ucKeyValueBK; + 122 4 } + 123 3 } + 124 2 } + 125 1 } + + +MODULE INFORMATION: STATIC OVERLAYABLE + CODE SIZE = 162 ---- + CONSTANT SIZE = ---- ---- + XDATA SIZE = ---- ---- + PDATA SIZE = ---- ---- + DATA SIZE = 7 ---- + IDATA SIZE = ---- ---- + BIT SIZE = 1 ---- +END OF MODULE INFORMATION. + + +C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S) diff --git a/output/KeyScan.obj b/output/KeyScan.obj new file mode 100644 index 0000000000000000000000000000000000000000..7c4a6aff41ce0dc97551cdb05dc158e8d33868a3 GIT binary patch literal 67660 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 literal 0 HcmV?d00001 diff --git a/output/Led.lst b/output/Led.lst new file mode 100644 index 0000000..99abca4 --- /dev/null +++ b/output/Led.lst @@ -0,0 +1,184 @@ +C51 COMPILER V9.01 LED 02/06/2025 15:28:45 PAGE 1 + + +C51 COMPILER V9.01, COMPILATION OF MODULE LED +OBJECT MODULE PLACED IN .\output\Led.obj +COMPILER INVOKED BY: D:\Tool\Keil\C51\BIN\C51.EXE code_app\Led.c LARGE OPTIMIZE(7,SIZE) REGFILE(.\output\MCUCore_Load.OR + -C) BROWSE INTVECTOR(0X1000) INCDIR(.\header_app;.\header_drv;.\code_gasguage;.\code_classb\iec60730_lib\include;.\code_c + -lassb\iec60730_proc\Include;.\code_classb\config) DEBUG OBJECTEXTEND PRINT(.\output\Led.lst) OBJECT(.\output\Led.obj) + +line level source + + 1 /******************************************************************************** + 2 Copyright (C), Sinowealth Electronic. Ltd. + 3 Author: Sino + 4 Version: V0.0 + 5 Date: 2020/04/26 + 6 History: + 7 V2.0 2020/04/26 Preliminary + 8 ********************************************************************************/ + 9 #include "Main.h" + 10 + 11 + 12 BOOL bLedDisFlg; //LEDʾ־ + 13 BOOL bLedDisBleFlg; //ʱʾ + 14 U8 xdata ucLedTimeCnt; + 15 U8 xdata ucLedChgFlickCnt; + 16 U8 xdata ucLedBleFlickCnt; + 17 + 18 /************************************************************************************************* + 19 * : LedGetDisNum + 20 * : Rsocʣٷֱ + 21 * ֵ: + 22 * : ʣٷֱȣ㵱ǰʾLED + 23 *************************************************************************************************/ + 24 U8 LedGetDisNum(U16 Rsoc) + 25 { + 26 1 if(Rsoc > 80) + 27 1 { + 28 2 return 5; + 29 2 } + 30 1 else if(Rsoc > 60) + 31 1 { + 32 2 return 4; + 33 2 } + 34 1 else if(Rsoc > 40) + 35 1 { + 36 2 return 3; + 37 2 } + 38 1 else if(Rsoc > 20) + 39 1 { + 40 2 return 2; + 41 2 } + 42 1 else if(Rsoc > 0) + 43 1 { + 44 2 return 1; + 45 2 } + 46 1 else + 47 1 { + 48 2 return 0; + 49 2 } + 50 1 } + 51 + 52 + 53 /************************************************************************************************* + C51 COMPILER V9.01 LED 02/06/2025 15:28:45 PAGE 2 + + 54 * : LedAutoOff + 55 * : + 56 * ֵ: + 57 * : ʾLED5S󣬹رLEDʾ + 58 *************************************************************************************************/ + 59 void LedAutoOff(void) + 60 { + 61 1 if(bLedDisFlg) + 62 1 { + 63 2 if(++ucLedTimeCnt >= 100) //100*50mS + 64 2 { + 65 3 ucLedTimeCnt = 0; + 66 3 bLedDisFlg = 0; + 67 3 } + 68 2 } + 69 1 } + 70 + 71 /************************************************************************************************* + 72 * : LedDisplay + 73 * : + 74 * ֵ: + 75 * : ʾLED + 76 ʱLEDָʾ500mS˸ + 77 ʱָʾ250mS˸ + 78 ʾʱLED5sԶϨ + 79 *************************************************************************************************/ + 80 void LedDisplay(void) + 81 { + 82 1 U8 LedDisNum; + 83 1 + 84 1 if(bCHGING) //ʾ״̬ + 85 1 { + 86 2 if(++ucLedChgFlickCnt >= 10) //10*50mS + 87 2 { + 88 3 ucLedChgFlickCnt = 0; + 89 3 IO_LED_CHARGE ^= 1; + 90 3 } + 91 2 } + 92 1 else + 93 1 { + 94 2 IO_LED_CHARGE = 0; + 95 2 } + 96 1 + 97 1 if(bLedDisBleFlg) //ʾ״̬ + 98 1 { + 99 2 if(++ucLedBleFlickCnt >= 5) //5*50mS + 100 2 { + 101 3 ucLedBleFlickCnt = 0; + 102 3 // IO_LED_BLE ^= 1; + 103 3 } + 104 2 } + 105 1 else + 106 1 { + 107 2 // IO_LED_BLE = 0; + 108 2 } + 109 1 + 110 1 if(bLedDisFlg) //ʾϢ + 111 1 { + 112 2 LedDisNum = LedGetDisNum(Info.uiRSOC); + 113 2 if(LedDisNum == 0) + 114 2 { + 115 3 // LEDAllOff(); + C51 COMPILER V9.01 LED 02/06/2025 15:28:45 PAGE 3 + + 116 3 } + 117 2 if(LedDisNum == 1) + 118 2 { + 119 3 // LED1On(); + 120 3 } + 121 2 else if(LedDisNum == 2) + 122 2 { + 123 3 // LED1On(); + 124 3 LED2On(); + 125 3 } + 126 2 else if(LedDisNum == 3) + 127 2 { + 128 3 // LED1On(); + 129 3 LED2On(); + 130 3 LED3On(); + 131 3 } + 132 2 else if(LedDisNum == 4) + 133 2 { + 134 3 // LED1On(); + 135 3 LED2On(); + 136 3 LED3On(); + 137 3 LED4On(); + 138 3 } + 139 2 else if(LedDisNum == 5) + 140 2 { + 141 3 // LEDAllOn(); + 142 3 } + 143 2 } + 144 1 else + 145 1 { + 146 2 // LEDAllOff(); + 147 2 } + 148 1 + 149 1 LedAutoOff(); //ʱ5sرLEDʾ + 150 1 } + 151 + 152 + 153 + 154 + 155 + + +MODULE INFORMATION: STATIC OVERLAYABLE + CODE SIZE = 174 ---- + CONSTANT SIZE = ---- ---- + XDATA SIZE = 3 ---- + PDATA SIZE = ---- ---- + DATA SIZE = ---- ---- + IDATA SIZE = ---- ---- + BIT SIZE = 2 ---- +END OF MODULE INFORMATION. + + +C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S) diff --git a/output/Led.obj b/output/Led.obj new file mode 100644 index 0000000000000000000000000000000000000000..c4e89839f00be0e7cc0e9a90b5a532d85ad223ae GIT binary patch literal 68133 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 SggzHvyTMsQ=ztu$= E2ucLowPowerDeley) + 145 2 { + 146 3 ucPDTimerCnt = E2ucLowPowerDeley; + 147 3 bPDFlg = 1; + 148 3 } + 149 2 } + 150 1 else if(!bLedDisFlg) //LEDʾرպʼ͹ + 151 1 { + 152 2 if(!bCHGING && !bDSGING) //dzǷ״̬ + 153 2 { + 154 3 if(bUV) //ǷѹʱPD + 155 3 { + 156 4 if(++ucPDTimerCnt >= E2ucLowPowerDeley) + 157 4 { + 158 5 ucPDTimerCnt = E2ucLowPowerDeley; + 159 5 bPDFlg = 1; + 160 5 } + 161 4 } + 162 3 else //δǷѹδʱIDLE + 163 3 { + 164 4 ucPDTimerCnt = 0; + 165 4 if(!(bOTC | bUTC | bOV | bOCC | bOTD | bUTD | bUV | bOCD1 | bOCD2 | bAFE_SC | bLedDisBleFl + -g)) + 166 4 { + 167 5 if(++ucSleepTimerCnt >= E2ucLowPowerDeley) + 168 5 { + 169 6 ucSleepTimerCnt = E2ucLowPowerDeley; + 170 6 bSleepFlg = 1; + 171 6 } + 172 5 } + C51 COMPILER V9.01 LOWPOWER 02/06/2025 15:28:45 PAGE 4 + + 173 4 else + 174 4 { + 175 5 ucSleepTimerCnt = 0; + 176 5 } + 177 4 } + 178 3 } + 179 2 else + 180 2 { + 181 3 ucSleepTimerCnt = 0; + 182 3 ucPDTimerCnt = 0; + 183 3 } + 184 2 } + 185 1 else + 186 1 { + 187 2 ucSleepTimerCnt = 0; + 188 2 ucPDTimerCnt = 0; + 189 2 } + 190 1 } + 191 + 192 + 193 /************************************************************************************************* + 194 * : LowPowerProcess + 195 * : + 196 * ֵ: + 197 * : ͹ĴIDLEPD + 198 *************************************************************************************************/ + 199 void LowPowerProcess(void) + 200 { + 201 1 if(!bSleepFlg && !bPDFlg) + 202 1 { + 203 2 IrqDis(); + 204 2 if(!(bKeyFlg | bCaliFlg | bMcuFlashWrFlg | bWakeupFlg | bISPFlg | bTimer50msFlg | bTimer1sFlg) && (ucRes + -etFlag!=0x12)) + 205 2 { + 206 3 IrqEn(); + 207 3 McuIntoIdle(); + 208 3 } + 209 2 IrqEn(); + 210 2 } + 211 1 else if(bPDFlg) + 212 1 { + 213 2 bMcuFlashWrFlg = 1; + 214 2 McuFlashProcess(); + 215 2 SystemIntoPD(); + 216 2 } + 217 1 else if(bSleepFlg) + 218 1 { + 219 2 SystemIntoSleep(); + 220 2 } + 221 1 + 222 1 WakeUpProcess(); //ϵͳӵ͹Ļ + 223 1 } + 224 + 225 + + +MODULE INFORMATION: STATIC OVERLAYABLE + CODE SIZE = 342 ---- + CONSTANT SIZE = ---- ---- + XDATA SIZE = 3 ---- + PDATA SIZE = ---- ---- + DATA SIZE = ---- ---- + C51 COMPILER V9.01 LOWPOWER 02/06/2025 15:28:45 PAGE 5 + + IDATA SIZE = ---- ---- + BIT SIZE = 4 ---- +END OF MODULE INFORMATION. + + +C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S) diff --git a/output/LowPower.obj b/output/LowPower.obj new file mode 100644 index 0000000000000000000000000000000000000000..dea5ead150b20b1b5706cd481126aa1ac4345198 GIT binary patch literal 73423 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

    M0HH!b|E(#%T77OP9g=4Yo~sy<=XPY93fx2X^C zLZ*e-@*tl-EVgv)A~)khk(ubPLB=!<-`L4iH%dJiU>D2bbo6$TX=FO`9X2r331&UZ z0-vuz1(gHUjoZKP&n>zy(%z^sw@XYtj3fvY(@-DCJ?;ELLLm5mc~zOOkw`S`oI{fc z85=WoC)5q!wMsrlN<@p@#v9r&rV&HYQ3i1grBNJ}SMnMPe()FmoSCRXb|6DG^DHv? z1vv^Cj&6t()6FAyn&}upMWdO4-c~27k{-(+Ad^eD%W1ejQJ9MtD74OKLcuBb+r|=q zmAAgC>q>=RxZsMGc;h(tCV}chOraA*AjC3`D=fv~I3eJIkP6(nqBP^rtuomLW5|=n zrWFP0%RSGmvP5Q-X)_O+WK+nOQ0L`At5rnEOt130#$VW;RH-d^Fimc^5T|`HA7jjd zhpE0bydo|xZ2A`Gc@Y^S9sl5jOp5fI38q(N!0qr2xSvqSh+B!I$O5i+?eaW$cl_y{ z@b2-E0P_1qWT)oQdHkeP!WwvpJ^mR~jYvA7Y6W{+WVS+*2G$R<#tOm4uVJVlV9Z!U zxU={Hg1Fs6L!M`J_=#^&)T`=7lJENHh+_a-{LcX$6{ao-Gl-~BaB&Nf5T$yrX97^k z&A4psdM7@12z&B4FM!h0lrz8L1Z@y`=-0DDD@=85$9-w%JK;AFn)QRpo?_b5@D#;} z7)G~}xPd4tgua{iGF2yTZ|m$XmAeZC5`5_J2i7D7@sYVn&;ooyW+d^|0c~XaDEG8j zCNnYW3(IfuvAIc1W}el*J~fQLc7oLkBA#NtP318TP;Kt=c@98GBql36!Rr>9l%SZy z(!ghPc*-<*w-}h~WV|bxot8{lSc?iej%%mAR~yjZ2|7k>(D*3b=lvERG)mnv!(uKx zF$i?BGCNZ|HM2ZQUXr?8r`h8>j-mV3Q>X{{4*jAixO*na3huV+u24P~6);PU%Fqt$Oonz^4Ay$t8V(GSU>73CvSaxKa&=Y?loKtnSK$L0D{Ys>hY+Wad3hGp>cAeX}b8&a7nlv zKP~9jd}!tz_xV9oz{=w^9z1#qX>qB+t66=e8?ql%-!L~-h}lc@CxUO7Ot&e(Z2M+~ z0yC$S_tjd<{#4_=hd#-ey@wZCU&Dv3k^4{jmfWMftF|dPo>F*?4D`lczeo`RT;ieY zL{L{yCJ3Sg1z~@R;H0yowx*uCg0ln82R!WTpmM)K8yY_=Z(pW=M|->fet-soHkATa z56muTb4@B(ebMG(h!6SjR4Z6LCI9zSHdsAF{(Gt*te&U*HWd?A&xGG*>GWsxulPRI z6jsmE{`+pf{dT|2lF+aG-?KC3Gt}M?EON)DRTfz~e`~xC5GZ;9?cL41zc|)IPKf?& z`*Y4kN{SSaB1;O;$;z37nS3@gGB#Z5E)Ra0K7nmhOMkH5;gKnG&9()H-VB{wIC$Do zN+cdsrV-8tQ}3)_W$MzNTjPD$nEFZ9NkQ4DFi@lk4EMT4ylo=lt7>De<9n-M&O87M zk!g3lca>>xq%q^cavirj?F8Qkj`85{&>WQ%`A_?JH>-F@nrPoZKjM#FushWkb+5t2 z&`P9iCyBBMz7!9-LAdLe*zTc>kepf1Zu{5y(+)W#E5+M{2svu-*BK=o^;c%*{@I6) zl9@~i{v0DsiT@~m0X1HpSKMzxB=OzMki0u~eaAWPq`1*;)Q0T(_9~E98^|7Evecnq zlom!|o{P)yQpXQ@tMCF$GC0n6b&a<|wzdMqpYErP-q-QC2j<8ly0SP~{T6i$SulEn zZXnZzen6Uc@~K7FF?>eB;M4+(lSbD*pKJhw!}}<`XKwV@+&klYH+qk!v!sY78Rlaj z(;f)IF`|T(@b(*nzLd3Hb0em{fl$*O`e$}exZ%FYu)j2Nf8$^#2br^qn#a8EcoG7`ZYaHx7+>hi3U!x ze2^4j7=cMn6FGSm-$i}8=-brgCz!sqX@ygrE_Z?_y;)xHV%xb%&*cf{y(E29aM%`R4!s0U9T{4B( z*7!khS6c~vV|xX+x+!NfT?PU*9#UyMaHG(n_c3XdMoJXdMM0P)5)U45LMMg8c#8KU zNq_AlbDwpB)rkquuux&xi4k;3si}9!lPQr-^{*4yUcyI;{$SdB zgX*a%?@nst(X2?8;(HaVb*cm*VSl~q-;~6|GlPA1_)s4MLU_d$9Efa_(kp8=HQqb* z0F?9!uENqOhu(0zg@zs^cTJGMLJ1z}$bdArLd1g1^se#fGKzr7{*=j)Tma-hXv@yM zn!XfI5>0|6MwuKDLExvuQQ*lLCwNMff4hajIYoCoTNvm&=oYw=B0*+{sky2swxy%$ zYy(ZkQ$||!e?3z)BvzenOzsR&2w1y`sgiae6-<4~ z36}Ime3}3;UCk&{7h7kJ9VdqXb^IbV<~Um1B61pzGuO(&(1P2aj~&0!+4Xj@6~~!O z;BIdNG2c&+@dn);fwYFPgOFKGLL1}cb_>zjlZ;6U@D2T{%g%8%3%Prmq4~&aN1dqE zjx5uoQ(=dIc1?GvOO6{AI^$SN(lcwNcnl07gM(RmoxllkM|mCNGfVz}rRw6zD%KgI62V4iuGvUbiWC8=+c1pq-;U+7aUtZZ{)t4peCkTu-a!dFT1mPHsXRcP=i` zZuEOI6CLpvD&3lyrM%u(t^#Y?UxV-{b~^L5Xus|JK%+Q!4zaUZTc(593(PzizJKdE)tOwH^kJiC&jw-op699iGF&^M?U-}qOH?K(v={+c9L3v{8f|znH>zpstk+9D*EWz(zq`mwH1SNygSc139u*zy6 zAL6~jSr5=JwLv>RDGxRjJec-B@T%inffa*-DxXv+i!*^FyoWWYf_;u*jhpGNB3LOf zeAJJ!J2&8jZ0@?!{}$TNwOEtvA{?R3nX_=3qTTBMp5Jp+(wF`Bo!0vM0>EQR^ z^K3q2frZ;G#3_#Q;iYPm2LUt#&XwIFSkMA9`XE(%n7krSIH8lmPTaxL0?F!>#R8-5 z$?75%=F9mj6XgRbk*yv0Q2ih#qAm_Ni2Cr8BD}Va7d0e^-go=m#xeUxd?bUIzRS#h zqL`sV%x_mA_JMp46o z+<_#vJ+6iox0q?~tcFyeKVwioV1Cu z3bfSE(0UB=$tf>Kr4#HAoikn|LRWskOf<+tBw_d8oxqLa*uCC5JMw#+fT@710ndRc z0n!oKjRtz%UgD&P3=6{N4=h$rbkprZ5JBVJo{iqHu|7ei7e68aWPdNgN|IysP}ZkA zW-m}jk|13RRPlSo0^Q0%p%8rg^4-N;d4G3lKugfKIkD9!?6Fh4%Kp&9?57W}G65*h zc!2M~?#&d|nOJ246B^LN1O}KT`?7Zs7J94SbyU1cihc1bW4G&=R;B;_jT1cKnHIO; zx^E7xQa-)|5oj$k)KHq6$>wm{!NW!qQFs_;{?$V_9zsCeOE17U@Pi?vI%yrX@c?-> zQRb+hjs$ueW}Gj%X)@!U)%->2E;W zWG`sT@h3!r8s5wCCxn2E_of9AZPU7k_Eu|rrjZ%%&$r&2`UBoehjYTJa+e5HRgK?- zRpm|w#o>E9to~Z8_C;3v603cw)xOMXUv9NcR}uP`>zxQhJRbjxEO-|A_4_i z&1$m<$nd+Y_bd|fdlm_~eXaHTJy!cVt9`xImN^H~Ap?AvK{sgcwcxw0c8}H0h<4JO zu-cPWd&+88t@cr?eavdlSncCh+cZy8Qi69vyiZxxeq|yT;vw&{e!pn7m#p^vR{ND! z8=^iQy`J^f{;jw6Z@smD>#hA;FPucE25V}JH3V(9%@9nyKTi+GACEL}p*pPON3t{m z-b;S8)tZm=p5gbBA4!8e-b?->>wx1uA_wqj{B0FMwsgSo*84Y#wv1Uqk*9v~UIuvM z{ebm;$Z8K;ZPR#yYN>Lc+L!Y*3%ueem-w`8=G!d%g)ysoUAK8HVm#YK`pmDZHoBK} zTik;YXvS|LDFPA%9{l}q;H#(?yI>8C-rObEvjzsc%RuiJou5fr63r$dECe9}Dwu=f z;3%5o%E-4uhn{&b-p0}p0<23;p!I@#EU>~bL6*AGJQKtsbk~#-n^y`i2L8wu@*Peb?-73@Py@BZmcVuw}X+CqBKqcYvDmRFtyhChU zR9?O5X}4{&ju?b~fU;v88*t!65#Ay>VeYF*xO=uTQB(B8(dzO#9}LnohRWBZAYq3S z+|kwfYzTpko+ye8KPp28m&~}FL?&ms%*N|(woSy570Uv^Yaj1vR0Z>IVJ_zeov1xu zX$n9R#=Q_KM}AZ$TsGwQgdsG3;Prx~P1pm!b^}4W_QN##r3VAgvbiB3h%AgaE`l)S z**udpIFI%Sj*Pp51XG?V40c;fMMe^}R1Y|3oc7E^;c}*s!W4GWAp(u_(QFyf4cXz|2Ip6{3Z3>CdkhZr94uwQ zyyN>uZA1NFe=f821$>1r5!1zEMynJdHMbm%^bL(arkJvmtuM@+<`);~a&R&q-L4QA z=YmXorZ4ac-ZRA9=q6es8y)`rpn^BE6m%Xm6oeIH8n9wO5Tgb31=Jc9Jz=(S%y9b$ zyvN96PW{2K3gU*$4Xl|r-xjHj2X@&f_=u${J*D0t>wnarWpr0Hi&6!HOqD9}2Dfdx zJxM!+NU@(6mppLUx%X3la&eg@G>PaQU}a7XUSs9&c#DA}>Qc^mRew-^j1R5`QRd}l zULvDL1nlYGiVTL~lf>Zl14=u|M&}@br@eTC6Ly2J@0^*~rY77#1ZL&Ws_bzN0}Rc` z%q9}v+l?`RNwgX52l(JuGEY(6xh93Q@H?Fb9KK`fB^&vu(Xl7+k2X1{)+A()!I(A4 zx=pLI=fDZjEkFi)Le?PXYg7Ab(wn~G7#`B8a4LP#+4c5^knAe zre}`+9RXt()zTkO)JuFh9~_4_JG>q1=`E}s_yF3FC4hC_KKJ;=4qye5T5^pFV+9;2 z3gnINpf7G`jP|`Oo|XDK5v}CPmw((RfBpu92<{_@H7gHw=krvEkQ}*XOw@-_e?J`D zin%`UMCy;N7vxq$Q#V5j(C(nl@bK>?naPSnKM8~>u4ajR>$&PIVvXXLP2O@dX)>S= zWd6C`5j(_C_izLovQJd@ukxZJ^3Gj}w9)I;lT)*M5i?ItTBR%Fs3zlYMv%$OtX`;b zSZ&jW8U#-(xwJ4aTrB6x<<7|0m>ZoVXz3KA5*%e>cG zE=bcBu)s2s%4a*2EsUTnGAFgc*A)Mir0~WC^+-eK_h{(?A7{}OO9~_8dCaNl>cy3b z3}wJC4fOucD!}sw@o!{uK>!bKOhxPtiCEY9@KLvY!do`rgId;%IptrApL0r3dYES% z6iUx!GlRvkAxP%&Ur34qWzBrbK)eH`Dfbk6{-bD1h!oHt@|uItM{wI~lv{n^08MDRJK#FK^Zudp5?Kt5DI7`z!ocH90q~2`W#~%E4*0{;N4fq?kiIOKJsGX z32wU(_X2M&p;~){dj{K8@Ww-tFWj#T?Jy&)H@e4RakbT!4x}(tJMdN>$K2qDF2S5?HKjP-~6_#F}^T zYEdvnv7gJqwm752RJ?MOGz_JI1)J4U(x8@TB9KVU1 zgopDej~on8k!k09ouDZ?wDg01?_`__ly|(=IqbCefC2tpgA+IA>$Jl z1UAbIm6;&1LbK2~sX+R9gXA_WH$~2qaKkpUXrJxc=d*&0B|Vk7H*nxJ?TV9O8Cf+@u@)v9r=Aa zqC;S=S|{|-(+oE;P#h&%+37^4jKOFM7ogW2F_{nsys?RM)Z*4GTuQyb3$Rfk*z;Z% z6oix}2BhtoCIz%jK?Ys|(}i^}^LQNkBg5r<#vK;fAYz7sbngK5yP*=q(_%_kGmkO~ zHR?NI<&B4{6H?tN-lw|sEHS+6)y`h) zgxDU4l`1hyWJ|n;J|S(Rd=SZ4mf(V$i4k16mK}!wIvy|~NHK_%|37 zqx5c?)S~n*O=x#>frV^$LUjS|#M#`Oz_`}y^%s|U&TX{qSfB$Bf>oW{V|;!gQWpgm zh6aYmO4&>3^YJ9IO`v>=NrZP`_JdBy2Cs!W#)EB@>7xt2$@sz6 ziDQ0+;grFAWPCrtxz^SUu**e;dL0g-_%2g|ET*{2zKklCg^1*MxLSdoz}87thfHr_ za&9?lcVG&Zck1@?iUiImWF}*pEJD3}iZ6Lf2`dd$Dn9C%bYPKYQUU2?sg3dTd+6TW zHsbzOnit8RuoEHh1QJ|mB+{oNloH?9Rnj{tu#*|M1<$nqKCE{xZ2MupKoUD@Xd@c^Ggb1(oc9N4fyrU9*fH1 zzn5NN`7z$1px)Oy!4l50;(-LeQDozDa^nnj3P?QoJFMZ-D7Jyf!$L^nDX z2M%SSthzp8I)|niZOXTb8!)>kk6+*fPKtQj8+ga}4(K~g+rPI8WRseaCe8{wk|9El z%>9iMtWHQk$HR3ZhbC&b=!+JfCwQz=XuIKcl10k**aPnPuCwQ)Kz4A!=zb~(HnrGK zVDg;R9YRhtBhtgd*|ak1B447)RyEoldAKm8lGYG=M`Vj0Nd- zj=Ncin?Z?bQjVysPN@y7c7OTm&-90e8S|JXQihgk3 z+{cRO{%ZC3TI$VZ)#h9VSha5t4ke1A(09I)Wl3v9afzkPLX92eE^#~ZigSWVuVjq# zGTv=;py&E&G5wPB|3dKcBn)@k>kas?F^e;=u~VDichnc+c7P1fu7)Eh&Q_}nu+A*f zv|sKV!A8Mk19LirM7qweohYmCn~v$@`aaVRSY?wM2WWBv^a=Wa)aX}~Xo|39J`RBf zh%IbQM;r6yHrM@c#S8zzdv5c4RzmR;yyrIF_cIgK`XK7!#k2f1;wFV3u~6a1P2spe z@qu{Qt%5(y1q^g$`HTwB`x-%lyg457fhkr8{{LRzvr&y;{gSFP^*{b+>uBB>m^;AJ zuS}rJQ-L?X(Ff&titr+$MsEmsqzBvZV#Wiueh=b$#)>El5RZqHh&>B(+dK{lzmDdc6lO&UoN+z?bRg~S+ewa2J$ zFqk-j(F`*mW)AGvhbWv!fO`ouu#;jL&GJ6O)W!p>!~Hj+o2vaOHijzexsb+MoOoyy zSDJM)tAgQSU^p;6Km?7asHA|ui3KrMhlx{XpLPOo6CwW-e2Qsj$u2s38=as{LWXN& zCXHPnW5<2!DLMV=`b%Lx-S(wayK{t;lpL-h$S54-Ahvj z>2=VY;V+2Cb(3criGs@^(W#D8E@uAQ37irYetUSg^>mjgu3JY0juqkKiSIipyk!Sj zG9xhsWpqAGaPlx=uiN%OtpugwFyZQ=XoJ;oyM;P_Ge>%?OcG17ODjUAi9fQpdM)@I zJ;3T1^8y{QP#v0?q9C8!BGAm-Qc~)qF}2W_n7MtPDTDknK{h@th^}xq_Oo)hTetr) zv~LYRHZrb4DM%2&S?=N#roIu%;e41A&;Ggsj^o*O`caLl9L3Z63fuP!QzVlAF?|IG zV0cpT0hsb$N#n-@)UL6Tz3jmAph~%K&?-Wyp@mfs{torP1|i#(cqag`T|1x=PUV8# z?0*x3Dl;)tf%mem@ZNb{SKEI?!1aQ!Ay)uQ>39H+;_h2@Q?>V4yE%VtUk%7U5yr^Z8a`x={pS1CrDj=}pRL$1?^4yVIWtFz_KBi!X)_ z^ga{$5-<5y8l!#yxxjL7u{t?FH}zsC=C%c%D`-%`t#yQQa9$#qS^|w{zA5h^zeoIq zv2*EWw81mD-9nSUhPNOs%B0Vo-b&w&XSoS)5+9)lvuR>HFb#F?RgflMV*N^{-v>96 zsPhkT@z)ciTnonF4iQm%9m@*{GlIKecmz=+@u1rkUGi{)l3GC(Nw! zvcRwM8Fd}TYW&Jf61t9;KC?JU3h5#0GJeBLGmOn^>-m^d>y^pqlmv)Ot`##WcQY%~ zO#AHB3o! z&Ar|^@)lZL{h;4zmYm3DxQp^!qKt=$y-oy5%rUX6%j0OGJ%dlF!Ny-e_6noRAMhdt z$yEqG9rY0v`W1MpDUl}qOD5Lx!phRIG8|{|%;ucHbA!IYY}gxuHfW362n6^5uf0z> z*|}FmFc`96Gx!=`p2a8W0Y*Q@f(+aP?Keig!uU*zLw}An9sf!ib*BtnDpPR6ZxE5S zE8OcSBKI~pp=w2d(+Z!_B;TH1CM5|q0I^%6rqIp8j1$DkpqN|l^vvusnUGc%clqG> z1o+-7{HzP?ThmGa-xM2NfU|$+ah&KrMoQjT_D9YMq(uNkK!$~^G8bmLN8Oa46cXO; zj4`ZJhg(BRiiw}FB?b6o#{6kVH+jPQEkzibG`>Sj8k?_fg>ojA$)mlzvUCo?O37Ul z2ohC#d{{{85M>}!a35^D0cuUV#X%13D7NqZSAy9~-@rMK&zw>v}cUpznj@FQvHRx zJxdsfKY$xWO35uIF?705{G`}EL3jb*-gz%|7k_l7#67FfyMM=+z!j`#241J0!467F z=vRTpaP`SaurkzWEn{fv)XNl_Hqrj3Imum!_LpA`Ig=R@cbxYoRS+*Afbo8RlA&(K zfU;o2AoF=*X)1CKJrpNs(qtQdv*?tA%5+fynPrxJpkQqj{4f&PN<}CD291z<^0J0 z(UJXBEiw1IPT-Adq}=68c-{T#Y0$=WSX-RwGVN8=VD)gr>z?QmI7)7PK4eN6Kp` z54L~HA2>@SW*~XS*j??+e_)fCKLIO&o2!Pkn(zf|OunrNZH$%MEi~oRe8jBG(8rMu z3SX6W8^y7Uts-i4+_5A*pI>E3K7w)31N!?c&&IRDZqm)5ZJHhN-VCRWR#&VOy9b31UnIUK{k$k_D5b=WLgfJC zGt;clzDay9;mLC;;hFv+{N6ll&}L7sp0B(}2Jg-EGPDs3iHCo077@bxJM`<|{iM~N zvf5ldguiD>nfRV*u|WH{1;1dm@3Pv9R(r*2qp$-W?%&LbK!0cS>)`!8R{LJ7{c@}Q zYODRA)n@w~_y0QU{hO@zo2~ZmS?$NI_Peb1yRG(ntoDbkwz>O|_%|=!%M#IeFY%xB zB>t0@6p*y)cqBzU8onpjN9L^Hy$Bbg_TAR_WC6IOuxtSSW!CRsVYOc++M(TCuUE=r zqc*oC{inpWoRET!Sl_Ey?Fp+b_fN_y2$%Az*6*d(m{K=U;U_#ku6Dz1x!>%7R=duM z?I@FpUznfV57J?Q_ph|Z`x>h)>02soHKaXoFp(a=9kVJ^1M&L{#P>G|g9Q9OX8a@y zIhvs}XeR~y7VG^M@%|5|y4Gdr_lTU8=YmYF!+SZ8t=2eYwE+CSS&T!vJMsP^>;1)6 z`%R+A%X-}R5Y0r!}1N?7W@Ncl%@?4O& zHX}M=ulRj~h0jLsR`FimHiZZplByw3@p6f}Gts}gh}WOb@%mhus1s1(uM@{B)r z&ejN%5~T25V7&3zb?Dq?XaCy-?+*>uo^auDmZ4^?U#I2>tWd4h*Y*{sa zsCb03i6W6Jepwqm9C~;#nQM3$L8Y%QGNu&obAoRW{)LyYS!88~ZV(@sJ4rdYQ?#tG zV#ZtJ8^rCVyVxv3(Z0*`1UTi-KS~c$I4HAfsWonj8Jg35#%+U?kTZY9N--=A6usD? z;(B0m#3qV%oDfoNEh9`j!rJ^20d7Njlej9Phs`;hHC{R0&#re~^U!sX76N48KrWXl zWH2+9r(nHu&YdTtohiK1E4&5$&sPAUIW=b#&ekXYnd!+SV_eyol!%EpHTboP6m0bn}pbRm?^Z(fuiLcfws`B;6A|SJTj&27jI;r z6d9hd^Q1xXQpGc%-AbuYme+3L_<-zzzP7XU5m)^SDcb4qn6)$*aD&hDb}nUyP}MS< z?><=0441x3-;3ua&1y0PuHbLy3&fCkTNtNX*Ae<3BpH3#`I$x`0ktuufmA4|it=q> zR&xg&rM(h{Ko4dSR7Wn8%@j$VJE-3ldKtyLAO1Zt+Dm~Qz?wuo+xz5=7N-qVx8F@b zE>ugYx<*+;!2dDGe_~YoM2T|^B^uW_akP~jE&2icERz>`W9SOa4)Vo-=ev9{WgirO z!D`5N#G?(XA-7v-nS(v!-~HqJuM3&HLQs6hlWBRIWF|*rL)8Eh7iM4MoL7^O_HJV{ zuHQKp9(i?>lWb3o%eUH$dC&vQOfY8k^}KY&3uTwl^8P}NKF*w*^iF7S1)pT7KfiYS#dNSF54Nos4Nwj^!3MfYZLg#(f9D?WG=h-S0WSVE#$ zrQY^SB8Uq)nyr_ba(Dxu)9fEr7el|Az824lnuNS+-u~M;GWXX`usVfYp2`W{RwY&P z8|L!26DT|wb@Utb%*Qk8Sebg)#eCF2t}r|pZC_Uih!-tPMfEBZZ5G#J|E;DG~!QGO^|r{%bZ_M1%(ay%QsnH<~F{3sblZ9 zL%nmU1*Y+MJMS5#;6lYDWd;%L@xap4ROBNAk+HeT;?$|iVzoRpKeaMj1@HFJt^N)# zr zCc2kKi#5P>!VLBG!uWEWml#1Nr)DTR6;h2vfR@Ujrf;J!;Q;~)yaGfVI>?Dwo;$y$ zQP?H?{V^sbbv3h>I|j5 zlcMgoQ>XEi)gWYu98-oW-Oq-Gcltw)Qbx1zrvw**pv)Ts|KC-BFEkKVFcD@5al4_r z##417$l3rK`T^_m#m)|p(_Z@cdisNT4@}k8K$3^Pcpm+Y2Qbj>kLhO6UbfmNt@b-a zJ7s0P$e3`*=P$K>e~)Nyw#FlC)4(3STl_xl9kJSS{AqE+G~j>J`29PXsPqop1smGi z2v?Few73g4&vsOeE1A*rex?=H652bc6yj=H0xY$7@U>$cEuSM(cyIepB7@+wCMiVy zYZz>{I(KyW*aiZN4{Md47tH0L?p*c$23GS{W(ygdHqwx+`$nMifDZ&i@-YX6UaR?E z+_p@JRQzxA(L8~0;Oy`;b?iDT&NoIo&Bq*UrlD;JB86Ny##ys4!IycVLcN%xA5S}> zn}p-zYUa2;)6S}5oALcNiD1{P#f7rX&Mq4SU~owl<%_7Sp=|H`Dxl_uKFai=$g1PV zPOzkBdNyCg3gChLBZc0dJE3ZY#bn+=5PQIWTrA6U-2W%941^!$+Cet`lg{pwim8Dz zu!XK?eRE}!WHve z1KJ@$yU}XjVzu{L?QWy}XN;7UnW4(u3KfPrQJI^9dj^{nc3Ti1m(<24Wm^C?>6Bwl zuKPD9P7i>%&hvt`b(#97EQZhv52`SGEA^9Flt|YVj#V~%0K;x}lsle-uEZ8B& zuwO$rxXGDE9hI$Qc+xtiThzjWy*p4EhG+=!oTX7Ph~T!h1BLFPz{njfH>vB-!Ca)x z{UL!~qmdX8Y@5~YvfAb$98~e;U6-Bvq;ud+bn@s23pUOyQC$zzQz)&A0CEP!8gI-1 ztfBZ&Ifor01oA0Xqb5i$=5he;%2V=!%YEUFqog4g+}=t}qRN5)>}U-O2Fp0-OPHL>WyQ~O-*C=!halmwwDE9n_CQu$3+ke$qA}RZxx)h0 zOCr91V4JhU_2M3(qs$&LPE{6+4D07cfdj+(pwTM?9NrArfU4~em)lcT8wI=Y@cRX; zebQ>5wc7Vu?N?dt*IMmIt@fL(_G4DtzRl}N>-`6<_Q$ODpIYs|u-boPwg16tf6;3H zyVd@x)qd7$f5&P+Z?%77wSQr?*MN~2>vOKvev#1*GO(9syXk_5mBo%8q8uEJ(UkDC zFehwevMVb+rkLrbx`A$2WP{iw^Q`s37US0}AlY!A-#0TdGwQ<((j8%*Kz4D;dMXg; zM|{wzfF|Q}14UQWsPL~Ef&J+>)CWw?&1bB<>3xdly)s*xU#`rmEPQP_tD(pi9lmjI z5WbQ2?$fKGw#)N8@CiDT$!=+7JBdj3}u-; zR(4obdDkFzSo}AV!soJ=Ig9T<=owTpKMVX(_8`-vg2+WEUm0AJrh<*!1v;7t$@;+z zj)(K_?=F`6yT|$|m~O>6_O#%NcQFC#7!%TV^o@cS5`6qp%AA0MJa?2c8C{&8tS+H& z?I8so$Jw@u)Pyo<4-7=7Z!Oqn5{G#t6V4b{g$B@zR&e*#jkxNz83>PH3x` z&?2+=3<{Z??}VxqNzXxgJ=K(1S-j65dYs_!urbtc@QM@4^>tQlUm;MJs>bXEs#;L6 z5Y9cS)`aFwc<*~@_*j2z@iRPp;+M*_ znVp0AO%g1xev@ZfV)3cl4NQELPi6X)jvuF^?pKkIv6ZXIGbQ&xL79M?lD7GC3JY=D zJS8&nHt;rAH+;aai_2ElZKs~|@^=u)}M2+Bo<;|8r@<{zRqlVMO2XKXz5n*4=x`pqKf zy2^3>Q9BW3Kom;HoZs0hnD?EGeu%R~4B)%*#E|wLH74_QdC*}LD)FPB;Ny@lljZJU zbA*4$vj@CwwZNLA#sJc+Y%4$i=tu$1w)l}JM9I|PZn=rkOm>dyFR2(`@UM92jRNl{ zdBgkWWvaP3T557mT4uu5vTWg(q*wVaNB`K_b)7IPm)Och*Cb~~hCfYUF0zAz0}r+> z$PVeG2opv7$4vHGHt&e5*u`6}NjT7ldH6~n;8dUY(m3SCXXvDGK6f$Z%2eH>H$TvW ztDb+y3A|pAX>eheA6J26elJak!z%Xrm$|H=&>uPZZNkEhoUk1Phesnv*51MUi}Y*t zzSSU8^J2PgIFi9Cq6b#mGdKNqK5HPIz&zQRbBkmtktlGxqwk&vR_WVxBVWh_L-84u zfb$CilM)UuRH(`TCk>8%GpOw5nlp#%;RB6=H?#$T*8fkz#~p7;amb&~hx`Ot7W$n) z36VfE5->87LCG=Z7MT+Q%SQq}LT2val@o1Rev2DrLde>4d;l58VTTIUe~^YOcSPvv zF@p@SGtKBBv~5pMr$LN(Z+d=$`;7U1j1n0hi|!DIq<6^pS_|`m6)Hk^Vqto65@(N; zTs46}Qhl8P`F~kbH~xYxJ8=;G`hO zJGfgUQ)O`D)eUOEah#@E2t-+46@6_`hU9tFhdkkfM`d~$TeOuK)x`eF@#@L~E$Htm z(72tjQIs4z#Wh)$6n4R5HWC(rtCs~AFs%130cz<1c43^nR5ye6Wk&m3Jeq)Q=Ksiv z!IX&iJj{4N&@3(9$SCD?m9iH(z-zn~;kpcrgIG9K6OY10zv}>o@7DCPk1{_&Bhyt^d%1LwQq^+s7RB#cpi)2R`sGYE>hcF&gO`*Ejv9!b^UXv! zA^1?ZZffOOo?XAn*sn6+10UJS%sAcCj9Y_W>w`wSPRV*U%umZp(~Hj%kUZpBkqzs* zV!E(Tu>BG3y*&PMnPll=Hs4pu7E9%vd)Hkk&?m2aR%O`qy&+hE_t3AZ4&(>G$` zK$%_qSp=G=(`40>&{=fAD5mpaUQMHv{I1R}C>L@t9M7;x_|H*N1l9~Z_?%r@{ydhf zNY(1kmi{X8Sw0z(-ah>m^_eRfjIxqfma9-3;%z2jAp|6F1s7_BItPS*&~MZSDr@nq zXMLZph02VTmDFA19Bq?W(i1#dRpNLK6}lwuc#?HOE(*fVdS+LurTO{gW25t@a5tKZ z1A|;&Z(!-a*@o<^h7?3FceF};pm%0khf&0-m$LT9rJQgIgJc-Q!_~q6%sH1vAyj7S zNhH{aScF1hY_vpG<1W8MMQbF@e{0RWWvBXAivOxB4`e7oc5G2)5Q=w5d#At}ZUFEG#2@vU_2{TQ}#`Y}DqRt`o5Dcr}l$TU+OUk9;Ca z-nx0Orp~YcQO)?XJ2wYk(uOSctp%?p;eU$&>0|fRli87aWt6C1M@N5eC-OYkh^aQO zzXD_Y{zqDpEz@h;W}2S))#kJNzHn^k_dl{Xq5kC@{+G_36*_!c>q&KMt*3~j)_Mwh z=%}ZowWFR&=Ip5_7s;M_@*mz*Puklp^)2|%MV_~}ey8X4)?bYOka%%xJ;@Ze){`JH zQh&MU?W?B&?5n>L|GCO*p^?`{NB%qYWWnDY%m=))9S@+o2);<51 zuRm|^x@VsM!onl#-m03PRn7U$x4nPo?9L$?{WWJvR=?&fg-l#?cDLuf`0O6fyZ-ET z_zz_n+<5i|&%62Tjrh;a6!Crb7W`)~RjoVQO+jmCd+?uL&l^3P^_pl%wJ}4QAZlDI zsPU2`)ZLmIZ<$W+bBX$9P+76|wEFJ?{<}{7XL5e3T3c2BdJO+vuI%tO-}?Ha6d8$E z<;uds;b8S?-CHOBw{oHP)aW~puJN|C9;RT`UMfXONI8sR(XF|!S9W?Ise2v0y&!no zTNpn~EQZpm2a2>^T5~Dtl=j~150^$p@`ner z1Np=Bi^BuMnZw;Z#qLa|HFx)~`JFZ=wC2Vum-*k@9{W97CKkMJ6hYjOf(D(50nPF^R2m&O5R)l z34E#dg?=gIEv>o!N}o6J=}+9T#=H52eU6N%v`nqJH&!y?2L$nx$gRQxpw04a%m%Z?{LyV2W(R}3s zul8s6(U&$00wtBBH8)?`?rqueJWc(4@zReXY|VYR(&F7x!47E@KL{#twC0|spS)dd zqR3CQU$r&&I@(E}{@S}L_D;&=AXpUgBi*zNL-d^;U)n+gmER#Zk+%M}=GIm&_r82~ zk$$qH^{}E@a$fe2b@yivk3_;H$;{8+#NTXWCS+<$on%P!|m z#Dy4<)?AUc_G9}nce%CM64IJ`s{u2L8J>Z++<1x z+F1RBm?s~@4s*CZ^o!3C9+&~^;{szSY_LFJu8mu38J zV-1AnKSN?$I|YvPEmrS()Q69%K?zaz@t5oXEmp{-`xrq%u;jo?^WH@>w|+ZooTPWn z&lVS|Rg@`$c^T-A_L=tXH*og-5W0{FB1rF1(DCuE_ZZMWVvPGGEocDCm7`VdiZC6> ztm>z|2?KmHuQl69I&yBgHYLJH%b}*M4_VmaKSjfiU+G%0(r0+mDw32}GX#;dkU;_kk7yEBgaB=pjgvi4Uii`y^j*?mz7U1*O!9B2m zP!#S|mX;lstFR*QH$OW_gn(Ll`aydwwMiIN&mYs)MVqZxXa^UW!Gst3_IjKsY8LLr zLma&=tC{biV&>oj@oQ91k;3``mX9;4)cxD#65M+6aO(x!3hR6-9$>Maz`(oK(;t9y zs4dc3vbs0#?KI&BnUW`pv-78djqq&(cd;JR3v)XgJ+fTty;~* zb*+zRtm{p@uC#k_%iEXy1xor0beA8shy}_R3-lVsFf9;WT}(aVSdwd_O(CdWjXi(| zJz{5&3Z|yVZBn&@b`$5dl80%Sz6qwwme(!kBo$#JCy8HrDEKb|r>dBeODq_nKxCHR1T}9T+zKD6C zGShQT%Ez3YHw$Zbjt%Au%OCJj7A+#7zX`t!>&Tr)7m5ifG zxTHHKx+$;YJ2ZfJ(%nLM2;qY$FQ)oy^X}Axl$dUCC!`9)Cv$p#DR+sp+oU2Nbc|sy zGr=o{)HA4S?}LD%VY;51ldaH;X3~F#H69JO2588rYR<|-D3t->IT?eD?e802n zCQ)5+H^(3-+b!jTll>__Ff>qdkA0Ik9DQUTGAU;;AIBptCCc2~$YM}lUkFnY_btPF-&Qqu`z$Cd_ehNYR8RLjf1q+#r( zPuJ2P4C7XRKY|-V0KkK8ml^K?q2&%cC%!|l+u&N#V99p9&k5Qj!nV5trb#NY3b_XV zh{tx4jN&pENTO>FX@U~aJDUD1fH(CJ22Z1rIN5Dm@b z#5x`a>PN6%h(uic7&BU5_ApYOLYf|(oaMEKyg{)QQ9&czH@_zqOkR-iW?uV%Pv&9xiKo^bg6B-I z&?NnfB-?g7ztAWGntHf%mZ#fuZUamzFh5|mD{SfN%TS4_3!NR-21W`%Re8wZH~DI1 zan7#-T7|+DPh|=3Ee8I+##DyL8q}mMcl7La_P$-5Nr#!ru+o|QU>WIapLPN_3HN(o zPmw_}lm56db}X8iSI*`b%zQYIW5`_2)dxt}Ygh1ba^_YMGEt@nAWZH^JYH{)*6HlrQUzTJYaSnUa`UA5Zs3{F^=C?%{*k)(AR z{oikW&lDB${#Dld2dwtPR@>Bf0dGn+X#bY=``@! z{l`T+C2Gl{^jMGeo()!-9#W#t6Mo-k{l4F7OL|F(TpPek`Uwm3aDPSXdnKza=`Cel za+MO-0iZwAc8&HK>w9-w?Xy<lt-^YW_g9GbY3qAwnz4Q~e$zrfgA8j*FlfvE)53;?_jZ3Tvc7N1#Q1%?^}fSu zcUf&ofAWGAd@pPLUecqymma^D^dxK1Y&v{R39pjO_=!P%HKDc;r5979~94I5SNi_9aVq z*kbYS+-lAhb1M7UjyP4Ft(=*hTka%TMM_(&#K?=NQY>9TpU^p}%A&v7DP75n)rRab zx99(aKp~Ri!QWwFhLj+OBdqtqkKo@pL%Q3&e$P?KOk%r_duElhavJF$@fxQ*u-37O zt8f}dU!>VcTybQqyj&5k5p!RoZOSblXDx$sQgT!ar)9wkX}Nx;s)^rve$ z3{ee-jxM@;sM+~}4dQ59<{{{C*|sn<6d|lo7NX*^ywUPpMk{nPSRgxcPdGbI2{T4N z2d`2L$8>d|BSY6|vwO%LyecnT{5ji|^hFbeY6a;v*aq>Y>7+NQ2u*Y1Msx7UINP0v zUn(B;DItW9Gv>jD^@}JF$3va80nZd zMZTOE=!J*NrB$0J$PPw2xDTo1Dq5OIrh4W_{uiR;DlZ6b<#3~eq}3zI4yx%|`UAX~ zw}LR^MYz#DtkmK%991Un>jc?C5D?n{c_b)Ry;-$4Vt^y#+PQPcKhG$C@`>Vgtkd(W-82NlS?Ap)$iExP{^` zUgqp?v(kalA^N+ENf)+}Od(S~m|cZ*w~M6wgS-^l^GD$i4>)^mQcJ|WjxcuFs8jCFy@$q!DMo<8gBuTBVnckrqb zA@&s7VX2DWFWZG7cY?tv1cyA&w>ZI?gc=sOU=_zM!+~?i3ECk1-8Zn*g-}I0C=2`P zs3cmLAo%!mE+wv^K9_gR%FI9pzMEW@$_beAc4;^Tm}M?A z+D&DR^i`KToUlp3D-JPincToCe7&55gd0yC=hCLq4+i{F-nB5mmWu7c7v4vF`f3b78g% zSvM%2&ed&I@ej8Prd}9n7x}Q8gwwRT2;D&{0nEhZO}S%i5GI$=6aECF(GRlnLeUU& zaCe`d8cPQCU#)^7)5OxsVUdur!kbYkD{LChPM54@S~VuD`$BYq$pqP3crcIMOv65R%3l`w5R*kp#N+hx zC{VnNsM8ei|6!d77*oM!rltOopd#iIPX`Z$Vk76nZ(3+?>>UNn7WRq$+Y(ynu-(|{glrPtx@?}tUDVa z=^Ztow=y&~yGkWMg-;!k78jSF@Jw&RXIPt44nxYP)&~|S$#r0T(CGZ{O>p8gekq0B ztALvkbxZ*>AAJXSwo7^iuEV7`#VsB8-Y@mw6)v;+T?sSB{D!a|YYQksk#VGKFTe4wX4GIa^hsPe=iYN4#_ZG(;Dz7cqtLu+lmC zV;;Up4MzBeW(?7D)YLn1j+$Z`evMEbK1a`GKJG6@hg&*s5OGkwylq!z`c`IVDKtZ2 z_9o}7(&EyIZ}JI5q^QGaxQN5G{uiQ(Vp@c>m>0gy{Z3;a!S`YM zs9s?qqVr1nP&^}O5V0j0lM%pv*`9yg37QgSv>aPsRdNrB`dlXdDdz{0!tl~>(A6we zY$xM#^>2LyM8okCp6S%OnB_{kKB+)3kVR_=L6~!xz_nheL_uMo(NiaoF7`JOI6m~7 zgaZt9aPKgXk9OH;*D^<3nWP)+$)31U?HSY-xj3z*L3p>@nG!)tsAHn57aZ~N5JyLQ zjlOpo;Ik-?O@v5-@@-BurbR5=b$o{ef|DqVPKr}&=qvF=)F?czgG_xBsKiVMe~s!s zPGCrR3&!ZrV{_yL-Q*5kEnZqkcrP}9hIqsLFakU6MeMVgS00%q7vfJy^Z&pia#snyT`NTBI2rW5X3Lh z4l(Nk`~k7hBr)9Y{6J%nsD_jKRO|5vO&ZHjPN#xtl`&yb(^SC!buPW z4bn{#*c`OE5O&=p(mIvjdgbXE5Yoge>;c%046u}(Hi(~VFkgz;Q?lG#0~0Z&^B2e-oMp) z|CrT&o7H~1Xs4{}@50;QbpL7VkWCAn0%wh>^r5|3d_V2ASnZ3f_D-v9?q__@+$w0} zkjKO0yHPiTw)ES}WLLo7XZ`*Wt1aW5WX(FjzuEZxBh22h_msL!S8kj`i;G3YgTF(s z?HX^N`d2;pE*8K@P6!ij)LCC$WKlnk$-l|?$kRLmxF*gO5{k zmW=*4aQ|S|#Hf3-`R;?|%y0>Q!g%~QtBs0pfOrlw^C_3v?v;ab77trbn^Ql4J;|M` zfNv@Y(qAqN6v;#6?z~Avo?Xc*wV$ktODg?qV*kxKh9)7i+`!`}EpK4BZ-iLyaHA8p zk?b?!_z&{2tW~X^!B-L>)|{~(T4B@Py$0Y9dEB&Uvr1nm9b2p}9h;w>da3$^nQAja(qxfO5H;I`~F;`G@kZGjk#W8Y6En>q8x$xK<;Vh7ZL*D|I4e)rWXLGUFW{{qqbVAh%Hnhk?_EUPG z0#;R}`S1Eej@wLIj3HM7@}ff?VGIf`4p|8iOMN{rl1di9y*<}E$Gk&W5XTuwN*_?} z+=>&lL1ffk&n}EGiLV`3@0{<1-yj^&r=#yy;`DP%t;{g+Z4QY>V zs`f74CshBjy{)smRPHVmNXVdr7Fd+4&Y#>Q*3XWxzM9#2A=^h;c1610J&y{G@>_f) zZ4#54XT_sW4dbt!V6}qqrkE#E&i(q@YL^k}b0Ie-(8`4!Gopj25~%)T%b z%q(3Ya@a=}2aY`uWEVGyNb)TKS0cL@P5D_Tz8XAJ!`sdC)iDHZ+9kuh5G)*63#HeD zx-0_-!v_C5o-c$t-}$R3^HJ4(9AzdvQ{8%ox9>!DE}I=K%%A8Pgfj24^E4VuHO1R^ z{~}^#b52ajSn{w)2s}tsu|t)Yf=>dojT4AW4K}!a8#C5Q7Ge8qk?Csg1$)Bd#*iWF zTy3;p%{C0Wj`qRGw8L*)V!+@VW-NLWqfp;a1ft9RCw(iP+PBdh^@H`B;nnx=m(n#z z5IhhMT_*x&mU(Lz$9l+`*`IBH&Iy?m@#sZ92q4auGY2#IY-VI^xYS)9{IWtroV!J) zVr&a|+6*x!@RfGt#K#+)WR}e=%i_Ql@?4A5`*5%OINm1WGphEqJHEHdv`ywzh>W@8 zy{nAb3~M-UciM?P8ox?O5!=6y=|e>)(M0k>q*mP0kZ&AlG?nu{RgOryxAaO*Pd>K+7l4(FCU@~Zf zsJQ(N?&<&I>`mY!JF0u(E6rlhXu5kAwWYQ-i^m>sm_f^|Uhqh*9<{91-7U@HvD+=F zN0Oy!$y#RdzAr3>XAA~H*fE$TEH+8LyyOw`!UM991YUNM2k#LA!59dHu=CEp>YloF z?!6_x$Nk}%DQ=%zRi~;>o&7Lw_o1iwJ(U!8-9e`Km}0Lnj7B$6!aHIOa2M}l;t7;{ zY_9e<&K@&f$pXD7Jl6eg_mHG8dk*l(F1V5D zlak1EhP#VYpK%VvY2n7($jgJt<`yc8)mi6g8%1Peg(q7s!-sKTsC$G8cjw{S6+h^0 z;^H*bM3jxEv(O0{23$ZqaI+8~ZsM&`8Y+=n1Nk78=<K5r?Y;B!QAO?S~J;)V5QVJ*3gj~`i==-T`$fgPg7Ptkvv_92s3F6G@$Z9Mw? z%Zy8pF^{VPm3@cdfqH_FetO!=bd0lZ%8k( zTH}{7%2W}>?9>b?0IB1v)tKY9$QI#wYbq(`IlgRa<~nEB+r$YO<@u6xSYZ8FazeKV zuJ9y7Grey^E{&Dwz3s(XVfCLj{#LASr$(lMiG*D?gSOV6|L8-v) zYv|t)4blFuj4GdDY9lmHIcJ*j3IvA-uv@vt2dPG5YJB{O^E1stYUyEaf+S;`T^R`u{Qh20-gQ$6O?qk(7J$VYC9RX{c%29>|qOONvqD{142G(4dKsu)p1)u zpe9G54=R+!N#hCcNelKRCfh1~sWBb*I%mH{9P4=|o+f&2kaUzEa6%`Aajc#1Nn#$! zs~B3H)71q^2$c6nA3a+s5x{1w5WeZ1R)9@wQEOFFxK%Yok=Fg(3P`iPBVJ?zI#$e5 z0?2nMu(&Or5ckv+t2pU|*>-xwn8p*rErI~w!Qv1_rBJ*Q^qWxE#e;&;2zKci9`W)t z!e~wt*hYHG-hg((C3Xu&XxAgG$)$Z&T<-(L#e;ER3CDx6CoQ{yVXUN#CkDkWrKi2StzrC# zL48v!#alwNfEmQ89&O9KDI-s0N&9xCd{nY>IEX4v88PWu!vF1j`^e%?MAbjxoN>J{ z%6^Xti-`jvw(jqpz|G?7x+X+V`wut)Q$mI|vMe|Zl7xG^-8Pz}@PROHl1CRRr%+5D zY+St2q1hX>*2e_9`}RR>^9Kl4Zn3~}ZR_Z!n3duMYEKd*4oKVrRs3GDK-28H1m^K@ ze`hgYKGIq0)m-S!PHZ&`joSpTvOn~|`~3M8CSdagMzhHi=t!(EfiY_WQ%r(={?#}y z-RO56)zKuyx%j1Zy0zz(l5{@n1W$N3S<7Zh6tdHRQtBUdLa!HO?JlNIT~zG|Ow}R! zH0U8MjW=NBQiCHT9^BaBKs2;%WTK6=$D@DWAUK>l5?rp*ul@Jo6z>}Z(LtEo+R*RA zzKwEx39&su5N&dTwk?97Eyu6-ZZLjXv>v~=RaR)*>Lj!q#ds4!ZHV_5gx=dcH{MIN zVj`52N0to6?`2LN>E40&GMAN3tYFXY;?Q`c-6bJBvGF~bb0;D6T6k|O|IwD~oe;Jl zyuUis|I0(|-J$j?LhaU2yCc-z6Kcy`TM0q6F`oUQ-yaCI4~E(hBJk+_o(TDtCPF!& z62iod{thYV0KPNS?h3WDqMZ~$TXnR%$3yQYLhWj(ZO6I+-cBZhwjJGx_Dl$VHq<^P z+Nn@(Lg}Cn5$%r9?-xSt#Zdc^Q2WtP`!Uhp81kgp7&^bQAaos3FL{19hR*M1AvM*} z=|5lew?$YB@qT^iy`)!-gi-zI{UbwBk=stv)5g$zq&)<`m-I+#fbm|^7nxra?LhzuzIow^cZG|Ek<*P^Q>iAlmYt1*Omr*7I8|>mnbwk(A#?Tn9J~Jox)b zqfFl@PE9?{-gf=Fh9xrSDtf!W{_I%-l^c&&xk;oP9AJfDC7}5P{JTcGeWT zxEwuIgxy3=nET2I!$%`;YO;S%R+m=$V7M(XR8H59;6OWi=K@xYKo3qkiWEW0Hyp|C zUFH&-5?vO?>ps?1#K~{WI{>d$KGVqJ;+GCB=lh(fy+BD8KoU?i9|%vr4;73TWSE2U zFn-`01qmDr4}AYRf^?mSljxTo416N8A#zaaxHiNt4XH-m&s!RlN884RM%|7_Dd7p) z8Coh*qNt^M+&Sa4XI~<>^eynyZStp+fDz_Khb8jN(_}$ea40#oHA3|33 zp@A|*VjUZ%65bR$n;YzIa(<;z+{II@RX^Hwtds+>j_(_}r}TsKxWw8R&=D$LqJ#N| zs|(}R+EUcjFHi>AY|Kv9#xOCOTUemNp`=c_MIkWGte5ustzlfjXM~6u6_ulHqMb8e zrQqXyhEt-H$r?T*Wcwv}C`z%Hz>5G2c2T;b-!1g4AL1*LvLKYYO*H4QKkDeIXb~Z( zeZ0$*n>(s>xveKu@7nJeXg|V>MOLR=?YF4E_{GWyF+0yk0#};OPT8;WJH-PxiLm%r zGK#HOU+BZX>Fhj71X({A@@ZBg8~6CO;91_t8$w}Sl;zaM}m8X%(u@tyG{xJ=IeRXocgP)Z$E*$)VZ&=M*U41H4#5= z!}2sd=5@*6KP6zCA~4U`VYbPG4==1252;S#O3cU#3=52!@<3;QKP6cr!(kbn$nDFO zt=0-(uR7XL_EMv5+c?l}r$OSuc12q*vCP`=L&J!0CND(k)vB}bScylO%zr;_AO3d4 zxVTmQ+r>~1utzXlxmC=Vvf9F}%AIwsSrj97y<Bt0%M5XM(c=zNAVX3J*I$Q$oq`3nql+vR~%AoOgQ) zwFvfCB+^1u<-z>#P`B~`@S3HB&gCZFZ=eliH|c4ENz4Ul%gyu5U#LipTKJ@aHNs9)rXIGMN70rL!A#%hHOEF*)n%j9DY(%pddfceOA8JApYb@fGZDwT4>XbYE1X*eBmK*Y?s>BNrom@5o7bqpLF)!ERIZ#S*3xw+S1fx z1cf^(Dy42UqBxREKft0mt@&pN1~eg>ATs40wQy#$vDP&>P??V!-kGq;nn4{rR^@I0 z&KUWtB2fT9+7jie1$$J`61MwSd8{KUB!R9uWP(rP?rgrtUDMyD_ zJHOB@z7VBJ{V<}&cb*b@-(j9_H)Ia@sK!IB5n962eE;G8=&mkKPu8-P`O5h8(z!R# zC$Ln(4H9hcK5N!s*mhX$mzXAlGj1 zIUy*OI~eKsd1M54bRA!ZAd%YP!Y!1f#A?nmb=H@;sSH+hVxUpjLd#6!2!-%ysx57G zLZ(Con4d-l-To2hd{aU(J;Up!u0-oLbl=8Fk?J$YG)={~4$V%e{9L!Gk;jRvP2M4E zwc2^L$b?_);UsTuPdX=_79}pe&EU8ew68O+mPsFcjZcpQWsa-_bTQ*i3(KRYrfZ-T z5R@2{)s8UKov{YKiZ4XX1hlc|ac$|3onudmGE}P!vFjaBW%!UV{&xx3wM}h1n{kOX z+qC1uPSBK4bllE36DV(gt#jCE?{RD5FIqH9vYdVY;D3T~XQTbN^@$6OCM-*##dHB{ zVi%`flGesKUN0;+`8-oLPu9#t`;u?p216@sn=Bq+>WhnWXt3O$b-T$m2~(H}@HAU%AK2RXU6K;ouSrIs zMtujgeDQD%f>SxeCrBr(T0Y5qG;>(z{D^Vbt8M-LaAce8|A4d4l;93btOLijP~wGL z36wg1#7PmVzKzif=&pfcZ}&f~06BuQM-O)PF1}#ku1Sd=dZ`3Xw$DxNl0p?^iVbFm&QD>^mQ-^=*Naog(No!du2SJbds86f`eM)2z!-Q z4i3nS?sr=a6y5Jq?Q<7j18}ocb$@#YM@qR%o%q=*@H4^d$;Ty!G{f;bp~>5!R#UI% zO_42l;Qda}6zyOAU@KJRaoG#QQGAyT!YgH&;gmLXX!HodxfWuN)n7g`)Ptbq@m;0_ zIho)t4`)@L5xA4a!>tk6G0HR&bFU(BF$1xY>9 z!m-U1j7JDfX^#9e2+u3IW^A+Ye1s(*UoX|}>!qLvmOF;GZbDRST|0KZ8eDx*SyK28AhWqX zV*9h5WSlF*7b-Ayj?Y}^1WpR)$7}h-cK7Pqc5UBY0WxDDyuwyK^2=x+s(sc8)*#r8 znP8pB+Jx%#I-Bu#30^82c%9PXGCdF;aQlnSo|6LErohz^O1?6&&_iJIQsY&Yp-n+< zOU@Z?_t496K$27pqLYefM;-n*X6c(I}gg^zO9qTW3x%@f#!*KkA(3X2F-4 zkS6Alx^k3^ZY5sDc4aZ*=vaSsf-G$`*DpEeD*ehwm~`OM2n_F?&T+R0-p*vQB*}xa zcI0YzIRP^wRY#F=4Bi)N`~&?jI6+gwhFf4BmXx8Ly@M--;bW`l2iMcX%pM)7R%cdG zZ!R?`I}Ab%dY`$3$iS^@j*)^ziyv{3ZY@HZ8|E%iop0GW!K7ER#(5c^HoB1WJ+zp9 zR@%QIc$~KA&6oC`w&1_QB+jnkq7K1Z)feJUfb^EF1|ulWR;%++QY_H4A9RjjgCMd- z9}6arYT2~W&N}=J$MjLV#&&_MGL6!l_op0SSlg$pS^t3VY~Ke2)EL3Z@zl6c9KV{O zPs>Z^lxq>x1L%RZsxjbQEK+%kED{KWt4uXaw`sKD0ioR1xlKrje+qS#%8u|;XvAf z&cTtxo!QbzfsXai05!Y+&e?fVR4zSYks@puKcVoL6TC%u@7%@*mGnCSbZrG_n=P0y z(3C`n^e43m#FVNcM4Jq5Mp!mG zSBC9^2!4Es-s1s*`xL9#lulMKH#?koXcpx!I{4&6Xzm>}Vlz0p_#KoK@Yge6!_pxU zzTB6cz*~iT@)%zVS_Qv{uCit)XhyI^txWT<>&49HoL^`bPPhAcR z4o5n{ONj1E#rFKQ4nWw@cIy>WOV-Dym8J|wkvmfD8r!BkH zf$0fyhPc@Yof6EJ$z(xVcoX3ZtrYHcCX;M3gwr0|zuO?b*0wqwk9*=*|~NSA^MI|L6X{T-n$+d<`AT{6FdF6|<^ zex0xG0w1{OMU@aHoF6co#N%y;oZuR-z0&hco`a12hslGD@@>Oh8^6^uUQSO~&G;(r z+h^~3yT9gyY@{*i2e_JNezI5{pQ}y0!ilM^#<~H<{}DbHWHX|Y*@{HGT}?NR15b$P z!3+LB|TznslZ(RKbECk`{B z;M8v3G}i`F@z)(Gd0WxigByF0r?tUNMT;TT2rUz>&O zZhQogQmFgn^ej~*CY|mc9~_?mL3+p-6cR#qg$2O2wf;Si<5cGqi6SGpA2=tF7A9u1 zKMFaeBg%FTySHRg@I$vS#;{K9ZazLKCLXz0p@<*xryV_g2~mRlTSPr^DjHA|c}W-7 zK968sd~BD$ox#Uy_lr2clZ242kFoK**tYL)>D!0s8@MI09DNgittJCqx$X7}dS|N^ z&>p7Wegp{uW*T$g*4 zdm`*R@z;B^SjI_v5_{nD8xNHfBzA_+9wmh>z&Yy?e-eSD!Ys86iSAZf_Wm^AK)&GK zmaE}d#Sb&%-DIumHoL?9`ODfti)cYVDbx{zD^vadwA$$BP!SA_f^lfu)sT7W}X;jT?v?UoImna zF88&4(;s-0M@V~FYv656RhOqp0!G{ui~?FeA9scug{#@918-e_u>#&+u)6;olRG~- zKE*G5#yN4Bn&&z;(vKW~Ky!$`3at$BF2s1`)=sE@gMrZx$Q80-+5Q-4+j=LoZ6CZk z;(2Y6AK9{ACcf7oqA`$z!`A+zEg7E;f{O-YW5*kyeZBa8!jp>mgl8+}@q7CQK)Vov zKN4!&aTWOe&7t>prU|^iHS~Tw)CQjMX#6HT4l(Dp%{bwEx9gvq-_L~F^P%<~q4q+k zy&P)WPSNP^Z0P;DQ2YK+`+-pV!BG2&Q2SM(_Nznfr$X&FhuUumwSP0zeqX5lY^eQQ zsBKdv%>Vh&d;9bu0%lIUmw83;UgBRC`^04J{;!tH_DGOLix z*N5NV6B_@0p|&lf5j3jo^4Jb*`ke@p277V-WQ6S>vh^jml> z%X>ja%HX}6M`LK5GE5e~Z&9P*aY*|W-d`Mge@UplE7ZP1w9|sUfdG4X=zUn>DDSnj zFzNyRKnVVtP+Q(xX>}jtCmPRbp_0V+x}Vm-5+X81wuM>Po_inq%7cy{^dO> z9ZvCH(g_)Jg7@+sNPF@gke)O6{ToB$e^aO}?*&l%}j`H1~wACU$%z$vaLcMLbkL<(O(c_ z%J8-s9lw|7Qx7qz8nf9z3rHOY(@7;ijw?X$Gm+5c8? z7ntBvQp6}fwT@iP?e&up=WiE_zAADQK3~`!=h1(_*ID0%7_I|(YU6>*^)VhWR?5%8 zMJ9+Lf4*^RWfPTu<qcRh6Xnqd@tiF}f8WDYi%A|i&lN^}tVe+p-s}8LgTa5B_lfWD(*K{%K{p9zv&gfC z=E|RWuFzS`{h{*%N#QBh$vtyn;&W=qFrn$Kf7%4mZ4&I`3ErV)_Vg>~33La|3bzz6 ze%plBgFM6L8qzZ1L`#M1F6s!s59gScxnDDU!cm@_vZ1j@<%`aFwusyE7B0?$fW5+K zuDc8`W^%e7R+|I|K7Nxl3nr+QHwjjm;zKBO0P3%s)vV&qX4)&!?C@ZnO%}~E={6B> zww(ZX(90;wd{^7C;coIHxLbYS*2`(fD(HGNj+y60j#!O-^auKMsnu>~Ec#mow-nAu zy>t4FLbo)_+s&`x;9Ert*?u1ZL8b;)9HxcxYna2`lNSCgDdzXufBqB|0 zfWMcip~r9Bz1Glg;0u!WEe_6m2<{NQ=Y4B?^&YX{z_Qv*{zsTeA=i}dwo4<33y48j zG_+aaCcfg>DyJ$;K0#lLKf@WpBHCpHJBDii!wJ?P`0GT;cB2Z}h8)(Mp znb`}Zt+hp;OZeE}O13optzT6Lh`*I>S@9|xZS9vRD4QAtXuDbx1`z*aaF_YSV$h*2*>AaAkGzN+wDtS)s^$CA++Q3MUb9V>+~BM>rH zvY?I0b6fAhI&&NI`^)eTdhov4u>x)2lU;m~ElqCYnJdWvyg6}m@C}UzmMZ%qAAGp8 z(~$^n8luG>SrS=58v$G{MVRY(L;{*1Hdq~Y>$ZR}^VkK>DM9b*fXr7GPW zuGNrAcn*Gv{0OTM6NiW#x_w5I$rf zd!pINop&g1o&1r}>cZmmTn#q|px4lU7)8KOCp_Cf#-yZH z;p(GQd-NYxn6s@I?Bd7~ON2RGnVlsw-`}q=bvu%wlRe|g;E*WeNg3IDchGS8!V7rY zEovGG72iheppqN@+@EAr+LAiEe{*b&yjUd~ zgV4o9MKG5R&sO}Bqj9&Av?MOF>;S2ygIr~|QK#`ct4Z7hdEOZ$YL&WK(t58ynh#{2_Sw~C%ji%ANU>%GsTW}Y^Ou?ZY}+XdG}7N zsRKU--?R1fHy#iW2scx@Y1&Jn_UTajJ))fw{^Q`P?g_oWH`Kmgv^R&wBa;(ARlHC9 zUKX3idpZ8JsDX(0ue0Fa%bQA{z&%hRypwPhzc(^QAq8Ar&U=G-J5^0~CEgAyE5o{!$Q4`DXdSVb1Lare7_mt7?%rCom`8v%O(NX!`CP|bt~8YT=(1x zp!NZtVr6uTcJ_ZofSNTA3={9X{BdB9HJy5AF zQ|69SmD&XK&^Sa;a$s}V5pXPF;SfFOz}dmSbB;OTJ&P&RgZ=n7<`7Ys`oK_er9))j zCl%huI`=WL;B|hFamomLmHyE{s*0in+2=z>FTk|-T0K-X)_-Nlfw@KPVEsjclmv@e zI%ymKHXi}vq5W{`|3aYgI)uOt0l`*A_2cLIGj$Gm)KOkX`dzH%eT8Ht(Bc^;et?D$ zfAX8f0Y1$8`e>nZz^Lxr$+wz?z%;{i=Uttv{eiRN3{iIdU~`Nz$x+Gjy9%Y%5kL-f ztoKGNz&dhVllr;s!Z+*lES8KBpUHuz?$jQ#oYPH=4wWf~8KJk+(Bk>)7Ga*hk-2*v zp+hRw-XfBQLt7ue7#oEuaGnp0%D!^)q&v{JL6}i*XHrV#t?9CQN)6Z6WdwrE77LTp z>^;uveO(m;dx@%IKqC@A=tiOXnP$;IDSvf>TtBiOSdafi(r6a27fL*Da$P1Zavl^a z98NXU#T6|L{HG3#>D;N0h&Plra$61I^O96 zgO1}c#~bVt!nwuN{h_;@Hf?$Mh}+ClFL>1-@lB!f3Q%}Er*`<<3fS3W&F?T%Uy3Cd zm^eo_V~QZ-)qt{|+Ks#gRF?nosp|NQMrxe3CGEY*>hzzPqlPR#FnD;da;nO1!fdGt z(j6v*&h=8>KIO8aU-_>)XS!W%*&s3FV0Z3lP8G3o?VqAG*vq-Y0%gn~I(>Ajv%|F_ zlm8@>LyS}9St0e}`A*<^ug~h$B$8U3?Np`E+q(!7q%ax>C&if!+-+I$g~e3F{FoV9dkUSeRD58EkY@b43F{LajX`}QO=aJdeW5}_AvaiZt2>k8 zAeH%Y*X|Upr;25Y7&%o;J3C(|@MNm{fZX^>mNyfuOZu3%=4?)rFZ@&BaISW%v*V0+ z$O3)^^EAo_ptq}_d;q|s#xJkFYVZLZrX|+1hppk|J$=~M@!v=aP4OW<&%V~Pt50!O z%vMDYrSy(Bjx1nNRe1&zi>>PVq(4sqd*|mL> zcuHMK!q@#0x$65f2{bA5`? zb@+>b_A2^yx8Hu6n38L((W$HgM+RWLnLJv7f$f(WhoL^`b#OKz4--O{K zf7A&F30ptdNhUio43(vG^VQo4P|AqA6aWlOwpu8fiy*0{dOjV9+3u5t?04xy*iC#x z+;0Uyzrz{!IRd|zs@U8DA)B5TK|baT|D=+4+@^U!m}iF`PumCUTuAw-*c27NC@xyChnQ2 zr&8bKYEWUs@3o9)Ynv|Sn~^~E8KCRtmn#6<+>>Dv$6#uqL;sQ*aNMDn#k$w=p;tMg zVVlAY7taPHgfGYp^R#1Xv~3_YP(Er{ePkc8jx4Z`2fG`*Nm4ge8^7+PHckNEdn_(m z!NzSS*cd8{c#Jj+8P_C*_YEB5PPisfoT-;jy`OXw^P5{EW@I$b0soP6qAkK_ zuFCG8QK_69Ukjxv=XV+f5x<>@9GFSk1|W{{TPW?lfd-EUlliK=@GuJH?^`g)(oAfS zS6RkP+{(hBf7!GBu5~51fJxoI8bF#w9c85)9xA|e5I^#Sh;A?yL&k=)Iow>z&kIB* z9(seo`)OV@Ul~Waw}wkFIK^dQxuxDYdqSry%8?`>TjjsdT{m|lc zC3 z+)>;p6XM3I@f~5^Q0>YY^HntD_!H4Ah`=@hBApK{ZnBFK9z$dNc=|1cPN{G~wgJyXs2R3PZ zp>>TXlnLQ(R1Gap+jmv~1U0~eO?ZmY;~NWy2A?Cy_+@Dlvhx%Zs>76MpG3eO@@60Y zh7&j`w$rWLEu7G^sC;m(8gLw?Xc0U|j#ovepU?W)=TG_IQI1!-Bs4Oi89P#$sV>jc zg8qgAwRdvhbPSINJU|sV3J^u+DA2y#YNt46eo>R{Q&d?;|acaw75gV!UF-m_^L7Xej?tN6 zVc84qMF%kaKy72;2%mYd8|1Cy=Qg9t*sLy$su$A2{rBa}@c4O1h+)A(x3;OZg5QZ| zcmh*`%xZK2BhELwlZ4RX9DGLP9q49q;}4#sn(pcn6OFimvzG(VZp^!Y?yXHPjm%S> z*pKxR$A6Q9ecr`%g)&XyGdC55S=Z>A(^IiJu^8ZuJq(ee;oNNGdW4mPI_@A zgHd4C@=_J7cf4{Sh$)35{=1sz1d9C{wc^OM25VVb)@4%_0}NLKi3A>PMl9he z9<9nuSVOXtc(4Y+q8LY%uG!^kX>M+5YIyDp%4N8SCAR0&*4F=b*2ntd6>4fvqCRx@ z^hs^_jgy3B81*g=+=1pTa2w#jo&V;XOS9nbvK#5jT1E5Ue5rEmSwsKaoqcSlZ)0B5 zQ0~o=4SZx^;8?kH2bB{=#qc$&3yX8(m#o@xNrOlK8{7F3;jR9DZ&m$pt5^Se{N3i& zzY~AAd-Wf~-yL54AL8#l{_iM=qW8?ji86(g_K>^#^dj+y-s*RGb*qQl%WdB3ck6$( zd#m50|JC8u{cP2$jmpiO5>0Ucs<--+c;8Xp>(%|7-&+ByUfnNNt=eEar+cfHyt?&4 z6%B9ovR9W7GN0!)-n(->4Xtx|X^t{hdfv@5m!M7KoS&_nD{tKB)zjE>-E=g_KY*$q ze0wME?s~?}Rco`D;FrGh^zchhdxuutw`M2(`#Sya)%f=n`roVY??(Oadi>kd|E}A4 zpSSZ%J0B+fMDH0Ay?W1(yw!V#5-t?Z(A8NuL*Yy#XXpYSIYa*bx1J$JTU zV*Ihw^KL(L3I4d$^G=;1p5fFPViZoFAqM318A?xZ?#z|=g9!42XI_RsC_v(oGcU&< zufQLz6assu4S%$IFVJ+?$m#yuMk2cF2?3oWrJrXS^eGr z{`AD5)nEJWA1&=n?mS3yXuS7YyuS{AT<>{J_mb+R>E0VWZ|A*-@JFZTU3zbq=UsL$ z;q9_}Ny~iMy*Y0W^|Hq5gVdknnU$p`)=#f)vvGL^Oaw`=PSS5 ze5Ut16Lq(>eCLJw)n9zq{f*ywVb$6%zUzzczJL99URbUE^~LvWzPIt6)c0!dn`_B( z|JyS=Ke2OT-74yE7`+lfym^Mg+ism9pO;%_NN$~;q2QnC8H)IsnITbfeugBD`I(zN zZ(-&Z{Bf)2EzQt~mu4!ScV=b`e~ipPE_ryk}-k}1g<8IIU&6#^V?;SJudft0x z?!zAsc;5SF9`wBT&phOL&&@pSc^{d11b;l{c^{p5-19y@^MvO;Kl3X5L4Lo_&%6eI zkaGC>nb+Zu|AIeA2lf2S8-bBGc|YgH^B3!zL}^xm(xh%9w}JXP@6J^ow2Et{CrI6~ z=B)a29)GS@e~iyfRM%A1|2u_0Yn2PUzk1KplceCpt8!(2{sgV}?(r{FF7iG<{NBlW zZ_DlziacjtR5 zhrO{+|L(2z-Yb8-&yn(2edw7=)|;n=t@p0|^*)3vEB^K)*-}?9eZWo7|m$mbzH?&i6;UAZ=K-RG@>^Lx}m{JMaTZ zVl1&@cYcb#a_#hAM7}~96-!iFZg>82TH+1en2B6sQq5uv7kV%CVvO=73G2J_KO+M8 zf%oA61q2Wz4!dV}{x>QuUd#6u3EhoidIZ`#v^)P{mZiEWb_+JgjUF+C^j{tQX9vzU zQX9_~>*@dJ@_1liX%CW3e5pFVl%1=coSxiD9|7kc6+XrF0O(c(J+bRkQOtoB~KUqQ$FTHa6N!2^u{fHCd| znbQE4Dw9=hn2Fbo5*MQ$fN$otX2n!{-Yub|giB*N&~fNX76y(_(XiuJdW~4=b3Eyw zS`tM^zQ+mO>=9#XM%~V%W)(%{?5myFPKoS>^+qv^&0XxdUcuQ)LoJdb1S)HFd64l8 zHD_RWgv(z1d|QN9#BuiekZExbP*z+V%lJ=h6!9xFJaSd*vRs1AF&=KMfLmr^T6q*K zY$Py{5)v;JID26t(N4~v@cW6BJj@dwE6&cHG5hl02;4;pwp;kRg%!hEi9#8g-DZM} zsHJfOFD`G%{VS+`QbG+o!rF5PK(n($wJ$qy)F5bbiSQqWXQErNvqsob=9y-IKGXURjh>#H zh0#5pP$s+&T3vpTcO)*i?&|63@haSk;o1c7s6tBSZM~RDjxtqn_`z>GJ8uyh{X825 z=9fO|qpX3(h6M_;D7X!a(4Om^LE0n^9F1PYGK1iCe4CLLS@Cj|e7uuf_`gL1h~Ju9 z2oL(fIxmKI_5Oah*Lg}z*A%7#uR;oy!Jbn7QfIeGwSCYrx?SQ8tq4w6pH9+@4WxDb zwudf>sOkaSzwqYJ1;4u~K~SOaCAB{B^!b1VYzk>BV?Ap3zz`LWrR`#8n|k3YE--hr zxTp2wPSA{qJ2hp0eBT11lFciC?y|;vqnRujW(wnUZPNkPY);%{)1tP+Ke1hg)Uxx$ zA6ELOPfaU7Lf9Ap&s*ye;|<*?92iaBH=HFTR?%jL5d|L4B9ewdJy@!LXF{u%>PUB~ zK>@~%JmHZ_(Eu6;V}tBAw^}|UJWvksX&4)xTc9*NCri~u3jdx2(-2SfE>fHu`o@^2 znd*^x;dy_aaY24FdbA2A#V1G|gRbFX`S7g->e^PMHBk?`t1zgUX*&og?rwQk;DCSkpqyEdcl_$_DG8IhT5A2aVt=}n=vr0(hO z9q28&$G%Bi4yFt!rmagVk}L$hdpy!oA`SR;%;xl~kmxH34EGvKOpi}g6_G-f57M8R zWeV4mik;)2J6-Lk}ZHybT~!a4En zg4~WXs9CZ-A8~?agzxxXW+7Csh%p2Gh{tx4%yjy}co+FD4jlIPlD~ep6MUTjKg(mL z+>hhqs>Cwe7~{M-UT^jMHNM8dLV$81m4DYR>NuWEQgxrl_(IyIA$v+&tkXY?VF4y-3C-%0A zLvE5Snib#c_Daimq~SOH?%{qBde80v@G*&B^k!igeI+k?a6sXFd(sJ>5`Djt`2yn3 z_mcHy!U@+P1ekf=EM~g8(C`z@^Xg0=A; z8a7-+z|LTQJ~E+Qh(Xnd{0)o41P30nozQPJF-7}89^m&Y)}plEO+a!{*pXqCHym1&2k8U$qL8`Dw9n`B0ly~X zbS$@bxnsGviQ5t(yXa~I_Gq@huZ)^}1==WVTli zzqd&de%~8^Rj4@ky*4Wq4rp)ZQoB(79$a=Q<4bP9g(_j zz&{fD{-dEbs3smBKMpV+Za=A;rfrM!_`c1!p-skU^)Nh{q(%Epp|(wh0RQgL`}c<0 zwz>$v|Eoq&!X$!|#is z?~(I@dicHEZ>dlnnUu(sjrozofq*C91JS-K)W)rfhx@Z*SrE2!fqw13mkF2Q$tKU! zX2CL`&InX!c=Y!-3oaM+J#39K+B@~n{ogkVOA$-%Aq)^rQPr3-J@I2;0*5 zz3e|NRAl&lxWB7I-?v$Q{Jt&pzCG058*0n_Cu<$jc9hVgs3pJc9QyqEMU z?U8qkdKe$%C?neBGb7rPzNJI;Fw!PPDt}MXKUw+^_O@rKtSno@ z+)mE2#@UZq38%ULLbZa3Djb7&O?=WDw{~;0J$QA3`eBB1?Z!(i&{4)*`3Ov6C!0xh;%z%$xjbPW5)fpy!hR?Hgq~BOTO- zln2VIp0-T&+zz0 z4k@pL28{>z-eH!+5kuZP*b~iHrX_L6Fa0QMjJlKyW??ZuNk#u-0Kiyn^iaaNOkiED*)Rp z`)zz96iFYN&AG4Lq&JKX>A_5|;v)~6SUcC)a_f+jLhd)kf5*tuFak$tsWzOSMj3~9Ivsp!=XMNzf^EPeux`l!1jw2)b zP@zm2hQ8s%a?-oa0=|&djD<33a^01El7j6sdM)4g=Hy9e3gZt#gAnYD2TeGJ?mh7KVr2z%i)gbl;WYj3DgF{gobEZWmu}fL&Nlm?9w~soB*wbuFPsarO)%Fc&o?KERheDfCa{gdn!dod z>G<3-(wsn8kx~asXtEmS2y3LtWcLAof>G}hnVq9(@l`0!<%d_3S>Tr|pvczo>}I!8 zFm*vSL<(0t31hO0xqFkfBfid8h0bcU_Y~3^y`+HS2+lfTh*_}NA8_(}^DD`fJFI?> z8Cs`2woKLxcucs22>XiL%;N@`r9eMqgg^YR1S}7)=AkIaK=3}$$!xL)vyb#^@BI6zfvXe?RhV#>skd;O}MuQ~El0z}eZ&gKQMzyWQSckZ;@a z&pEqK3IE|Q^!4pYQsJxM(ahO%)1Cpa^kG{Atf`n(AGd{!Op)zYy;J&_)u#;RD z(#Nb5@MktSQ4&8L$G#Q7pRvIIh1UyXCkc#PW4`W#M#+4_8?!(!{Xbt~^hwopLt?HhHdrUlGSSKj`9ZaWvWVgGy+a}>B*3HLq zdHV43>@0bmD9l~&9Cg~WZ4=+%8-});c0*##@qYgcQAsi_tQU4IvFZNG;!;+j{BUFd z!Jd7ubxvSBv5j00g%HtkC4DIVpf?G(nXG-#)rHXiJ|}2O=-u+HuJtphw{Zsb&pSVm z6q=eIYv0ULGIP>KSO3IEK-66^;n`NPOPDXDN<9UF0WZ0R5QI4g@nma-NMn*m4WBuM z=(W#A;P_IP73E|zIt52)&;-royVIFVeortZ3gg81a z#%(?x;`Y%YtM5G)_$)Gq(?%pl_hu&=)53S~Am_(~-xUS*Np`88z7oHQnuW=>kJXUy z<@-?ttLz~R3!Q#I>Y-hLeGDCN8}=@{y))E?J<5K6mDOJ6BQSqPk` z5%^ZM2Hg$+F4v%2twHzmpvMjq#WAsGZbT)-&3-cd;U}I~$!{5nK;6_0@ zN(>AQZ0Brc;S>?*1_c~Xpy#Zf8<=ePW?fTqicNgc-jhOqyN>A|Bm=EWpgXel_5R@F zB&kKK|8?9yh&2&vQ*<8I&3OE`sDp}cV6&ZI;!`fO@+=PtFdmk2Em@tP=FXLuJ|#)% zL7i~2Yq>kmc(yL3^QGOshpc3;cFrUtNYWU~mvr%TkQU&i6Rttrdb7-9`ND$9ex|DEzT2NmbPuP! zVQVgz+9C(tpGd)=K9K*i^9u=q(4X=uvi^n`fI;URGQxRj#1<2vkleFE2t!I3ux{qV zXX%aT@M|M^+~IE)7sZvlX5#Grkw0hNM1f9UIuG_U!{DcJC}i0<9~Cg#bkE!wT>Q0opi5DnPL};Z8wx{i>`@i_8tNfBynhwq1#d)u65~x1T zJ9LaT2$6^xg{3$gCj^|yHj8=;N(lVI3X^TJcICKrNJV1na@W^ZSRz;v@c>^fd^Ip> z9He}?P}IAqqix=rV`THl+yC4NnH1v381E~kQ*8HjiodG{9fz@`D0{xqbsGCYQ^DIs z&vU}NUrkz1`)838)sN2OC!G=ss^e@(<%Z(h0Rjkf8-0vLAN^IkT#&3cTnKIqooR zv4&hR+lwx7I9DjRIAkS+$M-e7NGf&~b(5}fj(NLKLyj_%6u+-*z7;2ElL%|RhV39h zBxM^)A6?*tUni{8XLx^Tc=APqCz@N_Sf|)>U<;f2EC_{#^k$@J4~UCMJh+$k9?!@TddCABqlS*g2Z7pjQ`;TTO&5w z1k*rDlyH>t?UvU&0CAh!WZ@LATc8nvhzA*!&qYA7o4gyWP1eD9SG+1MnNrLZ6?ELG zN_$UO(BCp0!!2ZVnCjiW%?FL{Zs|8)3#c!Fj#p-BFZ#xbEx^J zpuFBoknxJClqg^EbtBA^U8GBO7k{d3f7=poaN_I0i!XH0tx5@X{};i>?}?1pZ=vcE zMzrx|fhhkDCv;Niye?vFDditD<$nE4HxWyU^O@znRXn$touzUyCwyeF``Y6sq&p-0 z+qW1hM9Mar^1nFo)g&ageLP?7SkS8NI86IMvVpaL8%=m0x3Kl6JYO(zzC~E=%r~g+ z<924kv&E;c@$ntY)pEJv!rZB@J_zS7y^XCZo8aSnWC0$#c_*f%hkKBj1!gBolcG{+ z!H|L3#xX#)L~5!>W5!x&B5Z#pGF?r*pdWajg)i_nFSFWDuug)?y}l|k?cf`iS}^#A zO#w5ELR~ltn=b!<=v(o-eJjmTKOo3KkpxID-G1U1coaxz)&MsMFB<47r8cBaXoTOv zN544IMJm*uT-!^LFEeFM3P0{5Uld?(%h_Yu{#irB{SpzDN%Zjt3b zr8wcxR<_hV9YhRqhtBJtnzN~ae>pu=f(CMyp>i0Clc=?Yq;lI^yPSDCPmqyVV($| zw7vhf0;ElWOodfSqU-0m{yhSXD-4LMfR%qJ1c>RdpoTUsXKpvqoW9P-NPDXge#!G} zVF`w`coa7Z-Q_rggVL(%uWEB>=`H?dIcsg})r=CVd{~@YUKp=_lRA!fu3ASVRXF-DC>Oz5#V=};xQlLN`luvCo!0Oo)n}Yrby_$#H}dje zvblxIVs+Lz+C~u%Y6>Nm%W%9L80sFOLf(1!tHlp`o4D9bnH^MV3Z#sZfT58NyS zoSS%Sl!i*=t3i%cCAz#HcS0wHUC6Ly#89*i)jsD0YY-DQ#pf-B7#yi6`s*(GM7;8# zSy*Q-YZbm05Vr;kD+`n=dS)5cf8e1iP!P27tYj~r9&C`K~WP$jC4;{U| zWk~c8L;EUxE$IE!Iroh44Y{5-3mptfH~4ucSkfD^*7#+NGF8wsJ2gWJN$U7&HRiZ2 zvPHNHo2s69j>4Ooxz5@3HgQ5mdA{WF7Fb)BoX{Kn^B(v_n?OPd6275w5-_wX44;$(VqI9$ zUz3#*v@LR$nf?G9_9{6 z5=WWdAFFA{9q1OJFdt#}<1r;aC=S>6rk%Xl`Hd|?4_V_22UMJbJMwOdkP^<3CeWG! zB~-D2az5vrFPPt8m!D&8`H=-W%kL*B>A0bF57GREGJ5^vd{)>E7}A$k)x}4peAF7k zpYy7N`a?h`N23oal*LK+3GYb@_9Z66Do3p`J@-0izeOC=c_xM?MsJWr#}7E6lfwAc z&i5WMgXH=QEz;@g0_9f9`=gJZm6Qn6Ggc1YbWbb5rn{&$EGgWw8lp(+er^S%+1?c| zGC>?GW+}_(yA)X57Eg$KXNpy-bi!;qKO$@63ELJyQ14*zhC*W~XbSpNs0ZUg!8ioF z^bC)9c^a`irwME$y=9liJFWOK_FYDN*;@MeJpB$`pgq9SI_RXij;DbtG1pz?cT~Fo7{9$v%H-oS|;?yNq z-c5f07`Z9n$xaH&sBqK?y}*y2g8%IYGLU z;JwULq|-~--@90SJ@~$~`y_;WIlc$aZ#+Dn%XQPVZQ}xdFV{OEY*Bb`D>Ko4dFXq) zL+w|D+O45>N2qOwQseu3L+@>E3f}Jzy+06Y9}Kmx3AI^W&G@lZ`1rnUVn_Q>2);Aa z?h3WDqMa0xW>le0Q=m$^rTU^r{TRk-;E*q zo)+FGKb!cEI?x|*4YJ>~NWq2oGDBNBME9iq8Nau+J!s!8@F>Gp@&4Y>`!|Hz&xp44 zSU|i?k9aR#Bk{gB^nM`J9t^c@g#t3($#W_zJ0L@xyeFhappI5e;%{pRe=-;XzuzIo zvsE~W|NqGtXLErt%h~trI+k^jgxyHWZzC=P90nfz{iIQjZxpAbo@TpF{Yu|5*RVte zT}5yAmzitgRquI${E(R>&zc(#exf|Tz$Djc}XA2#K=ER5HEtec3F*O*rT zUQN~!q>}NgV3zZJPSjqYBnco1D4Gw1CEsTY#t1UBL3tQI@Qs4xjfDrke;q-(&cjLc zOAiKqYh**@pww|~h+P^|jk=$=G$@a@bq$TW9i395$W3QxsYq#}mg;fmjMJWdXB2g* zlEC^chKxYXN(l%x{fSro**wlHkJo5ANmcohKi;USGUeTGE!a=O<2`uZ3gcx~7vnv_ z6n-pQ8tPHq#gEnI?>qUPqne4qJ@+Ppj^AA^g8QqmI}&os4-J$llIz$omAt0_;M`z$ zlk+Q$LdKn9t@_cfW2GF3b$s7QfTbUt$0gRjfR0dw8l7=qxJo`NwWX+QVW9l6*_NHG zV`E}8x3ECPSV?_!i$Y+WnJ(@1Tf?}5&j=ASsticmL_34NO2NnZD5pfdnl*ez$d*g+ zP>fRNZ?A-IXU}PlBsy$CK22JN=C62D-3=3H=Ug)i6H9-JLNPh zjg9+#Tk%>a>^flpJ~y^iO|XeJNGNhl#XPcORiFmeG!5M3yR0#Qe{Z$gkMl*Xc$A_l z&?A|u;5!`_9KK`o$s71;&|VO*0cM<2%LrbfFJ?`0ZdGlQ2;;k+=|*s`kool)XV)p= zKYcxqn)8iy_3bB6m%8@V76QIWqb6eKZCIX$ZXfn`#LT!=`P;=%53oluT*XxknzGWuEy|thtyz>{ zxS9zShh$M19!i4sx(G6v$=oPJo<-hgif1eI4i-_uxWfs3o{+=NFzRr6dnabA6sQEQ zZShVYb-}R>?gv}lwU0@UpDn7CEll78Ek1lyLEb3DR#Q`$24K5nca^)qgvGC(%*me# z&I;z2-CBiS5@RiGcsq}K*?dj7Z*j<$>AWd%fx>rDJ)ke;agxR9xh$z<1D&jNuj`7 z&qtqXWG#Q#tHusE!3R#c&y630Gv9o!@>#QpWtH7v-(};!vXKw!-d>UW%7PT z)It0P+eSB=esIqjODCaLTT8q8+LU9%tDRqH7GH?cq<$Dl<2z3Yz3wp2w;M7Bd`#n^ z)(9=&X}=kR*xoy=_Df8Y!3npQDR*z7 z+wJVuB$VN|GAzg=0#C@v7}nDGscfe4=?BKF*P*lNF(83Nzg4>=?#VLce>_<3XmcXSZ!QqZyZ0vrRib>;z2-#m4Q7GlBB<*E)xt_8zw;{-Q;* zB+J?N5B?_@cQ)FOTc5blXuh%(x=a_aCU$Z6r?e){@p@so$!D2TjIt&s+NUgqmtatX zust7I0b#gV@qn~Vv*PP8mE6R}j$fcP!Z3J}uU#q`@T|g1-1MZgz$nvS61KZ4wV5_5 zaqhmmGUl4cAdg4pxA%k2p{9h5bc!i2T^6L*Z;y7#HCG#i>;#*Zv?=PEtBg0iw{6Xz z<$lI`i^H_)JDq5eHv3F~%5JwuT|y{?M#j!l%TzbNi+X`p7}hu}+6j27&<9J>$frb0o^rF?Ct)i6(C2fes}SO1@}%$Owmh)gR*^Y>X{U( zB~!s#ufU!sBE9aS%?2m22Ep0_<4;(l_-7`gDr7}?sK16jDRp(sV@qENlU09g2(?>s zgRp--&X*J=~9z7qnnkjldq+01NzGmR2sftPW4vv&^mqzf#>$_Fp zYl7F8k5>-4mE(6tlefdd>`jp^dEos{&=mP==m*E5Dv#G*7^334Y!F^8%M7QqtwWc}$|W0H3L(XIrDLV7wFaWEpjC^f47>p=8y? zUS?QTiqGsEDGO_h@AZL!YM?4eN|F|iaSaTNket#S`FjwaS90~(X5sk=OIE(#tKHXo zLC-9A3~$|psDrz9?0hx2`l7PV9->c!Mq|7K{>6sK7@NVqoB4Z0FbyMCm!r3)sZ&7W z!QVk9%VuFZ8D#^a(MM3miW1dfD)t`FK_+y4WWD;dzNk+!+LR#;b*nnZXD)OCCx!Fm zwR~c`dv%4twr{ThnX$U9u+AcM)!svtKgtt1J$)2Mm4 zTa7l3y_dd{Ri^g7J3LwK|InXkl+8+dcUtRFXHGovDYV0g!S|VvD(11ea+GXu zC0@sNr7_|$rJ*3h-#is8eKU0|(@^N00KfI!{(zBo0>oh0YOkX9yx;yjojtVQ=(n$+ zgYXxOn=#!Nq4i4!t=Lv5{Wann;H1kux&m{L2e%7;jao^7;dU4O8z-LIHS7IFOcik- z20jX%P87EYrI|?@Nn`2y%7bflZol2}|&psWo%%w3{<SY4cUYw(aWxo0akg5W zhkj>)rv0FE1RKQtVN}`RU#T`x8||#a-*8MHwTNu*&?=K(Eo6Mk0fx1G%9`~Lm>u!m zWpL3TE<66BX%v*AW=QGs(mCaY10d^$jRVlChiixgqQ^ivwf>|klk3EmTJQc?Qr6uS(H2J;FAyiK<}W@5P(^Y z-$6+Me?7BoEcg=P%YE4iyj6H|kMX6TtrvUf+HH1%W(2p_$}|tVUd(*X`GscTpS+(( z?$fLe(5$aJfI+kDNUamRgy_ChY|mfo0EGFGSp_UvAD>p5GPvA!nllvm@wm=-wl2pM zjzXu}{j`|j!7Ax6ZnWRuX$$f|Ez zChvS6cFKFi8Ya%Ly)?ttu$4#7Jbfshw@eu|E}V)@bo7|--P+bgkS^UBb_gDj4O35x zjy}3<2bFVmd5eZq-tH!q42(#y7Q(@m4_x%3N(e>y5138j@wP)waE;d%OXit82gMN% zlk*>?K8K|{eye4?oIh~P_$uz(XYYEuzvhH&q%r9Skn_w>7OUfPwTV|aF}2kghQRpW z$LE4DMK#qGiFmu3Zk$>zAp$EiJXl6l#~}q7M;v4bvdNRKE(7=uU*nwScHs$mkS|ZT zk3c0pI0Wy5c-(GNn*}%mhD@p*lbVgyJ-0Z&&@3YV3XCiek^Zbo0KO6tIbf~NL0+Hi z!Z-;#$EnNsQz*3&VFI|3?-I3M*{pWk2LBL$6D35(waqN3kvSoIQ~}wGr3nFau`*s+ z#wlLFL-6^Rv)L)S&cEZtVMY`f+s&IsJ9E<6SnGt`D9iw;6ym=BPvk8^Hfu!!s*X> zk^Cjj)gE(BHRIXdu5EnnL)+1Iof9f4uE-km<9>F0mENB6+ZUYh>xAp#GWR+R*Q|9; zs5Qbb#*}Cy?(XaovGPdTg<}*|)om8CyK%2T_NDHV)3a1Tn$*>Md~kdM1nD7TD@h31 z6~+zQ?ELq9v!3dlB2i={_XFny(!x4#_D3P7bVS+CVfU6y3V!Go#u(PA-Oa}*#l%lB zJIVJdYz!m*w4N0~MFVPBFX>|F=Mk)nkL~ieGx%6+Kit6FN8qxP5YqKA z_9G~^?fYATIYi&UEs5pmoA_%r8JGcVk73X|TeX1pF#R46PA}TFX$$RV^lS6}qoMZ4 zLhX--+Mf{Zls78cX<-TqZx^(ut=~V#bP;jJLMWUi48-4z&B90j275DfxUb@*I6lTU z%>}ezpNzlLQlfYmILo(M6S#tT4&j?;hpZ3DcEp6817q+LPD=cjF|AceUDUoGo(4Oi+T-EUiN(x!sI50s`Sm-XJRL0PN`=lnt&2k6xeH7b1LE%py zrCvcGS!)w0w>ODfti%qxVDbx{zD^va zdwA$$BPuQD_f^lfu)sT7Cgm7qT?umtu%J6x30ff0dFr@-G7eBonM!LLO(v^oVd(dbRGL2j2wVKbBMkQtqk!l z#CYV^PN;u_fzgj4fu$kK0f3)oz6K&fO z0gR0us)07Fta$Wz6P{GeCp=p*kKfxj0NMo&Zs3oE+IC0^et&c5y`7W;?{5vg9}l&G zXFNP!j>hM<%{bwEx9gvq-_L~F^P%<~q4q+ky&P)W{^aQIZ0P;DQ2YK+`+-pV!BG2& zQ2SM(_Nznfr$X&FhuUumwSP0zeqX5lY^eQQsBKdv%>Vh&d;9bucxX<%mnm5BUgBTY zRmFSzYDQbGM^d;9;k{fR>AjEl!b5}FGU1X;Wr*M36B_@0p|&lfWI4AE&ymJ1^kxK`z_-ACnl<^57Y0Vn3DH`3^KxdIgiHBIAw$}e%~U-A?;Uqe{tyj zC874NQ2PqeP7C%10_^3X_hE&jyw}pgs0VmkwTkvNq3_9iE3NKh{6wFlv`|R`zAFUZ z6KeN{+Wn!nR3M~7_hdSBPs&=l=wIHG(w7$RC7qDrI(RSdfwU*@0qHq|-@h?5{x^l% z@?MZN5n&cSB!1r%!e_I0qj)dNg&i1-wlEg!ht9kR|!>Uee7>h;C*= zbTbp8n}Ll)@0YD1zHF&*xTQM#p=3K4on!B%YJ-(k6iS5*{~+e)M=j z`D7bPHaz^kSvO7F-haQ(BCWE{_ztOV7lowA3fK`V0JOVp&S~Le(#n0a{6Ow#1z30> zN=K!Kgdq4oWMFp7IF{=yKw};+@oW`dL4jutIViMZ)(}5F;)G6$J%5lz4=R~eo#>h+ z7xQUKEmB*W_QwuyNDSi`_R-R@P5{ zMkb9RA3t$xYZIw|x9g9 zC+j|zr>Wj&Z|yW3glU|{f2)%s|QzIs2uR^B97WeRzr=mw~r-OeUyucUCGH>pW9S|*() zLg=1LgMjkEKNV5DwlHKyM=5R0gy@&C)&o506aUH9WxvSqO4neis1 z0oj%fhOh}OmTh)RGb4@A%FM_M7{()Mv|w2hS}fZvHUScrgix}tBmvTdkdlQa`L#_` z=oZ?PG)|LdYXkW~nxp}o6w)L=68`6V-#hQ!^X6UU^XGl=nCth>UCzDt+_T>y)+dHV zkE}6TALQXXR~ORl1Qc6C=zGnIzNk8Az(;v@HGBhKeR%F7;HCzunsxNjAt;~e%%<#| zMO-jcZ(^T~H2GFTv5&(RTmd$efANRUlESU$7RH>rD(PA&N{|8kov*tdc4$b%Z^g+}m{Hr~Y40B_*dHP;P3mN+W- zWjes69Jjf~aGC|hrYmXAOpd#i%Cw#I^gqCx8LnsP!p!hOVWybxnHrv-C}LO1mFP?W z+_$94euH2qTXb2k31AON46i_8WA^cuI5d?Ff>+} z$xf5j`~cAR^dP^W8Ih(KuO^|eC6`AQN~u|GOk?C@;QP1 zjEpCPGle<2*qN%gtz%OY{@nP4sN;$d+7Ui(scCEC<&R@3y?a-2W_EmP5=RZ7 zE9eh;;WO9~Wje}uX}onv{w}(I_4|vA+0+oWaR`Ya)3g^RCdl6Ry+wvzZw$SaUF7m$ zsVHkq9vP48=nFm}eP(y99!5k5x)Fb<1&M!g2U#k9N#)(oElZ>2ht>)rA`i&#%nBR^ zRd=A_-xjH0#u(`eULbT*(M6zh?Gpv}+SRaQN}3dBS(tzr(@Z|I8>rFnl~pZ{hBU7X zlD%?C7QG&JyIi_5YK4Z{OIeN-LJa)lMS#yR#+xw_W}MC2AQFVH>WI46sNk0@-DI1a zu$*?%yJhqTtZ0US04W z=H}-oG6@`ASPWsRGd4Itb#~mcBDXvAE^He{MAYcd`J5kwk6@~Igc`P;4X0^LIk+0( zV+~p(U&ID~5o{H+zLLI}oFmIbi` zPhC`KTsh=r^{|B`h|~4{>DJ?itOze$(2%Gzp!<+W?aN z5*Nr%S<2Fj4EzK;52g!C0NwaB4`P12r!YBB*-8!;CWoO=#-@U%316C_aV&yiQ{8OA z;l&(!G@8H2TY?yNH_rM`2oxADRYLgw2?+ce zVGO(Z6TQ13x!0wYmcYfvnL>{5z^TK z9y_n{)Z|yJ4abFVz%C|1`oe*>Om1ljAWItMYQUJOGV*A1l%&ooLwULJ{%Mwh28r+F zh*W!e5_tvI)r=0E9f%pDk5Jdb`R!U^x4(+Hea^$4?93t&JJk8%ld($Z5~q2?=!`QX zBlZa3N?~8Ufk`V}5l)BK1G>AWvcnf_)*6@^XSZ_J|2sE}U@g(jB2bxxcY2-B9gVZ7 zptZwJ(qT8`A6O5sA}S04IUYCpG?SV+4GI+wS4msac|c%p;^jw|)+8ulKV6Xo)fGn0 z``t{%WV#x?%FB;-EiNkRy_^7Tdp7U3i9PG3rEr|mA;^VyHA)Pf-_;^7tU(HHCIJ%a zgwf)H?rr!?)fv$HXia0_?u85vf%>r9<1jkj>H>p~-{m&KC}EWwIA+s;=G~n{XFDz0 zeE)8{9jILJuD@YArV|cO+&kxd_}U`a*=mfhovAMc8T1Svp_4L3kl}hlc?aE9yae>k z2}5JWp#u(5!^|;N>ODrI|H&LSWb>Zh_TIw5BKr@sDaTLw7!e*9XYumM=QaIG|HL}d zjbh3A$t!!4sXZxu5twcLWR1?A!wqIAl?Ku2J?pIvE)%ySc#*#7r%u2^`o~kPz~!pT zXw^%eH9OI&uaj?TBS?_K(f~Or-mGLQoY#C}HqlBMdh8ngYJsFF=Bgpvx)GdomS63* z%?sIAd(;XGUmvdtQhJi}e1<@ua6wBCROvxB#w%Gz?79iOAja@f|Pv3oto%Fbz>^5nR&xL2XR9g&YV~sT%He{_>r`>G%f(j6jcT)l zBaI|aSR(GIe|Hb`hNoLWCWst(urR!R@2V{*_Bl0qy|v-E+NnVu;EVW>)b0$O zZ5i#(0B$;bdYwa&o1SCyL(s6F-`a(B9bQLNDA0E@<#F}3ZC#oNWCpO5d`Jg>&vypQ zw7wif+sy6Z%yB}h^8k4V{PB0RX7e4b10CefF>mdAm7tn8^0YgqT;hJ6dvwkq`0%Nd zUafn1>Z}F3d*E0Q4q7fGzTdL!M9vs8D)cgI4K;!?T<^23FxI5^Sm7YJ`_sI@XE_X_ zxg*oX8wgMy5nD6>jAN#@sWjI?R1fu3TCEewkxb$wRfMT#@_pP0uzt|!0hEmnpV3P^+c+EjraA-%qq&pnOi^zM@m-CL)>9t|a&<9X8H_TMj3nG8}D^XL(?kuL^$3+VNW9OIKv~ z%~D~U99J{BF>5{R1Vy}oi4r(7nl=!#@M)`3?=<$+bMo{+FSLJe#yWTzLvcNG&hE*{ zX1s>QTop!*4pcE!)W*vGz6>k~;XRLtXb11|mBIc*YLYTdX#Xz|g>dMV0`G@-(p()J z<>Knk!R`<~<1#?1f)8vrW2<&+9{mfiY4GsyXm&JN@Mu2I7%^Dvh*8GZ1u6puJLw;I zB|7|L)8a`+HW@Yba=$!305}CdM*TwFc<{HMv^gqFV=au5JcV2*yF1%(9pDG7z{|w? zJIw3Pwff>v+)0hG(RZht!M2>d9@v2ZgN4t3oW8@u<&93!E7t|e=8)@+^=Dqm(h9Q| z=CYK$SE*e_g&UZ><1B}Ar#WqBU}7R3$aK>&+itsSk+%05ZJ)skJhC2>!}MzeCiwwY zJxkkJwPnl+CmTrkn9TsX8nNjcJnz3h=zfQtFi~+Np2k*+L6XxutUwXr@Z85MWRN&E zG7DU@2%H&pwcjHUq$DK4y20Ug!g?7IeoK>lCKxADlXmjFhnf!G5jBEHjPrit6w*0T z!({CS)u_70nB6+w$Mcj2=iv0n&=3v<$)~Y~wn~^Kf6N>U=jHDkhNzveVr-Sr3y&Dn zlWeyFMMNsfUT=CRy*DX>p^ObDq!HorR18c{fIs1H7lfZjjTCo9m1&6=yABsjOZl+=ee?+J_ufl$V4U7EEMAqn-=6pExQo z-+~~s9G%99bFJ^h(brl#9~XHDl1xtA&XW|9EY2}e2B`;D zy4?U%+@C^qnI1ieBGtanAaO~ZP&gRO}Bes_2+z0RR zQLZPAdBkOl^xb5bJZ1m<_%6B}5LeZ`-32XeI;Nl<#e<%gF)7T?j?BD3K=ORuqK65= z*)-aqY|7s|x&L(6Z(k;x>Tb`avblWPzG2P~=#%#h>a;XYZfs0mIR2v|rH$wGcud9Wj57F8Xv+-z@QrV2^T)|8Xi7Oqc+~1W{ z%S=pEUG3DOt2vj!C}3-Tt_apUT$uM`OyR(PD{nuaZ-0_Nv0h7!H!{t^GL~+g8)!9y z3l9T{1nzBIOyNQ9t~zH~TvtAdtGAQmBaZzyOwyHM)>}Bh2bweAdw`RE{&mUN7$r4=pG&MF z^ZPQA(Fug)X@5h$S*eqwo1*k4yD&aCG?tw%7Kc^Y>r0l9pDCRf1(SfDlSSL&hGBa zCDPgcR4VzB`J8iD~FJvgWO&5v(>j66k7j?!K_IZEW` zDhlBM>yqjUnkK1w|C>!a)G)E}eV2}{OENLo8qr_^a< zo0O^^+pN@vu`}^=mQtI>=;%LljL!Rpv2&Da9;2)STgQl`ZXG*csf))b^x@L63n>B5 zSiMrcV;AA4L8-p6Cj1ZvuO1^aZFa0hse!R=_}Q*1311Zfe0_8k5!4lgLrVUXNM*C% zSVmy^qYbxQ@YF3YoO;$D_Q%fp<^I#w?O%1)>go8J(UY4`%n@GxK!1;H{``Ey{F0|` z-+bcs&F63aIAJ1xbSHpY@zbW%;L!wrl1dF9O(`{hv>iVk_@U_8!$;|8JaUxuWk-&7 z(?!omdz3nUlvc%UNBi+Zl;-xMWM;eLXbwLEO1-N*Q%gfX}dH$SA z9#-SSBz9LE*1yyEU8;YEriP0ZMg6a1_?<1p)w@4EUL*>OSNX#9^gdd*t<%%>L$4Ih zP*3+iJX)^S*6$L!(HHwVdlUOw+p?{R zM1A_EKk}WUE~roMDxB@sw;{AX^0>%!_GatTFBdx06Q4!buH3iRY4e&S-DJ2gn{K|i zy`iD`Z2H+s+O(d&L|-zM-_=y#*kYogv$r$X+1g#7?kjYwWnV^3$v0XPAuBV`pCjzn zr#lMmYVgS~Utg}Scw^PM6fphXLPAYH^e&pAOW#;UbkNkNzfwr6zh8Ksy0h~Q*5c+0 ztWUq6M)rmBI|)&5aAZ9+8JWHH>CH5EHRET$@wtOXf=2dK;dE8;n>(ncHDZC1NK&7k zDr`_|H=d-SpC(?qK34VVFBIz3l?CjO8u5V_5nZ4DA${^Oy@^UbajcB>=?7>hJ^Ab> z3c;O}NQ0ZnboaH=H1tqC8^67lIx6cSqlu%otxqp0oTGkl^9+5mv3{Rkvt-Ka7-;QC z?Zf}Tq_=BpzOlJJeJfSAruPvVn5+!$NO~dGr(dA4|NaQ3U5*{66?s(Dr?a%RAG{i4 zms^`P9rfv_3+vTAE$^f+sswiE3u1ig)1ROwmVfk5OPV0XOd^+|jnzSjdGtYiAW4kD z0oSL;sFq8|zfn>Pod-F(@U1?54o&gOBt{~qn6!lG!|Cd!PV`Z}B)PIa{TdO#Pdcm&$nSD${2+5RL&8^N4qV=dPy=Xr)$%j0}$9e68R zgTz_P6^G^$Q>Fqx%tRz!Wutpwchx0pXgraXt;fS6#@q|j-nAAnxUQWiTo zG&b$%N*{$_TjqX-zkT&>Txej6%v(}8%^27mogI-ZAl=rk%d||_vY12TA1B_hkyx$v znc|J_bm4tji|;*)h@05K>_T;mPGUSL6AL2B#B_M&YuON(Es#Ol;VYv;tPJlG zGwr9xDwl_>&^77`qt{K`YnHwXhwrswJ0=qOm3ulxY=&&dfjasGN?vT&h{we>6Ib$L;3d3$5iLkeXe0+%QB0go>%>IgC2^zY6CB5{O+}_tx#^KSwB8K_qdC)O6nUXh`pW>Z$@IDet>4vh6c5Ovoc7L z!l9I<2fa+LcNw3Sq)^qoBIV_7B`5a(rVfNJ&9!>}p$F)I=fdReq;9+4bxaJ`yR%9A zAXA)pM=pJqwb`g%KHTgaFKA7m+Pa+l#aKY4o}Xr1;tRYuw3)syNjY>fnQ!U&38&{f zG^(Akde>)byELw~fz2fxOB=!M=oX{D zS9yaa8%1V_j(OU^4jUCV*eY@D!GExcf;5!V#D5mL#}AIr!KVc3cEIz}y3_NrT_+sl zGUi@FZW2f1KA^$FSJ417Nye!9=>XG{53+_1mus5cZF_EMp#^-|G25tS>eEanT zYFk#Mn9&b5Ux7irkv4&FgoDOKQqAoQihWDqWGcPM3K|ohZwEajX+JX0Q`0V6$o!<& za?@U~oBzz(bX+8_+Q!0x*7s7dDXEjXJ9|2F_P(zchl6)RCWh_YHb}A-RLlib2Agl-j4R-hl@ z*p8CL%6ZV=S*9PpBRIUllUDHM0{k%dnbH^z4e8s5+1%zknDUmaQuiAzKhMWFSO`!q zWVvtKLJf!W5LF%*jDCB5;NT&U6-n~}J6vd{nr6Gmz~%RvNfp zO&XAJi-ll{2mSbKCjandLhiBMsZ`f9R_v`8o7~Gs=*@VG-2p4EE_IsK?QZ3Ey$fsT zY==8V_@vhe8{ri^>HY?V-{^=HJSN({g82gC&Rggzu3;-&r4V?gd9irI-S%lKXk1-p z47Zu>ahw5he6j-~9?lDv1P_{_w!tPbg&zGm+;lOQP7k@W{RZEk=A#swT2qu zpVY>UGr!!Jw(CD)!pE?{il+7i<)b;n+F*qUCo6K7K~K7ig_%h=Q(O@ORro54s1F(V zdX`ri9A%JPFyGX+)7tt5apoZO6Np`jnNDGH}@jSWCGO>!(SCB zlVMc6H~R>9GKh-zrt>1+lSx#(F9gbifwD=U0WZ(kNZ<~ONZ?M2pfWikSV7eHmOy)N z4V3Q+l@8$Z5DYCH(_-vp|rgrgOuD4hqPg6`} zQ$~Le2jGPx7rnnJ@c!mN`JJM?N+=QG#Z)Wa%d4eu=fraHeoep&YK>s?aQA~$!LAc3 zIJ`eg)VEGJlj3Y$Dc)Dn2%X2lf0dBG@V&{wpe)<35;`Khe^a17sD$xw{U*#zEt3QxgO;ewD?}GCz%fz?f|cQ2%hCeo6nT0>-f_bv*F>ZGrObf%2V!vPu8`Zn&bnj^3jm z_XfUuTcG@QQI@GPac6~T?FqYsqF2BN@1&6Cxv)DZ)k?wqIt*_i3%j_lG+z zP7~kDJ1(vdvc=odiy24Eq3mWo;c#)HaAat5u9E_Kn;zu^jfZ+^18|I|=(qcDv1Oxs)@j6*ua%bIUAp z77pL7LBk|Yd0;JN6;|djl)8v|k+@>-*{Im}FnyT&8fBAj`4USR9Ac8DL?797Ygg*c zR+L1AC1bOv+H=DG>5k~8rWU%oq1IZ#a&ffHaTgqy+6F&%5^k;#7E0M=d7;>;j8@2I z&@eWoKWS||Ce#)k?9fUs7bC^arUYFv%H|)tL#w>+>bIk(1o}+3= zFEr;QtT8)}0I+S{ushjSqq+HaG3N5SVFSwN$X1O!&&j-9s$C|w^8|NY3mV0laWeYN zA6!h(Fb}cKEMSsjkb6yP7EblyeXkY=yqEHTwnDl?C#l24v$II)PLll0)w~fk&Ko%a z{F@d*`j~;_!8xvaoos3m)A9g=X?S?Ohn7C`boh5I?4|n!DpMJ#t^T%i3yOPZ77; z$Jk}9$~Mxfd}R?}lO^BJCqR}Ieu2-?V~}b1F522V1DX%NTTxT-?*=Spj2e zs{^M2Q%q(0TN7RSgdE6jw8BOOt+<9^aaXkVHqWQQ;fAk{Q)yE<4?27+?|CR-bJ<2R zs8EPETtl$=@CUW{`qzm1yaD}B+_H8t4(Y=5&Fm37%QLeR>6U-`M&7I-HZfI&A87Ck+NFjg)CV5fe04s#aWb{dQ zfTi9IG7&=7U~_PPk{jtt3ia0)L6NCqsb@Dx@L2xEaug{x0%N9)*D|%7KVeGlB!p=> zh>S2VY2Yw3z;a>2m@&B#FxD;U#l*ZiVk368|%N~!kXfT*}bdL2W% z0uyfQDvUZFWnpgb5oKBv{+^{ZZ4jgwYUe=0O0peDpEY*C*G+JuByQ$|ZHs`v*8qQk z=L>x&frwl)e&T|blKF@lG(b=1E#zfuBa`u030Q7qUTZZ%XMP>Gt2ZtPQ1_RtpfREL z+r#a;iC*;@|A-YB?yb&)6>^yO2gVCdi?XD^k zN&Aho2b|>f!d?nJeZ9H#jCBO-#gXnYTtq*2(ai{r=UV}*#ci!AK9;o`$>iTz!77FI z<3{eSULUOgaY$v@>Xtg;tP!{~?#M`qBSRBK?Ye{ri*UqC1%Gwvq$S}K7!Df|O1xLO z`|dH>pwCITXM_`m<$}`R$aLC8c9WgEtrmVtN#2(8#l((03z+bZu8~X&d3)9AQdjJv5=Tb%C z8@*cih9u05t`CInN35VRp$1E{_Eg8l5Ub8Pte>`45EY7(4rAR+P&#Q+4j2E)ML?;$ zTtpb9&Sbuj?oP=N40y>3LJ-F6$3HC-B8``)r+?ufqO<<71db1NdD%CV_}3fAM>%hl zE12TV4^a#<=>zABZC#E=Ellc=H=8#a3t3SY|Q-ri@Z0rzgf1sbyq5% zg&!3ThVUufD6q7LD-a8VIEXu~71Ri8-BqmVfE+iSaQAP9cO#23oaejiaEAvin^ek1BZr|6YG8Yq8El>J-R9r&2gv*Ii=bs;E2FNVkY zzDg`DykFzI_TJY8%9{dZxjw1{JwSctRzunJ4MzF0Kz&yP%7cOO9f9)wfwJ^>k}2rW z-usR3@8{zIdr^ziWam1CCKr>62Y>rk+j4ca{#OTiEzF=1pWz48XkMW>!=gagA@M$= zk{@yp=(@dJqOA+os>U1Lm0SwEPVnbw9d8ZyyPXdcg0PS9VC^mE_Cf54(0f;U!%i5E|609Kxq^L6 zeDZnLd!-?~g~P7W1ejqDapT&-oAP&b;Fe~x5ZN1#3(vE2S>$$uO>v{0d#B`gt$m0K zp662Tzk7i?k>cJOD{PI(Pq>$lbw?Cy>v{_TV$K=sz81Dh-G))q1FZiK_nRhdLdz4m zv6LS3O9p5Cc$R!QdvPBKqI`4;V9Cd=uFmIQ598u8e<)w#Z5X__l*2!gcZRW1y zeOo0GMEZi*`Kjeazu6F6MKIv0y0v)2e)|~{1jZN0J*9Z}3oR>W`{A18t zw-98wPAVoY5%`IxOdyj;n{FIcRW9JWMM=@&V~{yAky{ zD&qkG_-Dokm_*lDtXJ+kb@#$nZbX^l+4H>J2UC-&RDWjbU|Sc2f16$jiXc2_e3-ZU z?iu*jrmdKizUO|@5Ll!rgNM!r1sexO8^%zX60djFFGlPLWi%VlmJHWF9v^Xfth)?e z>3pMnH|sp;F3x*OhV9pJmH~r0OyBi5qtLmI2a7WOf2pqU-LPKIJgNf<{Z#dRT2bZX zB!RO*ICQ0Ou$kknpB-o;?P*7<@g*x{RCrWp`QQLMoKNgcbf*%11HHM{eAf>&8p6ys zGIV3TNAt#saDnbLB1S%3K_#PdCRnfrt`HZSrPh0s_TzfJ@aHH7hu!qzBEvR`SEi)T zO^+?oXEW00K(Ntf?9uR9ii%i(t9gBBZzdXOduIn6`fRYKzG)A4ShEL>#2sX@Ov6E! z3*+1@%a2;|!ttPNq}HlLGzc>a2^xchzbM21ZqY#oL1$$xX9OAj|09`_6*4f-1$ zvJLUaMq5n9*cA-POMB~oTgM$0_q6l}AzOaF2&732`gmE&EW`-qKb1I-)r58+e%ecW zfoL)3`RUiXh~;n+>ET~KP2?SAjv?VPSaUomqqekDRDj3X%jLJy`(xZ4#}9?jM?PgU zb1;#GV{n~NZ4NOw2&KMRQ_sC4%!MBehuz+QGA(5^c21I6Xntm>_%mua+-+((QAFnf zL5lj9_24 z+r3$$!iw9&8-tZX%}tc`@xDdcHTBNd1>4gL2ec2pQmJynFWD#*6*32M`}AWXSx zkQam_nzHZzIactfnlP{&V+II9Qgc2F#wmPKtHn`s6_Y7uui|x# zCJZ(;Qsla4} z1J?+7#=Dk0*OwzN404&u(b;^L6*?-+Mjls1`ohM($*)<#D#d`ki@go~7+j>tZgdk> zA$12V#ncGn&Dp&D$k;`v@^b{XlNLaX{$SWUy)AKHwB}`K`=i>qJ(B z{bjoSaM5C$0q6%a5MMxE(p6Tt^+Kzd;Z;H!Nm6e%q$cks$ncqpi<#=@RRZ@54K zUPcQVE~1D$)KWOoPD1IT3wi zpm@fGE;PrF zrG_uieGXe9YlS1QchzBxG)XOmVh2bEwFQ zh0^sAQKqEcz%vXky)$XoNv)^F>O5%ByTZKBxL46m#cH+d4ENSc8tSe|vMu1OuXi4;V`W4 z4emUZhVE2}I1#V=?nRcA`fHXmzmzgS%Y_baiihqpK#hd9F>BA`Dr2B+JzpzAn%0nO zMgGZJO^pz8I+!~kK^k|L{#Fk=Y(v)yefa=877uFiKy$d-UO_}*leLbuLhU%o2M(w> z`GTeG6d@+~O)sLELLhXS{CqlP9WR()=fNsJ!pia8Gqjigl%S+vhod?u&5S3*!awKl zZ1UA02VV$RjwUWV-sEwk3;)8i4(bp2oBWs_)hG)S-XrQh1NJ2*!#ew^XPNG_j()A! zrqfIez2LZBk_VGG-fD)4i#r8-%#4^ed%6_iTJqJnBjLV`!oY= z$tyLEMTOT_Whv5>>j6O=#lV;U@MiATh_GsYTI+F_;}076*93ENsh zP;cbXQqT*9LqS~%?Or%27zclqE^v?M#}TD-h`?6STXt47^Et6sG9t%rXT>nBtLzFF zC@kEJ<5oD_j72NBL41&xm}X8q$KDI6I;kUawhBClK5ld!S~ioszlA4GdzInR_};$L ztZ0ae!&OI}QgSdDdY+ATYqek@_1NCC-UGpQB z{cQv*mmJGKGMUd9vr0T+O;Lixh6$Ung4-%4Y?M8vz#O)Bw`SA%-L1J!hs(Uyime)< zup8!Ccf0O8!+&9s0YEy#1H$SlMtK0ukwpeD=m07VV1!As%b$9_QdhZ6m$D#Hu}@w% zcDv)~r6rkvw1P*})o%Ofxpzw<`z&aiz#b3U(Y)O`JnwoWt`KAnHWE`;i?89W2oj0f zQAYGT4b&@d4!nnk-+T|nAeV=j9=6e4OJK@&y1@9L$4CuVNo71vqcX0pj8ymLWTA|; zg~$26QgBqk`=>EPleVJ_LXO9Qm$#4NJ={0(IPW7ulmfw(NQ(%+CA>F97?frIoxNe! zzgoBEw`Z!n0B@?JP-gWh_s>)#;{9oX`b?f3?@enI%9wOKT%T#C!Fw|W0?N{RB_ebK zcweV$^XuCbC}Yv!;r6yTMX${2Uw(g1;Js;^Kzru}-kaKKyuTpup4G`*e|_NnMS*fd zpxhiNZw-{;){TejH?=kB&vxgv_kKs9d~u+BNuVrUWg~%K+Qb9}bj@f%0geJQgUM!K|p?REwcJ5%~U~D8~Y+7G=Bw)ND5fzMlz{ z!FS6sj#u!OY*9FES?IZYJ(j%!s#(PO$WV%$mm-J*^fSv?X2d)dy_bTDc z^4jpX%TON}U)gSz$fbq%GPPP&fbL22G`_z{;8k+Ccz;Xa{jGuWI|JqSigM85K?dF; zc!bSb&bq7#xbVwt@c7>3=ukEl7Vt5Y`&8aZfYfdBoRAs^umTc)>jU_cu^9NiPK*Fo}~RD;v&l2TJiUNo^pMa*ahV@8grLi!V(>H9i7Q)o%?N&wkoe14!_^V6r1W;^3kS@Og2|$?Quk;bV{(i z#ZJlpw^S}NeBK)v{xD0g90=8&I82~&;qfe2i_E7z ztkBbDsF4x7KCzMri1T23kFiJ1o`YG~QRINRt++6Rtm8#Z_U+N)+)@_|)E`~tZ1RYG zG=qyyW5o*e; zJadt7+&l|TPeaEQ;X~R0Riom)Tmp=$KEoBOH z=uf!n(BxqzxWAsJlvJHBx&19wb;i_j182Vr_V?mb7U?guvgq%ArtpJ_TwjN7F1)WM z|K7@bg7S{}=iGY;I(&823Td>!-bzUN-q(|-K(W33bOSks2B&(H)z(_p2^n^bweow~ z_U2L`*5Pd z>w-aEc#MxoO5%`9dcmgsZm&ysMXkt~-Nma+d)?!bFuV0-qhJYk^JJ0LDmD3M)L!^x z#f3XbnzsawG}4IYQu%J3ekvTeT15R{!6-IDlc7)lnYHmK5oG7VN;$+zXwO@}F?*>M zcDXPh9~oS)2UtxDBoLUULn_%Z%U3HqG!1h0$BaIJUvDtVckw~3d6cZaIz}>8em%_w zTu_c!$w!0ZMFAUP+&Z+l;1#+;<|JiT^;U~0!ONL$_~#0lZ{KTeIwst!FXvu!CbG7! z?F4F5_ugwD;AhlpB6e!!{5bp?oeP8inSiltz${}$nI;n6tgv=CI_0qZ!}3Ci8AeUM zr?tDAazc@zF^@*%a^;J(mI+_4GFm|9RHJO#L{M&`PU6AxL|IO;OhWN%kMZEdVhAdn zEKa~bnC6kXlH4#)5m*CB1%$_uxuZs5qjF zZlR&{SnsfcuM#59EUz=ov*AK}T*ljMg+4{dVGE2p?B34di6X@{foq#R>Y~oywoIL? zggR>*lO8vZR4$PjMg_Gld?~ZKPKc%6?YPtd(__0W-v%ZueD-9r{J6hYz=sscL*Wi9 zXiTX0|GfcWLN2EgbB?C zY0Amd%unb*k!w+gxHabUHDQHc|^?_@Lt+b#+~{1dHU zj2S1IsUiP5_rq}}g4ve>m0q)sA}*j43_a)wX^x}X?Hd1K+_2P^jxsd4mUuS7^oX_X z8nI<2nKkN}nw%SZD?#B*DwRstd!jdTT_0o7o96uQbwA;M;s`Z|-LNKTf%h0VGuc+- z80;xbmm2Dsu*oZonz^sqJpr6Lu*1R$pP%4jPBGe@=gk4{-1bcB>O6T*BPbz!fo-6Z z&3SOnd6rT_tz&I%>uS`F5%*eas1Y@k(xh$}S;HHT3B7GUk2eV!13s$ZP!%*{zsraC z{KNT?EY6OPP9_S|g`x4eBk!atK)(GG#9!WBMip4zbw>Fmrpe%hoAQ*^HeN>>TFa zMP*ql2G$8%W}ayrp%5NWlXL5>kTG#F#s4embkk?7eIy#Eq5U+Dip-=b zrfE9dwr^rsryJX^dmbj9R;!)HY&G$0k%>Rs!8z+1@3RiPN+j!hk->2+IKIv}T1H*) z3YX6L${Tqx(I&>5BOLEKI6etl0YQmDS$CGn^XYG4b+={it zBX*rV`c^>Xum3Uu+m@+mH}hO#y=B_`m=!c86dN}%&IHPv-fr!7mAcCq_%95aC0Wj{ z@4Hnn?o70sS6!U$DbN!X*-QtpL+rxNPiZZj;`zdKlg~3HA7xEUX`Awnx(I`M2;2JU zMG%IQ6%R<;I4i!|>BdPc?C=Sy5Qe`IK6WYB|0gtF!iE>|V!_bRE~dXEY_}CA4>Z!{ z+xD|7?j7@hy{2S*Est8e8WT3qF{Zq9Sdd=7$=+n8kev=Q++b(6pJs8hb(qq|9`{j` zw0qn|go0;a@Dz>qvgs|<3bec{X?8FX$A+B*b%+}>#bT6AF&Jf242BliG*R5f)E5V5 zUoYv8O5N&M9;p_lFE4)7TUy(|)`qW=n9z2OG725kH$$rz4p%8Sl?C2GPX4U<5$20?WIL1pu?XY< z_8vW0*<1L4fqN(Ao#><+c@kZAY8Mr%Anz_@2g6(MwzgU+SW%BP(;+Fs1O07Oh18`n z4=jBZynOhBeYg}Q)eHM%IABC9#Ze|WxY`_1wbH6#U+<zJ5`S=(^~W<#yc@L zhSB9J7gMDyPOVV5cQQk%GkhkdNSQY|`>+cPR0CCh&X6i`%R(gsBjhGGMgACs=fzwx zOfSjZEcv*4sU}x11wF7_F}!pm;sV)agQx1wm1ni}bSL%GSy*tS1+0!lcMqYI9*o!6uwv)L*!{n17kZQ9U<3!z$v4xDZU zjtb|+OL@m8JDscc8ed!l5=qqXIGbXn?%p!+YkiadXa%bj?8X6qp2*rXHd>rO8z(QKug)As5oC^{zRU}OVjih2MY-}8 z<5f)86;B);>@E(IrH#h=t&*`a%?SXe%mj`LuwcQCuOyI4H1 zgj%zyMcL^CYSCM~Lx~LB&Xs7SaB;+uut+(16Ky{?iOU1$tpkjzoYBv-dH2x)o$jE? zb(7|Phv36c!YcJH1O8bidFB-~dQ*Hr*ATWNr1xvl??HB=Se%B^VuptOW@`^t3Zm=j zXTkK*RXmNfvf6)Y89s7enaa*0dm=cT_*X4pnA-=8QNO}xxa$J~>WpCJaO%8HY{yBD zUd_)P(XK^M7oY{!n%_12Ml;Vq z_DseDc2*mF90sxoBM!$yO!(1wv9MS<8A_ty7ze`_jLCdm$AP##t-S;7t%=+~hPHKI z4;7Q&wKg7AXBrc@+aN_)Fx`}jFwvVEw1U?P@16a;QAyw9Lr*ROZR*K}J!ndjL;94- zVZ@}`#q+2zE^lLKFk~K)c#zu0ehuTt%xm0xnV`AxT zy~hIr_f=N8X&tR#cIvEns1dh&H1p1f5Z&49iP7Nj!dFmKz+cXM4oizf_)2h0S3)7!;ALu6r%ZD zwkdt71rRnhGtQ=qcPkAUtYH(48CvOZT*sBE@bKE={0oA@LF1nYe9*{%n{rZcyvaaa&^gshgX-#8vf$O_OgbDP zZoV_!;}PE2VN~onYoMY=$1n&t6ImCt;nhNJ$n&D2jIwzrrEK%XEe-!!0?u7oEl4=B z$(m}M9f4idy}hI&?ng`n0DD(>Bqk0xCnz7h{&~)jL1*&idZbG-#nD-6P4WQTZ5bPd zJ#EHD^&8#RZYR@JQ8=#|^K_r^oSk4cWYBftY-}S)n*s_e1`jB|cbycG0yNnKs%LBR zItNa>bRXbt080r>V({YR4On_`MTCjxm0*9HAUD|h3q?F0^mm%cwSU1tJ9)TKx^S3t z!yi-Gl5eped>*W&HhXWjBFR>1Dqp)jS%n}xSB%oLB?SqLu z9Jd?vVqx5R`DncSWvnx~&RRo_2w%%EvOq+-6FMpOVnk$zF+UeG|DTu{BH`y6YBGEm zN)8W!A0C!g4(fy~Kr2mutDGU!$Y+nvT;aQT_T zi7`6fU$){fu38N|)bpZoJQithEVDwc5<2%Ad3Rw`BeccwCa3IPmG1CMcXpL`I%1D_ z7alkwB-N3fo0^W5;K3oH2xc_Zsh-YXXU`)sF8wZR&+BM%od@lXus((KRa?n{-A)ZE zHFpe1z)kXE*H^93K-;>W)}0N%^5b@+$zSp$c~KJZlGG9iAiB9+|DMjY{=nYlJNC`4Eu8mo9rApP&nrN$0!O1xFPiNVj`=)+5Rc+<}F_ zw8egpcV&M=zWEla1bL3iNJvK|cX}fF5_QNWb66W-aNx9tb;f0c>2cZPG7h$mk-RgI zdc}&BDq+|57F{N#6;X-Se)~F)3a0Bio(4>QlU-Pd3Tz$>9@fzQ54gB2-O>?p4f}r+ zNyd;XaWC|obHVs21Z!iK+vr<7V3uL&$Fa_B_|7g7A;Rxvi+#3n+rJacPJ+kLi`nQJ z{B^c~Oq3U7}nij5NVD zi1N7c{im4NB0^V4o)d%tcOB}#{hP9Cgm?Ru=3;2JpYKtzCq1h%-)sfTVfaBA6SsPS zUHyPDfH$!y=h-*fx|+yex#27R?S z#d7TG3dtc;ILH|#TmMxfDqP(Aw6Q3^$wz`2;H_^Hht(;3;LF8Ux`n$wIG__^{*P|i zlt6ez%XAgHSOEjhAN!9Sr1M>kKXW_I=eOx_nJ_xu$W(QHoWyDbTfy?+7y-ie@H*k& zw#$OIwr?zgwm~cGGd51 z9srs1!Gi8|d%>Cb({6b)P1dK`>0n?71TcIGEfTRs#M7jf4eS30Z{$1<&mvQ-B3sv* zzk0@zah$z#rfbY%2 z1!dDA1?Am=`oMDIVIJ;Ur|6Zs(ca;}`y+w!@j&^uK>5vq^4)>*J%RGQf${@^^7{hi_Xo-!4wN4W zls^$De=1Nm2_DA(g}{4rV`KpB}6@Hq3kHt>F}c>np~Elb=)n5EQZqlhWDFvFS(!V1Sf>|TLSM*BNSxeGsXKV;i`l8 zK?SKi*Q$h365sC#)OSgsEYGbfwKMR(HBbg#@i_BPC2U=2uhV($y@z)c9{yhHCS(pE zz{_(|-k*#2@|=_ow0JM+gp8rVdwC92DR~Y^&mVmMZm0WR|KAfR%X1-kuc3^(f|*<5 zvqoJd>XUbXAlsV6m&`?l>}z`jyv)gj_mWSL*XZHBq?_>o-w+Sb&3J%r`ZgVBe%A;1 zvh_mLLiRS(Ac?ZvpX-Gi0N%^}DeuEVwl@hcZ5Vhj;lar{5BhsMOS{?{xK7|??FV4 z7!ANKB%se&p`&7NT+GrB-IrAyZkr(g^Kr@xGC4Qy;;7VtT{86&~OX)2)?z!uLKO(L;dA&oRdx@`3_a z3-)mzuh=|$D(2G!T1TCW(I0Hq{lktP{^@x*yaHO&G4@%V`jRnAw#|=HZ3y#ee+3T1|~$DjRswVAd(#g+d{qS-Vz` zDr~P-iRtpPfaXbUiuk#W1XxF1EJc~?monI&B)^B7b^WHwkFgfa++L=2GenT}sExdq zIu{;J6YP<4>u}czUD50+=uCeg8rdpNod) z)NPD8cLUM&R+MN1_&Z;BJ$w(f7$d)u*+<$!*uxJI+)jGWTgY^f-fh4^PhiR$pJ6_S zyn2$2XO$q1cUUB#eU-VktNHY0+oQg`^KPmQSipn7eJ(RDxJ>hg#^%1sf3Sj8YUH9i zEZu{=Eps}{E%fpqBT(2gD%}?O&_xDdQwlqiw+*-j!=BOboJK%6!(fW7=b310I#WZL z%hgBQ1?Vn4=rM%R8mFksRlE!&Ii?(L*IRK=BUtQ<`20lz#s>IjclIvg!%{AyORuwF zp%Lt^jcqcOavQjH&ESK@CT0(=trD1#5!B$9={aF4{VH!pc;}@HGs6ponPR?&DCpQay`43WuGL|jp@nm6gf z&{$z6KZoVHlja{o#&G-y&1FK!_3p-YV#vrt4(E+T05dXip@z%wjKCnNT`y=c*&X0( z#Pyfk7#Om&j`$#I9JjU{6*9+mCdJrNNKP_1Qs@GJXkj+m*s<+r_c?22D&~44TNxrs5XT6(bVC=magLyOb>eu7ZvJgDFm#@ zUBGQusWt~(!#D8?#YvFfy{kAgJ3ciDY7XcM`h#Bh>~}<&o;hB|Z5^Gzi>_Mz{vu;G z^@eR67-L90?S+X6GBAE`k)fM`8m;W;mj^>d310F@PFzRbHXZYG+KUWtstV_Y~c8JW(5wrsyoo|Z;MngV^pw$7YH2|bm!+>`$WOL zVKwZekcP%t7A+v;G?VA=25K~XWmOC6oaU85l36avg4x4vmrGYht%jgfr-8o!Q1|A8@t`+n*9_Mh3 z1S~2t10!UkL(b>k_YaA3Ot`~?(~%Y`dFdhE9~baz0{xM>7;t!R6W`0bweenBgsQ|9 zk$C?O1O8!NRL&0E3Z27830L83Bkt*$fU9$OZ7{#3FV9_!--6}}51_}`ojgsdz+~gE zt&K(n({v$&O%x|b=f;*3Sh#bY)My898F&vf%<~hO1Wp&5VvWrZP^{fyS&`cvdKb10 zBO(^|=X?|o!YMJ;J3^F;X)26>SkwnE2+ zg86)=ur85K=^Sg}?Z$;!DHWhPsak83)dH}Ck5Teb*O3aT1W0VRD`ll^iTg4nw_+O$0p? z7Ka(&$5IbA(QymTF8;2y&k^+r44EDfj_-Jzh@$X&`m&2{BJ(^c@H%!8kGQe=%gw)U4y$eS#n*!E#tKc>kKF^A~vw5D)D} zi~k9MhRgLa&)SA?wHp}2ZfZmC+DGnnDX$~lGM4hXLT(l)`8+1Rhq@5H^J~NgZs&Eq zC)3*FY4+^7#%hGXbb!ast2#CL6>GzB;UTb#Nshh?pe>VIS^~&%oaJi3m?>z)92F@u z0vmFs~H_SF%UCCAEB;=^VhY)dVdvj_fEhOXx z5(DRVwa5!=kV3RcV1$G}T3pb*HD}66IS1yo&VYvA7iMh?9s@@i77nw#)hPcB?E$=V z?^bXK+K1f{hSB|2`WO%BKJ>ZacDso1mGQ1YqO+eCdA@&lsTIlJ!uL51c-=R(iWrXR z&3HD`MV*F$vH@@=jIS+%ZHyle@YBxJoT4InhL6xm8zabYRiC_0?kZkV`jUj9vEtAH zXOhB8j0nBzS-c$cc})+~Ke3K^a8v0Xw^5*H?lfupjpEnjpO;dHZJw^a&TV^njLrX=A*Sb=s~h@&TXY5H&Sx4eukjq_anDcW zrsfJ0Ix^GIWR#I**3tLe=9wF-)Ex%8Pjbg`@jB^I$W#K`S-2o0uc`d4*X~e%lCu}R zXdSimo}Oc1mN%Oy;qqS*aQMoMi}QPg8T=#|{D>8*LO34X$U9yuBXKp##a76T;szy8 zgdrY=oNJ)XJKYKz7w5gFHA#>v4HsNwQoT95`ZOvwQl6Ow$LpfuU^Y*&F9)+#*2b3$ zJb9NPf!w%CoA(i{O`4fD7KXQ*Tx9~qRi`Gew>BJCI}PBA_$bpZ2%T*i?ScTFH+*`X zqX-p%G|#c#K4^T;Z|%am4zD9BG|xMEKf7Agwl2-7F`HJpDWx;M=kEfRSKqFo?b`NG z={OeD_yMI=)4B7+w@-8pFmR-EWj%X5!*x83PM|*u(Jos}#Dj zSp!sONZ8#2XMk|fav`VvmL(o?ppe0$msxA55tQP3pV@@fBfZB82l3jUb}th&EQh%x z)5RMIPzs2QIO&sEnpYvJhk7cl-ihQ$CUKG~!qhW4KW+qbKWOv-D#6W0`F*?;^7+)B z9DA~)S6c_PP7G*<32g$A?5A0wDuf5+0z*->|NM;OnG$|{n;hRyc*Y6k&Rq`;|3MAf z7;bir2gB{9#36LKHxJMu*zh42X{CpEM0n;`bIU~PwC*M~3H?R*T8k@F)wGF^F#>fQ z0_kjceGy=j)$usGLD*SnhrXmc9CqT%i^Z4o4%PXvVVJ^k6u!43BG~l+GoXXIw~a_^ z3C&|T>~f8LEGG~(@4_Y{hPly;VTL{;9Ah;?fb|mGyVi>#D_ph6#nj2W+D#ye{!h)% z5u^3Dy8mGcTNzOD2gVv*d4ybxjkDlM!wISkC7a|~9@yn8Y@f1ryjJ+b71;%|RD>qy z(@bv6TF*K`5pQ6k1Wt{n4a6*b+N#t$4HEF2JWbFG?Q@&44qnDTT+jTedy=xTtzj{n zz8Tn3#d3r;DfahepyvfV(Th)#evHTA8Q|dv{1}ZRe6L1@!K;N)n5W3?WOrv9?&JG_ z6?mCguilLmt}Pdb=uYYyn{sy!4`?M_Ik_8{E-dixmvKV>|89G)H`c3pCrT@fS(y9M zD=lKxmN6%gD91KtQ=L*Hh(v?uHunb&A9f-|#SwZM+a3l^8cDe;7ly<_XrB90_hUo28TNe>t#fQfKBolVw_-2+Hvz9YC3#J)Ci(7&ijdT zO6N#9lC_&jqv{%Ga`o)i@xGs@96bl8M}~%Qh+uwvzK&)5Dq(E=G4pYpc)xELqI$xL zu~kC*J7P>vvfT<45ot4fz3HKR-=yw^$~BzuMue|XF)%%iFE0WJYJdmp;UJ^OwG{UC zeu^N&r=?m5x?@bJ+UZgOlGi%O^S%G4R^X`cxW1m7g~NIRw>(^`I~+zSY6VY{;#qN0 z?I+w!`v+a{QiYZDM_9*%W^i}mKyiMWCiH_EG;AfW^y2A(ss)ahpVim}jX(?&aCOW} z(X>q5NB|Dp^aMwl9fMKj&$u@p+3Ws4Rt(03kJvuO103yW^7{J8S3Z~8WC6z!W}0U_ z1r{cbUCe%A0fytHX$c(QJq`ARTyfkyY;>zP>+VWreHoy5A=5tO&!Y4u#Nc2e8yfXo zz^TMhq4{?81N<^K7?(?wlN- z8CFjO%2~-j(ERlq@}B zYiZ7X@E#xKdeWGuT((Hx&okgX75x18F1no$cg4Nk1ubnlrj8h(WlRe5vm-Mv5Rg1y zx9DMlAe*KcluaLwo!o!AY_~6yO?9{DQrTQSZQn3w2=vK|{&aR5CyzHKFC70-kr~Hx z<#M%iI146beq)7>3l~98yJe)1-P+s&hF&(#wwcw!oQKG4h~;>&7=kHfS1=Pp;!Q^? z_je`LG7}S3X2Oee8H|Fo=I4rF)x(8#zNc9#D;(?~k_YvTPqd%u4a!&o_^j(RD({)spi5233AP z{%%xdmsKo@(M`?fWeKYMqj=e*%0G+0n^pPW;P0(2aEn^{xGF18wW_7hsIm%Dz3=W+ z=xGGydsQXGpO8$4-3a#52dH*WB{1HMhR7=GIyL>Y@6(4U#lzEw=)ivZ5V7!IKeQe{WS4&C5CtuL^H3drHYxR;Lz|WQ?xC}k z`u-teQhs!ZIFsiOovYMO4xO*mPY+Sd!_NuqBzj^BM z6SvcdZ+U9XO@Dd(<<0kQ-b#b0Jl2ZWZTLyxhY(bGETvTRScg)pj?tOC<`{+SS0C$E z>hxnhYB#k|AzE0!icB0azs+nnrP*p(M*h<;9zJpVQ}b(Xeao6#e?urecF|MMWWRK4 z!?{aOJaWAJsYf)zpL+bM$DaDk^RIsQ*l|4>YmOb*eC_6A)U_86Qz*`hhlwD(c$g%O zmk(d7)GrTH`2H)0DXiju50hKMYlrtM^@qa+;tr1t5_*md;b)lKXO9#KM@L9ibLtUt zGhK0nRH`eE+&~igkqM<%ADL8Y?U6%DRUKJSs^-XHrPd#zlXT;eo0QsotOyqrKa=mz|Z}}UFZJhgr9$=Rk!eUrOsXW7yLY<)cFhFP^y06U-9!z zr5YAaDAly^Eu~r({tZ9hR%-jgca*wh;op_IeBrxFUAgc*rP>z0kDnhb#@$;Wb zr5AprI`xVT4D13rwU&6N*0uYIj+B?Fdr5b9Dmg%o50k#E;;{am#_v-7Gc+|^tSIV# z9mDT+g)`LqA9~klnOcii`NH({J|^$=Lnr9%)BO*RmaDb(`^c9yNf{q0Roy;hw5?A+ zSJpT6mjeCKHT>eIUlXS?-n2(6DuXQs0^ zTc3Wp(4n6AEV_2(zP(PH*Cgpy(S6x;^Tq8A4b5lM&sI{L_w*(DlBxWzruxPf6Ahic zow?4|?)r3Jp<6BcGHOb`(V7TZnSuTsVYfcrQD|3#Pk#COa&^TUtBy<*x}x_M5^9=e zw_IKN#wsEnu|EBkLR$U(!t>Ofoo}!fH(O|Z`u#MrFO=U&h!HcW?5$64rn##b zKl_c(9b9}gj;0EytBT*;K{c%r3zW18_35d?2DNtMNgDcT;-%{ZS)cwwp-x>{zz(Sq zA9x82>eD}@Pd=tMQOPHcgF$`z0oqAVKKqG6a3>|w5JWQFeXTSNJyg%eZ?C0}%6iB? z>R4#%(@P5Hs2|)sL!WG{->26sS@AmtT02tv@ISET@7kJgY_3n=N|mkYeS`)kD}%qF zUWoPS7ijFiKZ0qOW2eOh7p3}imbUhTS7YpQYqOHFKK*oIy}GC6o%BVOzz%&uGE05> z6V$}=kN#;%6Qom30tga^)l;ATV4+sk{&JSky-o~|Ks)>D z(~q&lo}}d5)yQgM6VR#3EXQ#8A%_hvpJflOyA!>!}jR zhovf#h@!JrKM-uc#iAv0Ws+`*LfIhU+mxWhC3>KjvVw&Dn;M&Tbfu3%CspQthQG}K z<`wS0qvawi^eMh=4DD)3f{dNr)~?I!Y1gubg2q2iVqGH%Jnb{Z8{g@|m#Rr3>X^}i z-?I%rTOePC2MG##k_!3)-S)G()~JjDwSo0nq?ehR$W9lF$npZq571rOW|g|rfPUGB z&Llhs*y9>H++Fv$0sRVN+|3<89hfVO79De8xQ3nBVf_H(Yk00%{n?bZ%e^t-<(l_3 zY0e=FGuc zmuS|%sf-D&F5fa4~JVO;O1Ew zq&;3{RuLG8)H3=5aCYfMa;KDw<0ptnE%1Oz9-mt9R{YNi+(u(Iy5N|i>v-unN&8BYH)5Fml6FPq3 zf^F?dpwZh_+W~15k z+~Y3FDyd(X59K^|E3P0VLbTT zX9U*jHGzKz!aP4nZ>M&bhETAEIwppjW9_yM7a-E#kxQRtZ8oZx4>vo<8%7hfwk{_( zIu=x^J2|OF^n>ocz>7os`t&6!c~&O#Ej>Ts^nZr|oMd{YomFrT7YwoCSlTF7cA9Am z@!ea=(=ofX;d55dxCpxTuJCewafk}nlz_4-J}wZ9JzOyQ|9x-pWXQ}65d%Ub%3;{T z245wvSosgOW0DzTnmFA;_xQo_IXJ4pCI@(4YIl0B{4$YjhS5i-?(Src1_Jj}8z(_3 zEAPQTNN4ChXpPGqg#Ry^yB0Zx9E0D0?pPT0jff1Yzv3f9FAC~fr3MVcNkp}{y})Yn z{O-MJZL}N6;=*@q2k*PV{;3(tKsAyp&Qg|zQLsPZXX_c7yG840dYtJisbId~jx#Kl z_JGmd7_UOT;oADM`S$Ax)V6?0y`&#BS71f7a)s?e^+9n%m_gnF{$@Zrba0^PgFpj*I+w+gQNS<|b0fkxHz)v!^p>@B3)e&SKV8?oJ2Y1*?Jwt7VSy?k%+RKI_0Y3c^0bpx%^i{fref zt}byJ)vdNLebKEVloOOG9NSUN6mfrNnSS_jEG-nqlC**^7vP7v&y+cJXh>hw&er}g zzp49;K0nV41DF+1F5K18wuKrF=T@pb{v3Gr!dSqqAe))yICi+uOpovI=y60O%s++k zg|-L4CE-dI*{*Z2AeM8|=rz3fFEq-3%?AryDUsfAcPiEOj1_z9#U}Sspn5ajV)y@y zt4ob`w{pA4aKVl_@a77i^cvx!a0O4gzd_;VK4JxriMFp`4us^47P_Ty*a}xEM6qdJ zEZ%UpecB2dSC<*XZDxjvldg_Wc0l;VdBM61W)v|+MFTd*qjj_oHJK5cK5Og;v(Zss|nrQteuV@ujt6;8r{8o;V_yH(*YFcDma(&GYNHrTS{ z1XjwU_*?G7ZatU)Ovsr=`Tg8QkHmIEjTOG|Hwtn!$ef(?rXU8q)mlT1@Vso}#<6vD z5P90JPKpWd=>qHR+7pyN>kMmy6(W4K$Xy1h>Mj;$CdqgOa#@5_7`}ib>O%&;p5+Bh zhp_gj%{R5#a~fX=sPCOcixjX z5B7R25GnsT6$J5#jT%0TMO`Pn)A#Wvm`B_#6pkkd61oLG#Le6(WJ1*sbPJw;e0HL6 zsMx9HZ^?tO)Uh}ZvC12PX5zf~j+~2uQt~11zwk1$WA3w@FYbLVG}Apl@HwIe+))7i z=P;i<(6|j+m7VksBZpq2)3~__x(Pgh!Ev|3DSGA817&kB;``3PdscLEeg7YO?;Rgk zarF<+uCyzRy}PpPMH09n+jNAA8xX+KYPBn@#;)WhqqWM~5|$+)OJGxifj~$je$q%G zAqk|Agc?FB2_<>b3#2DJiFx9XX0Ve$NCEsi-?{hPopbkI<@4mP_mB4`TzU51b7$tv znKP%&8Rh|8HrojJjV}1Dt}?4T3_sv{KIkf&yuWz)j<`yacZ;ihtE+4(<@mlS6roH}4Eo~lu{y}*ce$RMa~<#>c0Iq#RW^-2c>iA4a|%n) zmsMX(q##8ewPx3Iw#xDQJd?QG>UuxrDoc8asSU2@l73>U!}UDtD)+d`lHOvjymB#- z8y@}J>w>4i8hvqpu6C8Lag{0dL|@kX$OL~&o%<)|EtGL?a`u=8Dd5fzo`CD9AQStq4 zuJ_q$T_ngcU0hx#>2!+kxlh)S-cGNRbR-`C-N`wNge(!DSu5AUMZyh&=W<>z65BBF ze2HlPBGBrGzmCGL}Y`rTsj zn)GZQB(p1<*aSJ89~;;=G(O!(vWk?p*oZDqGm5cv1%1NW9HNZ?6~5AyJe{k9gBK7( zyiZpOp|bci^(>@Rx-7yC=m{4z$|Lk|E+^cGsBixwecJwl{#)=T!~~6PXFXM)&S9Nt zLb~Slc6W-!y+z`%u~x2`Rpf!a*!;lud4#y)bWMlb{>`-fR#R%mhv$lUbl_ z3PYb|)rEKDr72rcHcb)DH~69?DiSNzIHt(9j%02%9czR`vK(9fd62tnRN(4CO?49hL~&Krt_#8qQ>I_^;VgUhxWRr9UeMA>RfI?YS4|0 z$=oJ*%W^#w1%UkXEjfSHIV^a_7&l#OGx@1ea*xjJo=uxESIQdJVv(G{I;=X2JxShe zuM|>*lW~ToMmnW4cY+W&V5fLyNulWyo|qcv^?dNeX|o_5ECCmgzJQUAep9f}?zR^A z`utRPbD3JoNC%7Kpj9H7{Jt0LFBHg^o!#!EYy(=s0GiMk7-`-{|2E6FyUHJMl|SYx z-))p@n2By7(*(98L%%MuUoa!Uc=bR8n3M7zXTs>jgU=A;GJ=BaiKcCL&e5sR<#|9r z*G9{^b#YPO*>V>V!cY|(FECXtKSaXAm(I*BCcGd(R4ugx7b7lb6?OTYJgN>KXupfv zg~sE;Uz5={>R+u-wXz`$=_1-XQ^k1%nH5D`LPS8l+x|A1^jZE6qKGK6<~rZ{X*YmT z|K&WDU=T`V61gqOS*Fqwk)>n{8&xcyECsgQ;#+IA9#T|{)^_n|uqkN`nUWrv1=!R> zw(|;=B?D?A=`UMERkzX8GnnPT{z6CjSV!9V8=a%VnBhce4U%i37a`_!sNGI~mw8;h z)~Ne$EZ6KAOYWVfZL1yBS4{e1N4?BNzMB!HY2J>d7_)&3^SwaxqeiU@7?{>v^6z(L za+Im-_r6$;s_h2wiEN?F}bc1YkcdQE2Q3jmf)DR*?X({ z2;QGbsPWF8A7H+Kr&Em+6k@v=c#JaHgaD zE4w^J?~gOp(L`y^)Wdv;=HSBL!u(z$4EKW!M!{d?>c6N6tdKxN%G?2Q*bw?YrYkFO zpl=)H+nEFD6)^_~-qxb3c*rV6WX1W6ctp>VAd=Zcq6pFUAi;af5ivDoRDB$Cftk^^ zgf>PmBS^6RDE$ZATy6(CA#5vUL&CI*G8<&Bq~Bl1U!uL~tJbY1p(5nlhoCTxy~tSB zgVXS&FBk=2+YJC48sKROzD?UW(r5Sr#d{hhYzVPqv;MZj^xpK}ujI_zzzx7||o@L8Inxam_l^ z+Daw6MZ@CsQ47{IAYWj>I>%1gyBuM*mZz3l>lB3OGYmKoZj#Cn1Aw_wZiC~1sBiWc z8kdks(z*b9sTk!(f4BA$VYhaicC>xCE1OI7w9gjTbs}}EP~{j?2t{Y_$Pgp^hK=iD zIZ+xzo)>Lh^?d^K9^fTHM{$k~;Jnj1_msb@uUte8OtBC!G%Ij?ZAN(t-qs>Nt)p)Rw+a{*vsY{ja$PsYjd^sQ;I&s zWDpZ^TrJ!RB&4KFocesncNBHW0*3Y2l*)E6JB;pV+4_k^ zfGnQR7X$h45*?H=&#^KN(>|zN`maUbW}F-^7{E2Gr^{&dMue;Ti&EvHeV3Vp1~Wl@ z`flIqVqiTkZ=N z7suwj#A}VE>Dtx>|BW?KwbLNNg$#|!t#`#BSF#l&>9sW>qD)uQ*I3Kexn3xBh_%px zlKd9B`;E%KV}cWBu@nBRnFahd1N^rkAqaHsQ@&ubp*V)A$E`ff2xMU7(P?JU`H1NN|)K3;~>e z9N2UMyu{Q6*o|Gz@uP(hapr&#XV(krgps9QP=vc{&jQA?Lh>>C=( z>ySC@X7WaS+zIvt0xOFLtp%~D-mnp2jD3-tZ!ep5dfh}=kYp%4baMo!$Kv%Jq8?tn z-pPF1Mt+086kRFehB#zP*Tx<63^tD-MyK6^_OEiPqX*V4=1U z`WF|WQRdNwqwNEGrW1MyT8kRMh={1WjClhZHXV{Tx)9NLI(^7{;#UfLl5iC01)}{U zzMwH-&P=maT<;zum4FXe_@?g%qRKQtr3^Y6qq7dk=%4?Vjez2?&4@BRn9Esiq=UgS z1Or(U#wGN*u=g-5R3|50UH6r{vD5MEMR2^xR||T_X=42b@=-Qza3SV^GedNCJ=t|< z^35A8%cz%jQz=3j>X{NjN=VUVCFa>~fJ*TxNMG?LqAKBD-@w#2h#dB`&0F>fXi zQRf&yU;-bZGBbg9v$;qo?}0HM+M$;Rt;+6|JznCTd1izk3gaFc}YNWlM$686DvZ zEn%N4egkT_4C@k}U&b%n&$$e1)US*&YC*uB-x$@|A7N~oV{{v1bFh_oowJY8pH3n| z#^_`0=~&Bbd(*~bE{o&TvF>?O=u$BpoB0ER&PhPJ$@c?Q4wlfNi`hT~HHlX2T=rpK z$Vw6W(#2d3qLrPt+}|=86TT`Z_Lh#I0dFAQg6%0_b_mBo&pF%}Npel8rkxjBM3!3) z3-aRLO3>cRv;+Ke4V$~Ql0E*%Xi!vyV%b>X5vgAYI zn3P6w0eu!WyHX9R)YZmT%Z-4i3pTosFw5_4Z1^d`tf$|~=s#c~J^Y!#N%R*pAHU(U z=rH060?*)Q!o~03VHKV72VLb4iE>OFk_l9_iRW=)N5Z-d+axZlzPO-MJg=}G zJI|N7$|t+ZHLfzFn!hjSrR4vp?=>#?3tijH z>4AK?Wi+@LR9yIbtFv1*s4mgJGV%f%UI*j}gQs{9nIQCMVL0lzzYSR>S16Qw425Trgqa}I9CIEFNPCV#k%IX%%kie0p}n; zb`TfW9u?;BIm~3C5LqS^5(VlG*o_ZS2Y^n~&br5_e-6(tN*4za&TkdPqJYbyuYeBF zp;_&e$LZf(cFs`6vPVl^OR~LbOD@sb1An_5V^&NTX=cC`Y-8@3%duTD4Q1LJmQvLL zkS;Xt3Pz~j=s~%NQn^f9mOP#Ql~*g%On5q*K6?mrQjmsB^Ep<8lZ~%8u?)ZAhnILMA?6~ugXtUrTHT4ZmRes_Miom0nBXh8 zO6#0GN~^{LSg--HWiqbbX^_CLnKkI-!bbKSOThKw^z+3~Y-I`_BmyFqvP)yh9D~BV zT4GcToSVTD4|5lA_>R`Uzc)+gD~&G=8I#;RNuVj$d}x*-+iZMd5ieKFT01E@I(#U8 z+|~48PPkj%@LgZXsMvut$km#eO20$E(%H_3KLi|o8P0Y%$2nAg9`yy~cDqlQrd!BeOw0zLhey*V`M)&=^wnkOaY&91L&Z0gB1Will3(5ert$x-IDa=sWZ_uh;% zd9BGLTWM==Hb++G>Y{J)dO2ToW`Z@XR^5#M_5}+GLK|j=Oesk=Q|9;F@jieMMNFQw zo5!tS34?+Sivcgnh2^7CU1VUck@2pDcN#Kn=g4YkFLoT)UQB!dc>j}AF`}F{cGI!y zx7(n_)Ghb6j2D&y0v#F{8_ixhIz2Q}-{4z!h0x(fnattt8G*LEnjpOmk}+}c(zA|f zh5Td9x;pP!Wya_9FoBa$3gu*~kwgGW?fz?mm-NLnQSC5DplUfI+6m2qA>|HV=%}!D zp2XPFMqhYL>|>h!nOIcJ&jiyJG5^FE9Za^(MixhF-r}S*s1|!r7C2mpjI7k<-xlGE zSKLaMN-L$Ft=xYrkfqM@?=dd~3kMbpqIE<)V36szx&M$r?Z^R5sc+ZK@uJj-UhtVx z5Ak#!Opa5A=gh?J<_)lBNUIvJJ`u5S4)b*0G=%{9v@ho5u9QMfB)B6fL6J_o2L~5= z>m{9;D*SH>_~Mfo2>S<%y35#)XyYt*7kb2*2L9f_N+z8${>Gwiv)meS?IMZ0cC|Hb{nf?uZ+j}-F*77d5uW(!sRI?U41rs7syrJicD6VOq`q|!QGM%TA_0Ri4 zM#VOXEH4z0wR4FriS}fotGBbKDYxO58ZBPFJh{nhvBUF5iE)AN)FV*`#?*`F!C=U} z9%DrUxWeZAEY;rG;=epE7QsGwcefj!o2A<(^U4&px#3f@v>5^(x7mr-W?VO7&U%kh zRO}kMgy}M+fs;v^@FW3YTe8Y*5W`tNdsAstvBc#;i=uj%Br>`@y>D0EXWf3 zHoM!rE*2bxiv_WF8`E!8FKnrS(eWSI(8U8SH`0EOM+ychoi_ryl^?G$Eq@m>B%^!P zpM3ir6>)dnZphVtoCVTk4qZ%^RumAmmm&qHrs0tEZt_B5EFEHS@Me9;wnnz4nt5|( z(?wIt?WUs|vJ*2?L-{{Y#oj?|bBL{37nan^n5ohE3SZMOSjM55ApIXZ6-!jBO*Vjm zo`Sx!@{RHpM)_)P4dZ_eTH{T3Q4v_s$*Tm=(B^pNiwP~FHd%epBGgKzbdoD{oO*Kn zC%!dSD|37EN$$3;^^Z@A3O{@YQ#YHH8XG7F?ya-bYg)&h^p=dHb-(k4j0(56W2~?! zjod3AB}hLaGnJu1CNfKZ&3;)!?YG>B@sPI z*Xb3>A9p-}Ahm@&Jm_q4YG6-(%(t}*DYnkK06D;&&E*g@+tJn1+fJt)Bi7Kn(M!bQ z>KwYJy>3mJCg?$s9K3<6gc5QIlSWTh55?6`5L^!}u($X^M}_Ci5tV3BukRZFhA-G$ z(cw{EmJJIVg5HQ>UrnFzR`9EYi|G`ee&p|?rS%yCTTd8`(SPXnddHa&bKI^#H9SYV z=s7NwU(a%~PKig@59|89^@BAQoCYjx>!HP+;_2hQaEpaq(n$_THcc{!)+NW^K#<-e zRV_xUo2djIPJ4qBISjFv)f+q}vW8v6;JiO`V=~j$y2W1@iHg1IOIaT(Sd;YGH82=R zgVH;-><0Os`5qgTc(dEtgh#OLejA@-#GO&*Xpbl`J{%A!f(4USXyttuE+hl=94E-yI)!_RgXYvZE_O&c-LX$3r=*B`IB`|6KsQGi5+@iHwm?@;XdLlvd9}(I zU0=-Sy^*=sqYpvJrIWt>g@RyRAl!Xyq2Dw`bNgciB|~+X z?%X*;Wmby^cu^LmJGB#3N!I8ey@8W|$cm zfz9jQjBbHou$MEH(l#yH2nZW4OpxB75F`pzdL_4bW)%C%t{|{-ddlImW;#0dv|-QW z6kDr_uCmA5Kv>>Tr@7IRLnwHoC98^8(t9^EiD_ZQ2|YiXJ|_)V)>J7@BqkFx-OK~0 z0|RM~ajvuL1Ya~n1-Z^J2C@I091bLa_*)v{>KbZ2F3j`4GpOzBrj6OKj-Ur#=2SBj zVkfV}#FngRz?h9nHh>q>6~r7h?(>BIO}v`OgF%U_KUmabwmAfa*Bc9*j7|%P)5q(W z@i-f)NUZyL(Z>smovC-6=i;~R>wE!Y!Uo{z;*c;%lW%MB_fthhP>K_Gym@M1cN3jL z12N9q@lvHat>M$-=VbA)eWI8K*AuKHK{mq6++-u}0c?m8Bqos801nu-VgNUCd>Vwu z*7l}sI=88*r_GW=`+TugC9I0WOa*q+3)?q7Jxd3mec}S~I@VjJz{bcd9T>C#6*|z% zEZUY|od~sy?W&7KlBk$B$Bfx;h1Y3K=j*=U5p{`OKU(e_XU$O?+L5u@7y5X?_O53B z)l4VfL5NyUp9b%uo~aHa6QyY>50K7iits3#$V3@qj|)uFCU&JMIOBWa3M<6dQ3m*|-4#)Gw)???njIW6Z+XUWU=6e5RS9yi2ywX+XXnAhW zsjlayg9G)+@s0@p7oMNxf``=s7k|IjDmvwJT;)1fxzSZ#nfk;DxdEvn{EVr-*oe%yx#SGldIh9DknraDt0{vh`NVd&xc**ysNy^RUUDbM_pyp zEQk8WT+erla?F+4Rql9!na@$-UfoF8S#~SAV3>2k%RMBrVu@UM1Qivoqtl zgA zPEts~ehYsKI~~f!ED91f%vp9GYjCh_w6*-u_cJje0U@-^6gC{kxQ;)dNFEA6IKAjw zEbd3e!rI5u6k9Tv1X%PF_eWS;M?MeNZyuUeTu`xp`-knfTfPYRv|fK z=)hRjWwhc`?(VOiJ4^R@ZlU{G)>e7%T6r{pXW<8u9p<{Kg(GJn6E*q#cjl){Z7@i?Xlh}jTea8;d;%L%U>7HfBEyjm z=Eo@{(C3PElDObZr?~ODhHV>O`W(v=z-xx*G}0;Ar}^g68+=iFg4Q&EB%o-rpiJ3u zWN>DXqY=hN?}nEPmN@8c_}V!H={FyCpkBJr@JosaA_*gqA3?0NAa$$TnWVvaEMH&O z#^PWrwm-zgK~!LxQn)R+)_{_CxrUOAGI}U)@x@47br_91l_@AQjG4BTz$D@EOp|N6 z`^=@|xQ}EX<1Jtfm)UIy(Ix7%B6`i!al2G0KJZtuBev$U5*Wwf`8SAfApPghD;XSTIqz?1qx zK%1O_LJawxJcsDC#=^SzF8Z1`H7*j4zyS`i!kHFb9XZ;rx1~FoL%2b*v!&AaD+|S1 zKEhV}&COeSl3?!Mbt7qs-!ciXKlo+XRKrsxe!b$V+64s!JO&MXxo#3mjr@@gf= z@1^?WVDYYzY7ssI&QoJIAA^VTK3DmBt}>kaxbXf{JjJktT4{gVbwV~-IWKILBG1Kz zJVeIsb=d3wP}F#akJ18QU8wvDHgY>#66&+(`@+r<4(ok`i#38OiNIW20rkdM4vs6B ztqb$^Lq;2*U(^}pTUapAGEr6^+9id!LM(5i0f+BMxn0KcZsMiMib8?Uvf8(+)k0R; z;4wx?e^YX$*r#~`^P$4JM(*R=e5;O$81oCb)tsxZdBa))^)n~G$w0^-sMW+w)x4Qe z>{_snpZ_)iV-`YK2Zfm~8J_&`u1xAmyv`nz=jTi@YH}S-?d_B$jU1afR3gcjk2DOs zR_U-9`T!AFJv9m!$P?uTtLT*FkjpeIe{%#MPQ8b1oa6a1MErQ8OrBmcWHOHi>?`tj zH7pfPUB}^F2%p!R2DMiiVQKzp601~;(Yv#l@$sHHI<$)t#=W%&nLL-vh03*u=}gOv znYPX>j)HIWg)S3%;FXLz%;vV?u{>?&g4DR@DjRi$XpwVp&~7#~<< z!xsz73x!(koS;q(FvHfHbIlL}y+==;EmB>WE0A;Y6cO<{U(lE^a=glnFqfm{z9*UJ z$))`xl@>Nd4DA;fhXF#3!Y?kuDH9d3se z%mgFF`mXc@%%H62(Z%W%d-KDkH+0jj*ERN4Hy~DTeDluioS=8#7 z7@r<_JwahjD%Oe@JE}jj>W{JNPh*Z?c<_YcjIJ@Y*}#!01{=#@$G~K9U;y`2p7_?t zZPnorkogw3wZsCR}Z2cnx>Gs#PG6n&1J8Qui8M2J?7Czeoad2^dL)ayWu zH~D^{N_?T1C$+s@(F*qyt%zb(*N5aa6&6%tm;D|r3G`q7f#GrDs;F)%qWG&;TS z?eqx@Rbd4wkoN`yWgzcmM)`T>$&id2a+E(i)8ZejS1FA3{R|8Ch|M_^o3B&j<9yh%t8mpoIY8(~0dXvl%^&aD{v0T4QP1X@eK5z49EllNoQ8vb}Nl z=s0)<6ek8{Gbh{!2$;eJdN1Jx(GmjcIr4dY`m054=b0N7Dd?c{!W9f{17Cc^VSa5L z`cPGzgz-80m>=05hqllK;GNtPhin@^nWqq?fsN{iQmpx069=hHl^!j%TI9| zXWk|5GyY(;C_@1Z>@BIF9_dzz(T^Yxr3KwIz{B88c$|-8PySy^ll^b zXHv$S2gY~RXY*tJYg@G=2B48!i~6_v6TVH22_NqWb7oph$nVhLU*%k(TRG?D4z^{x zX;f>9y2+#JjvcWDut`g*>vlW+8T(#-c%D4*0!B;C>mi^^oE-& zB%3RFhFMwEW_GaL%@Wx@dzU}_>!yF9yNGPoe%!atn2;u%y&1fZh>~R_d%)SfTO1YX z1(q;+0o~k@ZEN|TSs;5c7wH0}ujB;@;ir_Gqm9lYOKkAxhEZWUa!#?gh<()?d~2O6 zL{~?Y(_3gng#4T76VevP(_6-7I44XDcH#J?WGDQo-heWwYbP_HJ)>9Uu@zZ*S^VkU zG#eGuyEGGBJ$RfRxL~p=qN@PE!saUMsl7=Dp};!cVh=7xf~~x~!l9g^_s#N{s|+i! z`TX0iGOWVpb6ADBJfBxGM6T*H?%O(hdy*@tx!xqVSPbDXlN`_JjG$A&gj+ft$8^Sy8(%cg*nW6FNV%?o*ggjrgg-673reLcpy2;wa4fgg; zh-apy16l#QSb^qinKbOJKO||wc7i|&Xjuir2`@HH*u zSn)M(Tp@=*xd=WQ;C0+KBH;Wm7MKGB52Tu~^NpHE7?y|>`Rx(zF`IsOjse?jjy-H{ z>(c)6WlV@3Ssr^ky^R0D6IG@|?KH+a$zz6J>S7yH#Zs9(u(pk5Vx5{cF+ujp@jZ9h zz(6%nRmcq!7e}kiWnk=D>Y1Pr7sB&w(Jf01Ty0`y&Nj6**rqm^wk5?d=|;p6;$dc& zS?zFMPoD;xLVG)$j5?)aN?*e&1vYtgV|zAla2usc0f`HL3rCDq3Ga;=(QcVQD3M4H zo%WV(+nR(L>h}>dL~sYAP5T0II$qPzt`mKMqavR4e4eo_ZPq!c_0P=$X-41;u;UXV zX4m-FeZl4miD*}0oXDXzvNJzrWn4c>@EE6p{e;I!X4qZlZg9h4-ehN`05Tjj&okJL_@}^vN9~RlOL9?lm8KYL zjS4t3m_#Dd^KbU;W`z(Pon2%s#x*A?!QyP<)E1*wN5dX$&kvLHkox+=qP{ZEb%*K) zbQ){WELiw`%u29`6k-#aeEYFTh@(#SR#KiQ`Ac&A>LNg^9oUAt$mjy37Sn)SbXxAZ z_J@i-#bX~6T1ke*aI*h4wRO&xxdEhPUFiGkSi;+s&+jUs+WaiP9HR-#?`6&+MKJ*h zZEh!{N*5CV}ALo6U7RWsFP)m9F ziVqlQ>uppgF0}atmMQG89jq4EkM6x%EEMcv+~J=y)BALE7%VQRfgKaKI2m{Tug7@I z(=7<^(aC@QX@Bg;W8O7!$*=mg5H4l1_%%(wEWT5gS>9>7foYXrgA zNxcVs!54{utL@Av$YfT49-jr;oH4@=H06dOlhpVywi)|dG@`hf3EimA=uLik$di-#(4 zgis@M9@rh)IvvXcBu?*{6cz9n@XTlJl^AdGXscRQ@GMgv+QvhO>U**c>GOR6;kK+bhHL}RR_e0e z;ZA*q;olqA)ylLHIft{MQY&mWoA^r+a3O4Vtx+*pyx9W!E(hsKG)rg^F(eJ1Hc-m-7ZF&`rs zx{t+@K|2b!zL_BX3}m1XT$sI=8<;|s4d8-)RbFbr=_vlKO!ja-!3&8%T%K^n3t2>X z(Oz)3w*h*MUwh%pz=ifsGW#x^s?kb8g_Hvy9&~R~s}^~6&fvOj@vp7rkT2vyYLj(Y zb=x9ZHa|2mK75WZrWQL6B`7A7yi)QMw-0!KJ;8e)XjG-T?P~D{4EHBS8H|C;a7{kS z^NvPh$Ywzwpl^Hg&4}2rTFuB{!f9NuA-$N7+}iCV;Ma>0VyMp}NbdnyDk3<~<;5Fe zFEIUgb|GrQ8+3_KPn?uSPD($v8C~l8g(|V5GQ-FMlWI@sNdCn4yg4CpL_j4%8g5rR3x zwRR)KY>qEfNW}Nd@N!1d=}c0a`4Uat z{bkU?4v{;E(^jMZ+Q2%83W<$EXX<@6F~tk6?hb{#iuz%gWV#?6!IIWEqa zd5Tq3aIeD2%lgg_30Ww!i1-Wpd7b@!kfcJ?_A9&088*3$<$2mID8Vz-Yma;}dyA<5 zvOk7F`V%cz7_hlBv|C}C{Or>+d&&qF5}KD{(rm**F}X_D;T78z5$2RF9B`7YU-MIf zSx?`9*aIYP82+(FJqXMUEk`J;q|k^XvslCx5e`Yb&l859-$&oa#pV00qEmjrRen&E zV``%)$AtsWJ!4QFHQv9Q7anYg7gm5V!hko`SBcFW7n!8n=r8+31%Gma9{6}Zc$K|{ zh?qF45axjQ8XY)|=KuwJc28VM>|`WAv}-$kO=g|76c3nvS&9aYg5A8{{u;_pvl4Cu z6F1OigOm;^hWpYFB_>hqG*Pk&QTpCcQL!TKV!lIZurmm!yvasML6K#ROD0ipEFvUV zQ_}Pa>_};G5MXiC3ELWrgbxFDhw%rK_WMQ|44ccCv|nQM((0w76ZL^}{!XN7VI>}A zArtl%y=vB_5n$+zj+jW<(`6!Y^*Udus1S@VGojY_Yr9b){*1CPV%wDJljC3j-p#C5 zm)Hoygk54*xOR;%R8+Vxos`_UTzl81?ygOgdocYzU*LI~_n}r)c@<;T&OHXD(+aZl zvYf`9@dj++_!e5<$;1NVm$$kZ6Nh@16__{q@Hj7-637*9bhOS|6 z+e9#tH-0NcJl;iYC#RrvO+vJFrzcn6P*>Nn5jh;ZzftbYa&&sk9HVuseW9YlbGVZQ zH!J(8lOFjoUz9BnOT%uS&p7k}=ODbt7f>c=x`5GDm^JNh@NINVB(~}_yLv96%&3Bbe zlP8{=5w-zRe@tr=a`~Mp;O7d*yxWzFvbh?gYzDfxcORjAf%twzNuNMGyuDw|vh`2Do&xjFl=A8tZCmsybUT;gAzFOBDWT<~%{q9P;>@5}LVZ%A=P4AJ{n zyS^`ToJEB}1>e8U^}cDY!E=_et?@6|?77SabuLT#j|o2;Vm`Nv`eH)F!Sg}a^C4GR z&YzgdyPofGmF4`3sS($6Ip5qdsWR0E+9x8ks4Vdp6Q>;G{hM6%na&bCf3xekq;IJ) zA<(5#yf4F4@!WLHp?sovf4;C?z~{6?JeL-w07<@4@q7Wz5bLtWdx3cV;Bd0Eg&xC3 zDc1$LZw}98KNh;$DL2jIeHq{-U8i_{vS`;rA+F&0O4sw#L^!gg;#&gLh2um+L@W$#p;mmErw&y4wFPS6QwL@+ee9EUXvrSGw?7r7jlFvCvVGt8szo-(s2p z*2VA3`MFp`cmQ6`PkE#say?3T=`O-^311wdC*?|TnnL?7WR+Dr=InrG|LB;g-lGC= zbgt1;z;EymXNZgNCMShE{5h6WIFW&K52|vpb`TNX@4vB9Lgzm<&^d`W5*+M~CE5gA zu#Q7PdWX?r*m4G_Tw?d(wTu9cEZUN6%D~Cutr;yAfo+B0FbeOg1NNY%+~W%!6?5ZU zR#E5#!2EFY7;SYJrK~#R)1x*HiuX!Lp+3X-=eAp6c@@6(FBWTxv!$I3Iyw}zF*#lw z*k;)T5%??Tv2`RMFbh)n6RXsEe>%b(VRSB||A5E6c2qy2VbWB_1*7vccK{S%XBH$c zSC`#?FB&kJ)$cfAlq*FJyx6X`ao^aFSN7Cd*0ob-v(pgzk0~+dyVU z>A2sv@hfPf?l27_41my+xf_M;(v`wxwu)^a6c{``L4d<{|BJ_83K=<8QLX7iaZKY@ zonF%?Cgjy)tX#vaKtbaTIu;40Kuo^kiX%cg4l%+k_h6l!N5J12UM)^hXlC0DZ!I6# zo8m}Adfz_C#+x1p?;M{#$M=j|d13WIDrB&JO3G^!jw{IpsI|jPF=4 z6h7$P+;hEOtDYmcID(p6U)asPNO&4j%x#$EQCw$cqmA`q;D~xFT22=l{~Xha9c$J8 zl5e9cg|M0BUc+)__dJj(%JI*pH9N&n_b zzs5sp(=(PpOyr>N7%U`bmv!NLV>~D9V{vRhdnVDYvE;ou%9Nyrn2C`?2?+;i`5$|; zZ{^iOD(qvMtX(-qA6xK-hS)gjwKdC>+XlJ&*3qtXx(RJWqcMJ2x898LS*cM5`@(Lc z`#>l31RkRqCQ1FhIzB4)^rFwP^CBv^awR(;WT0Ix)0R#8i$m2ynmmokB29Z5;I)7R z0Wl42EF3gckhc*oH_n)}rxKkQPd-lI^Gw}zuaz(^awo>q`640lD{ zGa4b@qJ^pOo?)V~VY!Af$+>{Wv(Q|+tif;}VIUd*b|w?axG9%nzb{Uzgs^@NuiQwC zT8AM1woZ>gBddA9)ah319OfmhAOU60#!nc$Br!&Z4`%bzEz~d>O=P8ug+|Mka8!Yr ze6n2^{s38Ao}w9o=X+hxxr}I|ANY(|J%o5aVbC-^E@8}QH3o_ViLi*p_6C-IiYzk@ zgm+0&+FD+sz*>+DX>e*_I#27KAEikT!#90! z-{?=O5s`Pfgt?;S>c$zNaN||Iy(Co zv*6%7tJ%8U&Af}u&>33?#>U96`tu@GFa=aQ(+6E|Vk*u-+M|S0IV4|SMwRelT~H<# zXyiupUR#o{wW9W2yOYK0tu&JU(T7x4KkfU0h`Pb(>p#s8SOUIoK;4gK`M{L%f#aEA zXc46|kf&S62J923v4VolKzwH=Bwe=<-%U{wZ-0m02Mn<2M7=_dY^1RECDbTMiH!bA zv5KXca!B{>X<^m(F1t&`l(WcLhfu9^8UwPAG4TJ+0(_EzkBo^>L#$W>mCKvzBkE1Y z2mZ|3Wwx;aZ7lbt)LV!yTI z1OsjdFN3h!6-*cqZ@dR;kx=GyJWvHqje_g;`a)L=ll_^@fo&$9)Hxx&>#Y`!yd;~D zY_5}B08H_+OB*f#OIs)=W&t%P@J^-=O;!yr`hrDOr-9+KSOwXv4%4<#5>0}O=;QpN#FXV zYwlE@1~5vL*g#&{kWJ~NaLnmw$H4duWg*%p&{04Wx9UPE#mgyE-Eu*(X-SitM>5Bq{v!DVO_zvU)%Ozg3O{-2^ROHRlu zx{QK&j^`E$^L9>${~}NfU9sUM<~UBViF6B-yPf0JIbWC2Q7mN12%AzSSY&j9J=W1C zI;aWWETu|thE|?1n=?%vjuF;BiDH$|5_fUmdAcOWAMvfYnwAXf!boo9k<^EzG-rBB zivSCDfL;SIKp~2l6S(jpl;>DQUH&HPM}s8b^6qy3{73Q_!Alq&I-M9xSRbIKc?7It%%jY-aAsK5i%i+X5O7Xh=LH1l#|{|RUs)`73p6y+>-9(a~)*UC?p+JQ|Dlz29!J*V@x$17q!h)~MURZr{$9VtQaqZ+*6`F9GsdS`7Sp$LSnbuQSkn zlp8)sJezDkW)te?zq5GBiT-`R%UfA8ucQ!}crgmrJzLn1rc)EgnOzp=4yR&W{O%bg~pwM}O4rf>V{k|xJ-_=auDp%e|t@qXVfRjc)A0bLl1b9hnKAvSHz z869E+#lV|ztVNiir`e<94mQcH+JG7C{f(&b6Rc;>W!t!$H)wH|W!Yl(BR8Ko@m$ag z^jSUW_;To7hLypCMe4@PlCL4Y}rW!?>%%f z;(81B9XTrO-RgG!5N{4952@eD^k~~ka_x`!HoQ_yqfTagX#1EeJ`bR*YFNY#<+H(`XrEHIV{{$ z3S{7%3jqIj&%Vk0Wdta-YF_?jOm1-sm#D_#aYW5yEju!aqx2z=0xx9yjZ6-A7%hN- z*5r}zX41&zlAC)tk}Eymw?hj>ho+dNCy*rL1Yf9-*cW;wLs24;nW@*=P4^O9OxgEY zrU*j0by85>{}8C3DluyJ8mdGm_Yw{&+C@t%I4%Emx7#%ri!BkcGo_MiCf27dX~}U| zlO!4Qz*Q^L@CVvE-M~N2y9C@k`jizQORLhcSw7|#0!{D09W06t!fQq|`gz?UFIgxi zwl>Y-8LdxGfZGuZqc<;z2mxdluONfE_4UXw3_G!ewQzwAh8P`OV1mGf={0%>YsJQ< z|9WTBKa4&S!-ctcob^%tRp+=A+X_773s)(QHEd%pVCQy5e5X9=?Lbsohs}owGW7adiotOKE`dPBKS7vst z*3A|zveT+xHz4jz12E(6t_-|3-Yt)aoj%T4T7%t*w zhincfF)rW%Z@+>54Hz!NU&!Q9!-H&_Hz{RecTcr1lH_K>5DO4?Vs9PVzw--DQ`!E+ z{@c02tcj-e8BIai3<+yw%C#irhS_s7olIZCg-&*IyPWU~1kQho+T~4hQQ^K^%_zxH zdV-erwq~3L`(9t*u%K7xyd&Flk41PrHH#hh>xcO;?8V|Z2<(qBO|K{~MStkB#!aUA zz;m<9wFbSKCvY{vHHq0?yqv_ zlh~+65dgHQ;AH}n@&_|n>EEpMsW*WfUVeS%kTM{(N-&8!C%E)g4R5Yk1zwvs+U=fP z*Rp46kn9jC-;YGZCIL6uzt`b-Bw>=PXX`BAS>$TWAeDKhKkqOgGOE%M^mUdrX7-9% zXGCndbV5yy6|h0a9KVs8;yr_^1QQzN`Nziv^pII9>+d9wij&}$@w}g*gkZZTcMJ_- z(UEc_w>&O#nEx+JRD7mN*D#DCi6RU#c)2jq?=Xh1rL_o%X&@qEb=<@E9%uOIXa_Q+ z!wb&q%z=1yJ>jryqnngm!N%AOJr>Z1K+D6L0-8Oi!#4V#!7BZt6M542qNgCky zX;4r${)fepLrCX|3`AIuqOK`}Da2C-(69{h;)t>-8`f~Xi#>XDz@z5b;MX|`?!#(@ zQ3Xt&D_!MNjPf72HxAov|Ge)A#6-m6HpU}DN@?)Bx@oUVPx53R@PJw-d~%NI5d+Tw zj)#4K5&mrYm3vuEg?L1PUv`ShY*&JM=W6Qyzw6u>8G5) zK-=1gwPkGT??uquood$>duwM8FpAOq7>}lr-FsEzYA6`8F>FwpFC4G1!AnI}X8S&# zg(_0FQpujL7JZh5s;Iie806C#j5b-$Oy{8rcpEbc`@^w6WrC+;L63NhKtaF7&a$YQ zF=`C6_HG@Bt_5yHsYoPnYpcbO?&j8#jI*k19Epp(!R89a@5JLYkIm$JCMKpwbhg0c zxF7QbxpJrq#_lg{{I%6X@;;C6%o87I8Qo#|-%U-O#SNJfVI^;}gC(&L7{a-mzwFzW zDj`26$|)4A4DLHhcJ=rQy}r${i?xZh;dZ5(_7J-3$S9Af&NonOR$DE^|<<$`lb4HfSqOZ;HH`dc#|TY=H}WG6g<(}(Xl1hv}{Bz zpNs!5gV(AgoY@P7Yx&$7>sRMq6R1!jqx3FSLZ#D!!C-(UdI>>?)j1`T(^Jdm);X`y zuZn+N{j-|GB^21OUzG&A>nQZ0b=iDv{K^a`b`RTDWEDJs$Ms4*y!Ye<*5mxZaCT-e zF*dMgPg{!$eh@D-sNnth+o*z%;_oU|noxn5wKL372JFgKE6PJ+Kddi2EKTx{4TT>A zM@mZO%?ue8s@neL3v=W*$xltqOit@IHBC-tXoE^w-wLY>o2HB|s0X&JTu}6W&t4Tc zT2eyM-uMD#>`P1xlR|RJ_$lT3lh`dltJ(CxPWpAn)T#5FUwg8Ij{BxgGk<9SWt?8o zO>ft4n#v5f&WsQB3=EDDY~KF8!S(y$YtJ~|`X*fID)=5%Qkre^#vEz&9V z)b6tiHIhoK0)H+kDYu#reXCsuw5q^goL_-k{`IfUuRyN-Yw!V8QkKc~AP0a7yiigy z-~L>|R;B_kIzJnSa;w1KoSz%aw^ixc$J-wv`-cjA&?(pJ^7;@zZ$P=URRtmzm1Kyn zXcbVUDgLS6`6YotExMN^wdS;47eEGgr z75Wiqh{lhycat`*N^e(z67n;u(smUnvk!4r>gM4!F{@$vOS)x&mo(Muk7zTJ3jE#q z1&HjX@%o4J3s6bF1mCMlLRsu+Re^t&grXG7lOM`!ux} zM^P#c(69-`t+nYJDZ5^C+*uj0l^`+1z-TVK3v%7nfvZaQDKvdW z$txAtwp#ys@rFaIN?*M3;KXFpG5qrCktaUTeR}qRzfYH(!_Qu&Zy$X5&Vw)B@a7wz zKT3r|Ge-jzHR;&??>@EX(1FlDj~b}hLG_oaKZHX{y*ONRRn0cS%gw`|Knp&J+r7jK zhVR4eex<%J`~YqbD)q?lrEJyMR_ zd^&Yvq#~exKe8a8o*P*hP)A4N6fiMbNvh;%Rp3!gToMnTFRxO;c!9QzL%-e{CRO9e z^z3BvnX)AZN=pwOd#LHS1ECA2D~|3DA9*Mgd}`<834;b|E~^=!t{j=(8lYPrZrdnl z&djB_^;15gnH+B0shu+eq#Vu+2Goj~A>4)o>Xey0ZaV_%w3(d&b@t2%?eLqq47Xhr z?J+Zk+wQ<->PpDFD{n48K?N7+UV;F!z0HaCrYxP|-5ow3EAzkWWBGy7l7k0IXvjpb z{$6t-_3Gihp9#?IVcb3&P(R)KIov)UP`}>$#ejNd@0SAV*}abh)bI9w1-D0OGVXm0 zx5oqXs9hnic6F4K8*#qX;1+V~Q`XZ&GMoL8MVd^z*4&4b6*wAN7M>a&Ag^g6oDGmH za-cMD@L0vla4Hx`1%s(zNh(;H3Wica`lT!tJT4WSlL{W6S}-@Yd|v9zNUAZKIzN^= zsXUdKpW0B7$}ULtEldr?Q@c(`?Ws&%U8Pj&#v>~at~d_V8ocj@S1U%oRP);4bxZ8O z%j~}^?7yeje^0ajo?-tz%l=zu|6OJOU1R?Z+kcO<|E{zDo`=7fbWglv|N1#kop+$* z*VBQc^h@C2Lwn0O6PW%NZm*Icm?95HFh$aNFcrWph+7G6rMQJ~3*%OX z+i|$f!R`2s|c!^)PkT|o{HmkLQtKNstl?#Q`NYg z7*q|ZlY*)-wHUW0L3LhgX;7V?IvKZ`plVJn52{3JC2pq#)y1h(DQ+%xI&NnKRVH<2 zP-RnR<5n9~TT|x*RbQ$ew}zk^Of?48P--=9Yl7;s)Y_ohl{y!<^MYzBb$(FoNnL>3 zg+X;y>Y|{!I@N?*b5PxoN(9x7sU&W#LG|WT3b%An-I{76{UvpAP`xv?A*k+5wd2+i zR3Axo2Gu81T|xD!RCiE)I&}$dnV@J=qD8`UUwk)p@WmbI}dK3r^`zY zcXW2Sa9S>Kda1_gIobD>P)}~h?foSxoBaT8A1+Z}%-&U^p3Hs(w~v;npJYE)qJEma z8@ErCsGny)S)vYRKUJcBo4p6OdrQ=_+52&OphW#C`yg(gF1bwN)W+Vjatb-BaEOO~ z?P_h!CVT!XOdD>O@0%T~pDBykB(h9&=M8!RS-$V#68gkvar<0}YT5UB+`dqvTK9di zM0MEbWPo*qUqPyBvc7~u)dUT4Y)Oys@G4g!fkb_dc)M3Qg!>(+ER7r)VZbV z<5TCAs=KFNgWCnA>fWgfal5E=C$%#q+PTNw@`f3-{J#Hl%m1g)^5aCy8+6O>n`$nl zuO@J7DOEq1O5)a9s-Bukm8#!PrAyV}sf$b1pQkpIs=rKi;MQ5HUYhE{t-JKc?v^)9 z$(ECbnYWf}A$o6uBKq$};p}6kv_1Wdmb^nRlCT{+@=)1tY+BlHcI&~y0=06yW_?YD zM(3&BpQ8Tkz6ZDaOVwX@KY-hVrRs&QZ;Y<yhO+?>mwINSziFRl8|cbE5$8@8|gZ0`pQCTZQpUY%?YXV`i>8&^ZVxFHZPRo*+L+ZA^Q*k>jq(0Dh zI&No#)Cc>{45<(IofT3a>pMH7KHhf@ZgnAbPhUN54Y)Ppwkou;u&|or{pE79gr1ATH87X5wC<4++*~e=ihpi)K;sW(0r_V!)22t!Pa}Ms*VhY zX*q1Y=Rj%b;BZ(!I8bu*V9PSyikFV+>Me;FD)Xz;Wvl=mq(-S@hcA4UDmgelS#syW ziS14dxP3jOb|t?NQWME< z;`XhOnoNENx9^73o08wd?fXP)$sgeMWJo=nd+DA@$AVPjLHbNPRE) zGu(b2Qr}PhBBXwr{3UKrht&Tj{|C2Uh14ICzsBt#ZqJ0&ACteq?NCS^N&YsZmb5;L z+wVeZW$W*8`(sF*)%qvg4u@1->vJL1(0T;7qan4b_0J)7ZtGugdx7R<>x&`P()vG7jI?8VIY8x0Zy}J*}mVapQ#2bw zKC|J!%4xd@8DD9eS0>Zj-J|CW*~&AUKUf1j4l~5ISYH)>AK8TZHPNz(;E0|RrAJ8# z(q;%e91cvLdZ1JtJl6B-XWm~A;?O*Uz+vBbKBX}~rb$dt?bX{viLzGO` zRkYr_|IE6!m7uN_CC3gm5~aR$@P~IiZ%vlhT0k%GZ#s=K^ZN z3rB07stFLe)b>9XrrYDVJrPzH^nW$168&EbtG53C#_j82wW0qTxP3FMvi;w}?b~5> zY5#X{`)*hb^nVYx?}yb;{|~|{-~VJ-?d<;{Za)gE(f%KY)vo@Z;P%t7+TH)Nu$t-r zIc~oQtE>8diQCh-{VJ@k?f*4y2gB;7{%3Ie->|x+|2McD3adBv|2C}N(*G=OzYD96 z_WvHYKZMoY{eKLrPxk*QtnTkWjN5Zz^VCTXZrt)+h4-!v;8lG)tCBT468@` z{}xtX?SCo!JsQlA=U~2H+Z&2Txo7jSFj=}D*n&}cXlwXRu(gu9_7*(~$MGmU;f%t< zr*1!V^l{SV6>&WL@2SN8?HDM?V#0E?zYRYh+kS#Ipx_oyIIM4dC4GmUyFV58{FEH% zXKTJji`@fT$d~fKmH=)%GALvbIR1AEytIs zXSd8PQ@`IbuT1@MOQcL4-V!ZS&u=NmZGM@0VM_&(`_=`xEi6-^t?@Edv-JerD$CT0 ztyN{}^sUup>ddVtmZ@{Lo>Zplw=ODEjawI&snuJTl&Q5_mzJq>x1Nk!O_{oA>+&+y zxpf6@rF&Wrmd%yslKhJmxZ*c#bZcbE+-H0@s_BZP9`=)!er|>d@WHqVfl%7 zl&(MS5N6%cr*5x#f6Y0Bi^JD8P*<*P#BEiXdgpY+pq)KA_%8o0BMDH#CYhF|=3TCvh*;w;}SYg!1~=5!|;7 zoTwh`xQi@d6?l{zn4H`OLpS+wYKLwdI7xl8`>vg2NT}ULDHvMl{3hZr+i>n*ZTgvk z8uifJx6#uRou@6CjoT=?igH@EWr-`*regz3)iXC*?xh-?kyy*1nD2*w)sW*w)mXZAv6+(^vnS_pFe{+VsYOQ|#|8@%$c*TBfZt zTbn*IkWvrbkEUI;ZHras)|Tdu?6z#W@!ZzBy2exJwu&NzJGv5GEy>)*hT8hoCK}p0 z+j`oX+H2EY1MMpOIee+*KmC%;!U?;z>C`~08hq??{Xuo%fA%?w&DI~fZ6Kj0?|cW1 z(E0z_hsgO{n|@>8I(H59vu%^oq4Jt2X^Mnn{lx{OEvtCMD8{aLBZGHPJA1(07*pcmXw3eup-a zAPBsxqc&YKaH{&{HB2D4!R&QMWc6uW&utRT9Fhp(o zqg2J54}Pqu3JMNQ^kisar3f*fxC1Xp7Gp%o)TT%1E9Z}XzvwH3lb&Rvr#5{m4e`7d z^h6FZ>6~c8iR$?_v{62!*t6R7%ftXb{t--|0s{n#1NGFV-#4&GE&B5wLia+^Jpyg( zs!e~2LxWl<%N@4(lq+%%(SLCJo9R#&QW@7X6mGJ6@I?K5A>uEH2Fde3ogbP`OpNas z-MN@Pg20pFSgZ&|Hdq&eIDW`6D>(Uzg4ifS8$yZvqBWZg(DONVhqs*8H>}%`z6!x_ zXf`hVEd+8^D~i(47i!LPQy$E@^mC=~U7l;TI~X)9^#RQ~d} z+wjHlSP^lo%qzUvDGT?-9Rx*2aYgPz-R!~{ZB;5`G^GoaV2sY1&=ky zSvI8o18iayT6OXrlGBz4n&^NxQ-5J z#I*GOM7hY^wToMx%eHMz=6bN@#~Usz;AS`$OmErwA(xJ;g61X2HFgIpg%5l(EOduT=>K`Rv?W8lp2wlX3%OtsWmPp2!h$`;o zU~!T>n#RVu#-H}Z(OeNixs!(nK|eCM=SkgR~+zyoY}t{cc^Tao^w^-L(?hx6(;4V53ZNHw|+jXjq+W zz~GGhT**8)bZZ<&7 ztv-l1w%X$qjm=t%d#YH-5w~2BM{fQdjO`7DlG#cRS{B|a5dvSUk zj!}(??)GqeE5sqnaMYRVNv|lXb|r;Il4eS%2l?Ovd0}$hYZaaH{jM?vsOXE|r!W;! zreGCOrtlO|rl=56rg#cbCQq^`uZM6(7uQGLKv5=lnkbWxN|ed-Bg*%?%48}M&&fjJ zl<(jPu6ca(2J47c@BA`vwZL>cf6J3)5aZX?LdSz-GC$Px>b)ecGk{x|J3!;F&rq@t zY<01*r2iJ=yrp8MrUykEs~s`%b@n|M_QPwW&t(l*Tqg}X=_Jj zh$JOqXqIH@)!Dc>gZ_VbX9opDPLfDI&_23*bQ;l;*rfn?o@zHaX=&uqc+P1};4L_z zz}l$LtHHgc@;4gT{tK^ddZ;LY;9L#p)$)iq;K0eO;vl=;Kd`@A?73aX++nbLVv5eU z*wK^UL%E1|LQeBu1y0h!GMbHPFv_a{S#&;a_tPt*B*g&g3otPrV9geqyR*60eggF) zD|2`G0E0R`Z2%+n2CWw72CijL%mV_a9cowmg2qIGgxwC3bciRZg;v6kVs*<}_Haa^ zJSsAvDB47`RUqJ>+!Uu5jraOCrCOZRvxfC29X3ySUCH9s-qz99Mvh1b2i0gbSaYX1qIu zm)_>v@ugxp8e&jq$X4Cs3tFwrwCJlHCW=)M$pXPoB(_;xijq2KU1%@XK=PjI3uPxi zej$_5YD#3(QuH}qj^~Ka?d3ku32s9}iHVuVuT5^b~1|ku z%Up3s(LlSMbVJ~aI6FnlP3vrE=Bj44Mst@;8RHLi_d?dgdG4}ao_7(ENFS>3*+wtE z%*zAK;2e%s+LTOg_?|EJ77Hfe9L45Pz-s?}_0@_ZJ@tkDui|=<2bwiu>~fVvV4c;3 zxzJz$g9t8imDjtMJ1%`n1B|D0m$3ztqeY=q55>m)kQ|SD# zFWg+Avre+{3!5l%1SF4$`f*?}wGo_UhtXE_WlH~E5W=o-l__4E;0n(vU|W`mMBv|mMBxalPFWb zlPFVEktkDGktkCLjwn+Mjwn;8hA304hA5Yi&}!nFylkROUNWcrAafvR4z2m5FTGT& z*U-@6!W?R3U4l;(934-=Gy@?eL>17eI64&OeO^OaurVfa%YrtV*)uUj<~t;zmu#f4 zU5!nysCv6oHEfpoDdb6Pvtf&wmps*Zl&3zkoOD-j=1abPUMw>17B4z$Kj8~nEf(qq zW}0AgWKPee{VOdId*iR+2@PgV+nS4|*8;PBzky^ReYsJ750AC8*tWx7igCh)zoznF zu6u(liOcX-m11irb!y?(9AD9}q4@t|zs^U%M5p}!qg@Xl2z7q=@ z_%T!-4Af1-q2Mz53w})dDfET5{{Q?qp#Hzkk11Hf;lCI!H-Dz!2l3qG*La@-44mgn zm=hxL0(P$D8k*PpQs@#Pd?S@JNM|0nQKEfA4!KGn^98Qf=1Wi-2rb7PT;@y|vS}Oi zjc*rHCdAb#fTauIosI%Wo>0!ZPFilghWApi7mA!j+nAfqAWtnenLb63u&+WoN6qH> z2Q5^_1^en%%uTan16SnRw2f10Of34(uJM#RJ!aBsjDNa zlC%@T8Oc&ppwIFdQSY|D#tUj8ad1TS8ecn=c|~vi8d#dw(=%WKazNW~GCZvRT`Dvv zoV8eiA$6e1STxIM&$Hm{f&MG?Pn_Oj6N5=PG?|OcVt9+}gY#ROmZ>n%8|Cj6ice={& za+S^X0q`GoJ-^FUHVy4~|6bQ~+EA%43m-9Y{35cqHM^cCTxFhF4BzT{o^q8Xy~NZ8 z*K8)vi`VmF5tPlzO!84H$=_a*(s#X(7Uo^*Xr(qr63Z*dnr z$upnvJ;|@)YLn~xreg^2o2lebmi#TQlMLb$+}~}k?@9g_ckw@YEIYn0`CnWFR^a)5 z*Y~e?m2Y&FCI5>H8{t=nXM(5F`}ppgTySr8mER)Dl|mB=&@q`(6_B<@+6t^X1$>q2 za+NcpT9;b5j#QS)r~KQ^#$XneYn zWFsleft*)6oM%({4MC(F+qOY zS+a&hyQP6W+Sl7P7fXV2bX&P*Hp>j`MYcn4tBhPAOWBuT<;+3WNQo=X7aA3O299Er zkD&Z|-A#+$pb5}E0e$iKKS5<60p&8*lsQGCvw7%-B9yUg9u+QmP$X>;acXFAd@^kv z$=vF?4mx0<0e==1eUOKLj#zr9xk*L&T#(iY$_>RQqtRpPr0Y4YXi%+5hd~`NFo!{{Fv@@CK>!{oh;(;b3qni$EM2Cgvy=w` z+?LE_Is+P!Xnx-d_7@7;H1petkP&Lxd9j5oZOEAmQvl`?@MuQv^1_D5UFU@E98D^H zX4o?Xxr`tn76Wqou*FqwV^awl*tOA$BDi>#wha?7E>Le317qr14&KBpp;a;AUS7{w zb>@BhT~x0(dBpVDH(YNkTRM=hysa}e+Yw(TtI9E)oh9Kq-})%oj_#$^&&!#VVT(#+ z61gqOSx9+_NSnWf?KxJ63571+;#+IA9wP2#7h{*LSZm0N^~fy1rpmLOSG+7a0TRh# zv4Zm*Mpd`bQ}8d^B&aXuPqbgqDKB7_0Mk%IHcw|^Q}l|zV;ys< zE&m9ixO%NswWhYevBLqg4wS`2Vr@Ch&1x)&2MzTe4$2qp=-NWF_9>>v)l^JWAb|3q>M+Sj7ILc17+ zU*1n!Khe@C;oE&1Ogso8Lx0X#b9so);vrg?>?y#>puUAL!CIT>A29E5ex>ka-U~E( zpk)Qjx)|tSp3Nmua^M}ichV-?nA(RWN-Oq59yK%AZEy`v8|)RPdON!{UIyTs6y8?4 zA{8;GPA^5~VuKxpeP%}HMG$^XS$HJNlA>iDk^A?`|I#Z z-K137p`n=axeipSg`wWX+-%RIZrTUUpJEE4sFsN`F`7@gv5(7DT2JyF)z%%KCA8!T z-=xkQ;Vt2O8!SnK<)L)*@@l2bpXEs#gBMYK7H2+vc#B3TFM2u5h66H(ztMFt?k=b= zgs2E{Z8FNZO@^5NSY(L0MXlS|_aCxiXKkuBJys`l%2+!A@1Hc8@#Uh3uknszFWT98 z0yph^#~>$}k5(9#1$@lytdy#7VAxq&?0CLK)O#@Gsm2ADl7V)N9jB_{@}|#1k=QJE zLae=WM0wxket^CA5BK4I`R>1`!Zgh=!=aFKfecmJ8UgQOnsr>S_mWsaOa?jSu-e6~ zzzt}0_1he-fO=`zC4ZY(rxeE%Ob@h3^nGC?vFan2s-2?UU==rd@E#BD@L;VvUEHN= zC65dF`wiiWS$F<+?|%-wu0*YQd12vCZP zMqI{f)xPK|XQviuExjqV`kadS>ESgvN-{TH6gqco|Lp$SBz%qSr6qD1F)gnTcX=!$ zOxyctTEI2|k1-P(9qGE6%DIr5k}PNBgQtk;{1NYU_9W_Z)J6f2s0XSRZbegYRA7TR zoyq8V`ws&yGp3JuH#(hBwoJ{23oHszML8!sq1ZR35XXv`l-bmD9-{qU|u z&|e|YzsigWZKs1K`Br|-p*GSmV;JPNJt|Po<0Ty4+DGm=A0cGTNQN_D|8UQdTnHn4 zwI~d*j5`2)jrU$URO0>h-g_xi;Jw!Q|K}IHw)JH~`I0Gd#H(N1W-^{_M&ApK_WeTL zi+1+DKQ{EdgmWq|;{eZ_yP(ubnruNz7u=48@UIrgvpF{h1#j_;C;{yc3b+Xs98B`cX72=A@0(>*IlE1 zWjGks6@t>Rx+p_bxK9AafnJ^zC}ER=DQy#d6`dp~c~b~KkD2VkWcR|<6gefDdAuQY z4D*3BP=1}|6(W4=K+4yTTpf1Emw58Zgcuhh*r?+)p+EUhW;7e zw6tGN1!=a;yrWrpRTg-=VC`UQ?;BE4b4qz!VjGEx2B!mNwP0@`c|2Bt?F7s^?Wz;x zU_g_C2drqbpz0~Qq#ijGe%}p9Jenb^*ztvY3Yn@;mk9?a7Zi;#h%x{yQwQ~aW?zGM zoUn07smG0&yZGqq29UA>Y^&Su+&J*jJ5sphgFT||9Rhs{H^38N(z)oC)M3mk*Z*rq&o@Jshnp^?VbH?( z5-LR#)ejAGfGlvaXarX0FMDtQW$x8CF|kpy{OcUi!0!fQ!`A|1`Agp^z?6sGJRq7+ z@QNM91?VK|X3P{xk=d?TI4zyDc!s)GvY}#hc&GsFM>5;a22T`7eM}atjPYXS_~u;-xn+33r5$3b#RI30M@~Ow@j=3 zg?_Oz>A$ef6`BPSlB$*W#d^*|*Q`8F2AGv&TX9!Orz^*E${ZSoNR;Od10)8D&{c5s zXpwQX`eM=EP{^RDGHYX_z>WtAJ6ST)Za6oyJV^2sQ2d4m+yK_?eHIL1J+s;1HQxJ& zJosS`eyxIYLCJ%A6r5MuQg~=VLyyO{FRzvc-b>Rh;4S9s==%#ic&i6X{serv^a1M~ zB=4=HymuPZ8FGOCOs~Eddhm-p_{ARlDg|597JjnhkqI7#@G0QedN8FE58wYDiv-|B zMnTupUtCVa0m8zAzYmUo)eJf)-FJU_f%z(`{L3D^%N4|pdw~ak$%8-b&Vc;=f@mz* z){i~-Zma@&`1`-~-~}Pa0l!Ml7xMd0I%)_0YCZyy>>S1P8~L|B%gTx*LFbjWOw))j z@rW*r(W$X>AN&?t?{F(Uj=WB74MU6!vsTAcZT19hz^e>$@&-I3YF@?Lf^+Q&Z*$_~ zZ*-Vp;k`*2#UKhu_rJg7eGX>uQxP2PLSRl5tm4bL@k;JjLe+6T@J1Wq(GfXOZx| zh6+FtCxzDSUWfYiPwg|kqC}YH0sJWU!$cBN!p6PTa!-Za4$}M45=fiC<*bi%*^7o| zCy#d5rlu$**%wp0)1r<9*YQx03JkaWAj8S}81BvtG+)^5n_Yh}6zJ{$YZ@=MpmO_o z-(vWeDK-BGOT1Rk)Vc3jG_Y81OyH3zGOt|6e!%le>to6&ONNfk*5{7ROpQO)6d^OF z@si61539M!D|z@iEGV!%+_r<9KAsz!X%;hD)b2RS2S<{L+DW@Rk&3rU?V3}3y29Cx zd_u#E7R$By$(i4DeTg%#d@v~ba*%+Fw~rKW4?v?oUj)V-?ctoNql#`l36b2Ia6%%W3JCkL=l(Nu>`#= z%es_%QFTWa)DjMRZhS*f>gUaL6L&g5*Wmlmx(F< zYi5P!YFm*~(H@=PJZkrZNDZ(?4fP?W&`}}~Vxh;)C?$Zo>pWsxb93~2-J(!4A6)79QE5T|WS(tTrw z2cLV=_L&%F)RXmM@WIFFY9#Z3Pwr;AGqxqZ|L_B*6Btpu%SqePaZwuP3HA~^DD9hR ztG5?>6pktJxy=Um7<^m8Ph%^v7mZ0Cl$`QAI>dfY1te!{O2xwFZ67pwmYeKi?V*vX zk3r!2mTPj-;*-XqT1bv0Z^4();3bn|r>OZ_oq?M2` z(n?4eX(c3#FlGrOt%QV;Rzku^DUno=R+h(W*}o!6snfcha_XF$ioZg6+1<(O-Qtt$KOFzlH6JUC zhJYJ>7xO*32)lKAd&f|qcO`GvdXx5G`dYQelHcRQ89{f-t#EK-~qbYy}B|55z?F722Sw2MY?Zj%b@OK zz83A!&B|q?oyXlA3u(%XNv2}3lel7@Zhy897U(y_is7|7GFTfs{u>T8;!cs@s@y8T z3lLrep3iH&i(t$Z;K!ofn2H{wD`hKpPR@@VYi*0QjiVRVdfJmrK)12c2t*aoO=1eB zi@Fp{7hfruu9H$Q-L(|K%qHP3a12J=oz${q6G$$2i5)c4wXd-UN$hs!^676=8TuS& zqj%uO|1?(ypW`?>2QZGmbajS#{)omDFx``3o~ukR>0VI>x6&AYJ=6`8&qt>j(&U{% zhMW!YBB!$+cB0vKk|gQ=`oAW8y~cQ5v;@7j4W{E4GO>m3#Lx^sl#1P?EIj8kMHtf; ztk%x-72k*>8N>IEpbMDH0}@-u>#cHTt}rz-cKk541QQ67L4WQK^PjZ@(r@XUaAze` z6Ai&vQ^&7aDbRLt|E+WAcI%_U`#HoA)Eb@0vcbDdV=V!Hn){D~jPt%TtMw(O`lQvG z4PGe<_zJVM(c*NmI9Q%J(YX)0(loPxl+VVQrR|@EQ+z3Pq;$|{l;#yKHI#GJr2K}H z0eYKs2zZfb@ZUw_Wn^+PtI=rxO{}|ix}nZ}gTRIec%^_JU={J`z{qoA-Hyt*NZ_Ch zsWochA*@m^&Y>!Zu=ICSRxS?t-XxaAIB%vn@~K0_zP~WTmgH}tW2`rZ z`@$qKZ}7&}x5ZF-#QpGj8)k|IqIDPW`4wZ0Buo`L()4%5MN(!t8wpe zhJ|I3=={7qPXDpPZlvKtTOvtD=f(I#9z>{@O@1+`4AOX;^lEz& zWAf74@y*nJHz^O9K_7GHKP-YNnb81~we{Sk_L8^%>^$5+lAF9vnSRC?9eV*h4y@hH zY8;Yxg41H^8@SyhfmCJ|X2!_{1@IE zz*Dh1?tdO}jcsB~ds&jO_5+fwoxke zuXSMhQ?X)rVXjgWKFOk&P}ak_pZqEAq9U}SlI5rMo)bgHIL5PV5k@_d>43ziFHFr#lx&jq0=ctYmVk6ZI`K?MXf}?y}{Wf}(I{65z-IHJ^&N zQJFl-ylTi?LbjIe#pwqKQ&TDrVvACv4Du?0vBU*#legEIRP>xmGkqhYb6$&)V!5aL zV7kEBq+HN9GjGKVi(tn0lStr1xP_QhY1;`|IlH_r68TnX@Iev zIo2M~|24JmEy|sry)xiB#}wBC#zB+2*&dzT$~(*qQCv4B6#g@OFp9jq%X zjQ2Yx{cLcDKwiabzDNe2x%%v>IxG9)WSNlbCX+~|Ia!W5;ycvcLTg~}GC?8SV% zTa*PD@w#}>tW(T@*qfq{EU3`4y)0Hi6jbEzWxm>Mw=LgPfC{hi;9s_6AjN#N=l>;_ zi~Vf5BQ4*Qy=kbgb{Z1)cDD|qoDRGW@+tv9NFH?i3Dm4~Il&yKXpNtjRwz5h43m~S zFSQa`9*fO9GqaYUEM{^eAA87JXbjQX6aDvN#Y7&smy2RBA^(#-aKi{IQWW-*TKFes z+LHE>4djhvAFRA#*6WWN^@BOkyFkXH7o?VPjxrrhvz!Itg~B^Z=^If_9k0XGWfU`S z?ryD?in00PX~#wpwfhVksQ1qj@Bb~rO5R5NyGV4txpy%y(h@Iq|_eL=!&4 zR12X8`a*KEf3q2~BxPeZcu?Sehj)K-A6Mvz*OS`&a}*mt$$PNTE+FemKbf)Kn2Oz` z{A0qLWppN_s8cApPt|8Bv2n?@KEBp-D)CF`Sl}ERX$IK4hVRjP^7wlj_ECpn13D=> zj?GkOJj|H)*bG3ASch+?|Hod>@H^@M<@-lH7*~PG_qYm-j}j;kSAog*YrXfl8Vr&d z*9UXH{QfWjvOTwX??*itSBc5*f7^Ti?;gC88cRQg_2cR>2}2PsVJN~S42`dZ_mK8N z)(?}Vd=D*%d=GzQ`5vixB>b=k!(Umx$JJ-DJY0PyVPs&G-{UGY`5tOz`5srJ$@lN^ z-Y=z>@_Ss9BjLw97-GJB4>4cDpYz}^crfz)$?tJ2kTBu}X$r#m`@RR`*dX8k(1VfR zNtTEFPBf%pc|Y;K$FW0x|8E`)ab4o$7$RY0M3n9MG{LgG&v@_`Js4Nj$?uoY;*l_p zITBt$u&i&T2e0zrvppE@AF@1LjVIyryzkHV;0+$U(SzYm!sUH8&eXf!v#*> zfqt}7pc}?sYtWLm;H)~19b*eMNifnY8@c7sEIjxdd1arY4g`0wwwbcHP#z(O&9JT} zqvAYoA8@-nxy1{UNIP?i&{or1q9=nc6Wen-ZKPb9XG1*gdzF?OxG3dUwSVB;*f4NTkS5bd zG>w@)n6iYylqLMLtdYLi4NQvh!)ut49*_K0=$xN!G|2~dTTIimAM@loZ&b?D218Gp zC0eGwJjy3i63c94RnAQnm;t&QWh=}DM_i@vr+y#g(?BOhqz=u@%pbF95+~>09UD;= z&z2~^)bF!k73OInwJrSpHC1w!*Y)ZsfjxVVYYtCOhX>#4!7|MDW1c+PyE|4fw>qax zD52{wPUK{v=;?~PL0M{qz50n>6C{Ovmz!{4wsxX}6dlm6KtkoE6@?n>4AfzgPUk|2 zWqB{*>Lp>D52d{{(H`?Byse2av7nPCyylvZ2|vJrHqhyG_jXiD)%_hqJyySPOX}#Y zSJjX6f;JW!WA#8Mpq0_~8NMelihE^mAV_|A*gmtxEh08VF%0_*sN^E=J;QkaC=;<8 z$tZckql=6ubj)}_ccC4g7f^e4k?|b0hyliPKkGA`dMb?kxyee=;mCuB5tIpkK-71$GlRE-eRAu~({H;x1mugT8{AjCCFlKU=9O@t*c| z^VssUN`VT`8@YG@OYR9+w?C`$Tj0HJe^%)<@LpOz0ZStx;B{X6r29ACYYkV{Q>kUu zK_1_q@0BOLfbf2!_kNQHYulO4Pm51@{4VgmzsQ3x_FzfDsQ*&$z4X(=dp+M-TzSclyy+GBh za(c!0d%X7OO)=|Tp^^;>>iec()Pu)7c-({Q9(>e;WsYVX^e4Ud(in&LQ{MX%3eE*H z9(>Y+rQRLc4raaga~^!32S3Y$pRM54-uhkbt>4w&`d#g<-_^?L1R1N(Qsrx<8B+6U z-{NyrvLd|K{B)hik91}{T*0FG(K@d`+8YPoYkuV0@z;6$MPG{re9ceRsQ@9o*Xw(o z$KUgcpZ!!^`5_gQ5OP}7IOaVCQr_cx+WQgs()a^d?zDiP;+6kY4}OUUze2&{ah|a2nqCc<=i>xZi`NzMDdh0=-W4rQC=ZZdUkO;fuQhv;uCUH-0)(0>0m(%G;pmVJ#=9i&GSZ_IsW!Qu1uWe18>(}EgGz&(ga?14IF8k7tuLWDlf2+sK9)nF-qZE@)M9c< zPQySsf!J)>p`)bdCG$x52K&-psQQ>>}K3XC^K;;wZ(diFK~A`S{4Vt?-Q~<_%TK4gCBy# z2W%ruE8gmNf9I-2y3ZT|-46qAIT=fD;WVLYLgWc+R`>h#v8$PJ0h*XdH^Qw_i|iP? zsUJ8|fzOKWFxRE;PFlxAPCleZ>+=l`4SOD%dXI=>kUmuBvbGE-A)+XrtV0S3q6kf28bMqvTHVVe4NheJk_JZ7g9ma- z1n%&riZowls_swiaXye+;iXI=<#DW}LxiRYi&v7CG?tJYB02n7+y_!}asrUH+g%$P zsYnb&LD;k$vquuDx;Q zl?(0>6BcG-Vx7e`%NJ=c3-D;~&1?ydMR*OJhRRXvaO}`y>*m^_qcLN-+%^aB*Lc?$ zEes9pHC;&VzdQ+b@H!hP6r#QK<%FF~u^W_}Tw}L>T$4J`SEYn62M3E)xQ`b5yP8u= zS*NrC$5<*j(0OpEhz%gQZd^WKAFT0tR-=J8b&rkNtet~(@>QRnkB0z7T0AM>ZDqX` zGq{=A+4|T#=>cyw1DNC~pAULPGcMzGM+~w)g)4$=(AIMdeo}m8E?5xwjlAy2myhtF zkq3Q3O2a7J;W#t;UU6tp=)Z}#T}pR4)DNZ72I@;2h(6gJP*cA#{B-HJh|jh-@Smyz|pCuO~v{ecdrX0y^qH@~3a^!L7Y~Cxa3oks8T2jZcMF~&)cpL?R z6ypX2o`hzlZn}Y)UbNAYlie#)tIjEJr5m`_e1SygzN_6p#+RMGQu7~1$G!J|?!EsT@4fF}^G)x2-@#@%2{*F7H3ZA{{VWHX z^&b9K4_`XSp#N8k?>`a|LuFyKKnbkodb<84Mhy2EWjKgID)~VSTDeQfc4#DJXMFFs zGQE_8z2Ad3dy{#gfS=Cn2X4-Ej zC!L()oHH!dhiN1VrD9=UWw;N=LR~_%3U4#zMudjU^?1;hFiio@3E*VLBFw%@aYmX| zSx|n!JOzw&V1zFJi0^*39oWljwpvH7D^k%U$B$Y_z?@`7k2jb9kp#<4ak0{r@-cS~g;52V0q2Np8V2?_#rXteB z-}hl@(Zk{|+#m6<_`B9k5{thKL;O83y4*A^Gl@VSXfuF}#@;{v33CF)l6WhMqX*NB z_4ZEse|*RAqxAp40gUfgxZd)6IK0a5;qWTIf4dXd`TKVhEWeiymni>t1lgfIa6pvb zO9#Yv^5Lp)W_teEv#FO5B=I#`5UFf8h6+U7k2=K)L|Ry%ARO!@(cNH7h`GRzuH+|&}*s}kaZMK2s&k}J+6@U*2t;ZoZ>CfO61U*nJZ)~sUxsX`K45OBcUNgFv0Zv##GE)m<|f0|F5w|x4kX3 zzd2fl(Yzh!c{6gY5NYEgb+nmkZw~S=5?t*P-bhR~vVo~_a~a1G(~~5HS#z*QG^dSc zkKC&&d-;Z!)(2AuBCl?(|2Ct8aoOlu?B_=vdLu0;5J9A(&Ihb_!#IW+@T|ISp<1Uo$*P~{}6{<}vy%2-Ir1kk9QNG4be zp!=vFG2l>?SWXt7wJXF)F$V`t|)NzDFEPQh^M__^W6ryV9M_ zwNKtKOQ$CX<6hn^u+b0nS9=TT9_7u- zA)y?bs$DqiBvVz+J0;lfmfNXnhaDstZibBwEF}F-OxjDSb3bo3(|7EbX^F*iVw{C&lf>nSma(2IalggZ(77 ze$rY$Nv)rh)=xq!lg|DtFH%b}J06IQBA+N%siQzB8k?jJDwy_pR7A4di}w2q?}8p3 zD3lRKbapCYRxPcg%y8!>pIk=*GHokQU%xWQKfZpo?))y^W)UHQ%yxY}{li1Wi&DpD zqZ*%afB6@2gJd#gHwRnH{96jRIku#B|5hq$j(iX81LCRc$=nI|gXAh#86_1kfw#bT z#-ubbvY+shXHa_%mtsx5276g@l{qzs<6LET!DQh@?BGIfbuc zWMmr{njx=1nwP~K0%1YGgO2Uzld4nRwmIc3jBlF4nAEc>ll!vKvrOZbRE!VL9x4{X z6WZGsI-4~p7H~J8kC0qq5ZT8#G07xVs#j)o*Ne0#V>WhE4S0BVuCZVUOXnASf4%qq z1`mFc2jA$ydpx+qgZ+Jf#Cz{6*`)g&+9yvvfN$~er86bo-|D@WTJ4{*%S@>MqFkv% z1LbO^=TH$k2tCNW?XFkK^$8{`qsT=%gpRS}=f#jCS;Zf*|H-n-kC}sa^-%T=y4k7q z+p(TUGM{g4*@z`T4`{QU{eH;%vu$Adld)oW^j9hI`gpW1$))4i(fTa0eoFuKJ;KMj zjFf@AF7*{{yZsKdeJfUT)B%5ST_8HJjXSWP(l(FJ?xkY15X2qOSwNyozKHTj@iU2x z&D%`tla8M{?xW5e--Y^-uii&p$D>>ryyZ0oPqxEt#v8oyA_0FU+yO}5CZ*Q1V#C1g zU#re3VKxvxGjtZ|Dwnvd&e%=rLflY&G}>DqCwCX>`{z^pu4D9uc`Jd?5xMGhq_%s5 zI_n(d^A(-kDgSP9`mR*O7L{~2bZCWI!tAoW?@2|?DKD0-JsX-^ z-A7W;F!wJOqw-HI6FRR_>`rZ|xa-vNoDTWh!u%QI01fpUYQTvW``i8F?DhAby+8VF zgTHLf-%2zm4$cbo?3{RIX*%$ISVC8kf3v#%E3}MN;bWVBZ zhH0WeS!GJAX+3t532Hqx0uPqnt?ZfH*U>-R-BB1CF4MBNSBQTxRyhx4Q*fazB9yZ_ z#8v^hq)|x4-x9101m$i<9E}yvOmu_N#vS2>PWsgddwLOUN%7+$Hl@=h{iRLkl&;=t zQXXO94Gj?JLniYO)s6L@B+tt@-+pGoF7;k{B_Zyik%MD1rd4KJm4Orpz#O3WcrZ&J zVHLWu$tYoYOKco?lGdxc?lCDHw#0DKq_B93ISZ6hJ^i6t3MU9nfqXw|Q>=V=D&s+u zQQwCx7{dNtO&@gy^Y{MUOh4-`Cjagw|E?wfZYBRNCI9Xuc~{aOGbdzi3~dy}FU1Cf zNp_#F%~v;R@5! zrRDn3IjT*|RNQPo1*D#uLD6jETYHiUN|x<&p{)h+QsGqwqb|s%wUaQ@6vUtqJlIC= z@TzPB*G#LDxge@M%xeagT(}4z&W0CUe521Q6Zb#yFmrp`a865WuQWBDWOg6jx7Z9on(2vQXiX{9)Du$NNo(Qvp9I2 znLxHmylUQSO_(iidC~chyein%hpN$-_$|A zj)?_Kw6|dHkX($3N`3A%OrM3>F*cj-{(mRV}oZYv~VN;H&`5vAP1a*46O!2OM~fJ1eX=0e}}-N5)`0>_VS+ni+PX zXBaN@hqy8pf?&lQc5~3^<{)y?%LXs9Wt%DdCb4=neANQQ{>_tv#{9zEa>7kJbaXmg z96IhcbtE}eW|gYxAbVa_T6g^^;q0L@&_B?|zHv4}HK@Zln6svpY%oaQgTD`s^L;Gq zRcIt=>c48({I3`y_sf;g9+%sql^`9F(ds22D0(nY2bnmqG>QiyD7XPcF;?2T;J zpnw%aaul08RBdhBzP)b*S)-EYY_*cGrsSOM-WkJ+=Ik8NWz5-fF=qoTm)T1|!po>0 zOC3U;yYK|BSzKd^>#Satil~!X-oV2bt-9U^Vx3@G$*F{({j%%VKnT+V7Ij@}snGSa zMA!S6Yrv#X?yBOB>4CoVmEWXT-W_}bpafRq6w?0=Y6TcD>n|fS+8QMy3~~Glj(g?W z3BGZq~OB4+S&yx+=PR2_qZ)e=n8dLVfCR;Z=+6mI(Hu(>ei2c~9uY-Ebp z`2=NhHKT)~sHf__)^E6mH&P|2J`%w4Dh+8XkN3hP>4K030p>?*2~09pty50mBPrw7 z`PoIr?LA`LKE+2bci}FDn|>m-<2vE$_3S=2yc<)@C6xE5 z_g=0(#I($)_xf@myw~I3-lI>9-nxx=cmb=AMKEZ@9*;3r*p+NDSZmQ zf13CGGd%d&3XV(&Rs_s>&XGBf{&PXq!$0D|H4h&3V7-2FUhddjQ1`yqr_5ZS*H_NV zf|^sOK)3|Vd*$i*(KbMQug5PJ==Gp&H~3zf)c`-wt54InKIb5PK(qQ@dyV6Li}zmp z8?I5-H<-Y*BHdRYttASvkDc#xXoYB4zJIsdN1&q2tM7EoE#B*Xtn+gE>a02VeuG!u z77xC_gD>>pi#_-<1?QD`1MR@2-g{s5e5LpPY7dr5c9eIm_g?Q?d9xqm6Fbg%rJM$S zr-#4SgL^!<*MqfoChzT&d2gT0t5X8%*ZZUnoxpp|Cvb-xT^LkI4rE}XN>B|9y-=bVn@m}k4T0+ySonP%I zhwruA(BkpUmf(o0FR~We@-}*M*+%84iX7Pb5D{gsVEl8v^7Z=M=&e5;75RUXLtFEu z_$7MhtNM`z+&;E_=z)f%4;T(bTfFz0ALt-&e1DPmz2*=4_7Z%r`9Vf0Q1JfEUU_fz z;N==(adT>RWG@>XTMNBSf@JkCg;Bw;@n%wx-<_hE`mWB+z>80k)B zO@U;>?U8lGIyabuWm~#ePhNRJZjaPB>>E)i!-k%$JIX3S;-49r9qA4hJIb)hIifRv zqZBS1m0xS*`$;Zg+tF(rYu^^bjua9dcF4jpM*cHA81uD!#9bI8fBeoVid>tdw2ag9 zlddlumluVv=|f?e$C3MDy>!>c+QWK*jY=j7)2WaG(RgmR7pK$xSX0`jJs|!1Xt-QOK&z?e96GsFzcb^8Oh0HR5OW zG_sG@dZn2F@psx*g%cx%?`dvkm|}G&Y3eG^j1|x0xgS&*CFw5>Bq-I7!1pZ{QG z4b)T=AmcT6CbR+ zI@pBn6xAwuBNv8y$uG8Aibqs(&DJQ0$;T30;3eq1mFU{5Awx>2Bb-^^uNjgEF@5Wo{H%I1A;GROD>%0ztOlW;$`MguOpXZFI9byi~Z?(1g04 z7t0-$;zwfzTx>LnFrZ%}YQ_S(RO}YZxFzIYXxt0Wm@dFLZ*_#H97Dh{N{TConPRK# zlU^+m>K3XCmLn|YBjdKBSFo*>w3t|lTH$Zo39ZD%go6ju3+Y%&OD()I5j;nk!rAx# zTd{sKxoj});PP%A-C){uE>bm=M~Yol#Os8SqJNQE%=%yt%Ag0$+Rj9SS+`*~Fn^@G z_vM2ji*3-uTPv!hOGjk>=F}l`K_jDsU1T$4t9CppTHmjBnn%fz26h)@uwIhdy>%+8 zXNtRLETg5`^!VJd+VT2jgsyF)Jjj_~+I0_J0Ov6}CGoGD`#i>uR~Al0E<&I__+D_3 zH2FD*(ZSnK63IXqvNVthaP99>0n2NBAL7Me4N+6h+oN3QrS^jPB?UFE5fzRx_i|Zj zNG_OqUg}V_sN=;gtlW2%gA9luD4{%S*^_EtD{3F*$udd3+UWX03W%l2{;6p_l>BzM z?h9R2nt~GoAL~;dVE&#*-;}rA-0eukT^=jWW^jgHOzLS-oYZrm@;@TEQO?F6d+=8Y z#*Ff8{eyUaC0ow4Lu$3$Qz^#fE+(iJC2n5EK653Cor1Xyq6)|XmC7`QY&e5k=`_!b zTcaK0w^Noj%+Hl(D3Z3+yt+p2MmD?9Dg~Q(9pUYv8kw=lXq)}?J03d(I{D$-Skxky zzpmDc!ilh)^_k(k`j_bGOShVNgJ+w0dmH60e1J;BDB!{0Nbqe@g6}x{K9c`i`@rZW4P+>P))xMeW zg{eALwHp|>5?J)vL}f=kfC9&L(DZO86NuUD%HxF-dI64vd% zxT@GIj#U`Xp|Qt>v8=*im{k}IvkHS@R$(yADh!5Mg~2eZFc@YP2E(kvV3<`H46_P@ zVOC)<%qk3qS%txH1^WR#3?C3Mwv4}ZG{atj44+No_Az#0G9zv_sJ`0t!bELseqpwL zetgu;{9)7&d82;V!R&#x%uOuU$}l{zu44Xa4s|9{xBKIuACwhu&k{(2FRo$uhN_A7?*c8+cD{-e(i0>$mwUS-#X9 zmU*SYVZ-?O5z~uDu|+3rt+ro0yi;97V!~iaYH3MrS(7@xU(F&4wg$MMj?UKR>m>K2 zaRF_rd^}|?+SA!cHaJ6Lj0a3`Der35ho*OC>^QtZ^nt{RA~=vpY3+8F6`jx4cA5}q zd(tLkz}9N2-NKTd>GrXsB$1d9b42kbb3bhgX=4h8L{r*7QlFihoSBAH0_;Y^m!vmG zHjr+j;bm$jMb=11SK-eW>9eGTPL389%7O0M)D$^n{MjO1-zK`=!9@(#j@DcE&z8r# z7pBLCYNJ#2|7}`gam{PJP?Ectmw6}qR z_s~1+SLk=ocw+{~3*0QalK$ecH4|>Fp5+5^YHuEDLALX>|hUniueAh9(<32 z*Lv;IIoO~n*`>bE2S+^kmzT;xqTd0H;KMXl$+XcDu$CBObt%&ZA5~i0 z$h~*5qYCuScz}J3k18cn?02>PbF5O{v6|F*1N`BOLQ(~cB&%HPWnAo3efsG9u@zKo zvj4TVcOrP|pe@C;?&W+IU6?8tu;Hbt&Dlr|wYktzs28Jq6WOR5ZN8!_{*e%M;b0u?Rw{H|puIuD_ zTa=Np=y9duhSVyX72;mr*(o;6LX4#aFYKNHo-PGG3?mMPIDUe& z0mi{l!Z;X87zaZM<6tOZ91JClgQ0|RFqAM3h7!iXP{KGEN*D)23FBZWVH^x4jDsP= z?`5J}n8bmO5>B2V-7$=VV3JrQSo|_k1S^cdB=1O}`D?zII!D>y5h@T5hWAfGCP~?} z`UWbCF-a*;)R<4%d(!Asm~k~G>2BpJ`->2BvP_qL66QXK85e-^!SiiXO}xF~TB- zx#hL9Jk$_FR{ExHRWt7gLoUbQ6L*+(g-@KX0%_RKggVAfKX~{?Y z4a%4ECRQ-mz<#oi_Ed1;peCv4#6)_&q*co2?sgWPMh8YnIDN5c zu2j|A>TpD23k{}VlJ$UWySLXrgO||t&rtYl4#JIIrz{(jtXeRZTzfB*OE`y7*G1Sv zF|6U22wDJHo+V_s-8>Ey7e^-I5_T|M4mV{LE%}J1?qYHz!)JjmDxE!AhoJ={!TW*C zwk+MLf5_xWTpc&o_uoK>X*``>UBJ^1@z~oyNa&JuQ==|xH)RTNac#$3?BgyYG-|YV z{4pv=??${D;#Z9Qh=vYDp&Sh5PY6aE0KbI^dX!R5k**BN&!hD_&8Q?($QC=E1{+Cq zP_n!5)^3!qb|ZrcLp4&K=y1r8C!XRe;h|?k70B>B_Z^xz%3Cp=8ECOo2luD@jw}h} znfb@OpPDp!l%0$-9e#?cPMd`tqH2s*vmm_lxhWJ-+c$oOB-9+0lx%I=sCMF;nDop| zwPVNXW5?|vC%JIsgO`g&{1u<{p_c6H@9wXisB>%^yMIKtXJnN(@I_3v)vDp6rLV<$ z&P!#pnMu@(K|jj$*3;irJW#BhiQzH5H3j~T^er)B7{Tugcq=!k+|l1f`}Kj1v4Xil z%M|B5%4{3`FlkE3%6C=_na@j0f_-8L(Tck~_+uV?z9R_q9^aqz;7@pP6@*U@e?LMt z3<>|92Uj44)5G6C=D}BsQ9}JIJYC5RLRa!Zro*|Z4!S37VYaQ4Mgm(x{U6;9slDV zFcyYS)3D-w-VHB4!Fz^bz`}brCGmTPKS$Gm_wV=c8GgXw?{U+?_zd6e-oM&=&+rb{ zKE9cf@frRD_ny;k@Oy@5UHdp00l#PXjC;=)zw>*B-$Ld8Eo+IO%XRsT=qz)yn{#HM z(g$u6%Ap6;Ho&}xOu7_MTqe}_IMle`;W^5?cX_$8#=G$gJ+s%+lGIS8$L=h2iXD0O$MG=$%?hSTH!wl z>m3{H;;hNvj`i9yF~oMR5cPtden`s?D;%8wd?_tIhA-#BS$_)k>F-eC=nNkGm1aL# z_yjAQx}b2%reZZJyH=Rl$=PHhD>yo(t>By%g<9cw3R}V1-ik$ov*Zf*9*YF<*$xKL z1I{@Ziv%!VzY3xU%(-Mh#N$jB=q(JsK-1l8B_7BBvw2=%a z^%m&S8X5^aAfp>t{3o(0R(EbcQK?dbf)kZ|YGYO?vOL9mrx73K7ET~gAHoMlkw%Cz zO>>4=QU|)BW%>n-wlIu)X2J3phJgiTFq{$ayQBo->_M-jy3-V$C#f7fC@b7>oSlMF zp%tfZOYLz>u*aZU6%YPKE6qxy_#IWxvp0(Gg%D32oH|rsnem22f6Xc1?PNjhy@=q=<;x2{X`KN z*(4ed@-Gp|NviAf;41`GPVoYFhJkADhf_P+tX641?-Mo=Jx&S8bdx;4tCX2;PN15k zkNf-JC7g`9M5zdW!pb%Btk!v&u8)-vsh^~?0!HXp>Zgd@F&@82_0xM;Uai8ByIMLB zn-@N7z)}#kBfP8-{**&!PS$THM19(3j{mb#QNn8?2+ktzL4MEW!uO~kEIpQd?h($V z4~Z7g)~dF!SMpM!l zLms-n#w&`3++Lr&{V%D)G+oK0>os&GgWO9v&`|my68T78-2NMG(Bg7#R)yR*bIr8X z7%{0h4bw#OT5bvY#du%95*?x1NG%c){$mkjdAbY_*`x5u0H_gCkoQ%7|j6S-HP30u3^+blU)-XdEOby8+ zwqEHX!#i7@W6D@6UUMMh+k2R6x;uW*etS*w@0#|*)($?PjU3Vw180Uy#oT?8N0D-; z<9d|VIj9AaH#nU$W}0VxcqFpDe=M~l8&qIYonz(V+EI!UEDs$^EoYtDfo^9eg+mTa zBQ}rZY0L*N5#9c>-rdm(6D(Oy?YvHOa2p@(oMgj(R@)cz6h0~%kY{n!IIIm0l;N_G z-14llsuWqO867MXrz!EL37!Fy(Abv8;&A3vAE9tMPV~WIMU?!0%$y7;mHgmPOE?H| zS~?~A09x82;4g$tvllp-n9-vjj5Uqd^D1R58)8bd2aUGHbHZLA>h0%xO&2)s^{rGd zRstUUjRf5$<*T%l>9|UH)4F_1997mnr%SFHv@GdDtZPP-X0uw z2!odf8^D_h4-eQ3;4KDTL z+^s2fciz89-3LWy&S$MYx%W}@=}!qw%Lgo2XlJG7lzI!u9h}x@X%1bl7X9`x80p^) zK6V_YcaB`jO=i);7(kxvg2{8DICNr}evw zAWEV=3v-rh?g%Y$E!A+zw_q{s=hd@&XRJy;u; zaWfEkT);)Z*O?9^ai$GQ#wkW}?A#RLlJtz!;wKz>Tt}~6SJyFP8{JP)oeL*vf`8qh zCQf_P3FKL1wjuLFGxYhR!sT;^PnZ6?idrv0TSPeBZn6;_{z8c+pZdN zw*qzjGF>koVL2P(9eJ_4s{qIgip>Ub-Bn&ibv}Xj8kfwK1Vj+>_EtlS@V~ZfJu;c= zyxQk7;W+nFI#F$iPoAMoIPqR7X1o^N!#zVj)54Lw9f?D*1bAy^x;$bZ7Cdafu0GBZB zIdwNS=c(Br$4X;{*%EY$?u6=MagEfD_MJG9>Bg|}eT{OpLGlOaS@57SfDsUh2k=Uk zTIqbcw>b3iSg~wAXbNt&Sgx2%@OjZk^!W=O{9_M>j|m=ByN9c#bSVq-b)3zTwLwwl zFa(ItF#mAgkaVzv*9#UL$09vBRG;bOm0(QrEb^zUE}@%h3&T}&LdwK?AI*te(kIx8 zV3u^bUK_70j25P9b8|gicT*W@tNOie#&}h;L7G=J+unFpGmKRo-a;JK3AbiQL0)Z3 zE}}6;Z#ktG*T&{^t_^O^c(^u(|A>A!H0-^H8#Eq%zt(%tFu&(`SuUSpe$Vl<{GMTc z&+)YUo?(6uH)=fmo?(8^@wWV)VSW!cYl+V=zlYnke9thyZ}Z+W%kr(G6~da&dkx=mtmd$43{&?ql?36{JNFIt1lreOJ6 z!kaR;P7WQLtShpS{~(6Bzp zEG7TcAag~q6pbNYl{*bVk-@coCTM8E`(b+jXt2CFUa7g7J7{=9kjW}n#-L$YkZGi@ z4)z5NR|J{mP_xpNT0!PSu&jwhTX8@OGM@+Vj*Dx%VN+{C2REMw10g5`}`y z^W#PB3^J8qiy7mt`l(5ikmy8^d1d^|T|on}qUA>4Tqy(%m$~UAol($0W`pIUHu^5e zoEI!#PBl+a-oqgC+IUG<2bt$4^tCt0yealKa&@sSnsgC&;)OIIz7!OCW? zUJ5era0G2*mMtl~R8&ScT2p1qgUqVY;xsO2m^sn8FUWi(Xv8c{jtthuj_<8aP6wI) z74L3Gka>O3h}ACg3KFB92r>_;I;caL-;d*W1`U@x0>pG>{yk%Bb=Ni2h&FyRXap6A z@`HwTJm269$6QN8(_oN!bFdT>Jx1r+AhR>rvI>B6k_{Tp3o;F~^b5ff(kwV9<-*ML z#3a>rlo#xX8_>))H^`(2cWxd*rXyI6BB!WG%86JH8X67F8AVu-dB1CMFR`|Qcp&q%wxQ=h$74cHPBjJ z8C|;&WIi2iJqxksv#09gLBm-=W`%LsBYGlM@|0j%&N8~LR;P*z8qUSgkU}qLpbPA2 zkcMbI(G9R69@X&l2(K-~TVucO3K~|5uZbPp>lQn5D7n5qEBdL;{q%?!JVuP_T3z{-4%7 zx#P^&$L5)s+Z;#QsGY2hP0rJ1 zeu2R!BBImBveAl_LW-^vmHO;tZOZV%?fesG(+DzebiBo7H+4OEAZR2Sr(}P2=jxuV z-w|X^yY4xcwIDMUEX7x2mVvk_$ze+17;7f2ffmeJm?8WUEPXh*u#wEUg?&K-$%xBr z08Nm&+ZAM2u_@>%iD*lmh}L+7q6n5`0yq($MFcpBsEx+c=D#QL-v;xav6=CDW8M6E z4FBC%YYCpVLXTjZ7V%k zyEyoxdzaj_B-q$>?ct$;f!@RWiaouD>5IcX{e{CFot2J4VO#00pYffwLT)RK)Gl%5 zZAvVUB5BG!{grK{@7DGP?|CPhcH`lLw$4Lcoqd(Vl~VgP-P^afUqb)cK}Pz%fxk`Er|xJJUlo=qr0uNx7HnuKK6mzmIP1w z`HCa=2vg82YK7qB>t0GTbluNa5Xp(#N*}J3f=}G}6>83&pR*KqkJz@-tEgv>60!Z< zJ#*)e(pH+g^^=$U{Bwth4l_nGwey0;A3u{yTB`_@_}#YBOl?ze&gSn?*UwciN#yJ3 zFVF{%*0uyU*04g>s}I7gwcAQxqEB9H7E$aI>s-36^kP~`kNwRfHGd@)O3;~=dj~pb z8v3Z5&0jc&8mh}7-z@75vaPhVc4_bzchAx%o3|Y{G)o?wdxtyr77ycp;K@0%quScO zt@KnXY;FG=sAIY?gqaya+*bN3_5I(@VA^%xiMSBKv8`00rTx&&=(}FpY~b8hdc3wV zc+Sq3&=+|%I`jpp!?u+kp(<89{9CaqNLVWjm1$w^rGa_#L-;_m7@>FFRyszdTsQgI zSSfT7*if-Bw5@b0P4U@X=!u?UlDW`^^Mdd6ppE(^nUA)Weo74Rjc>pLiWneR9H?ho z>DOx;f(_rFqv2ksx<{xz1KUb(Wo2_0332e6OH)9yy7U{Q7paeu{1^m5;-0&a3V|we zDSd*EqLA!t@Fs%sK=}#f+}kW@U|2<<%MsGb2dF5RQ|R(WR}?E;GAdt3!BmOwP-qZH zdwPec;yShoaCky%+iprl3A+!_@ZfJ`+ip<~A$8V?n|+d`DI=njQK2{NvR}Wx%Hvg0Ehj$C6EpDC22lt6OzZ+qf3*nLd9)q16Eqaf@{wJORmvxpJ03(ofagyGj zcB0|!IV#ZCvgVr@pYd#IE5#LAOd~lJELn}LS9Y_8E6_)%*~v5CsAm2QciLD(*y8%S z7&e<-E`R`*g|p6bhWITeknoG0lJV3QYI+mcCK3S@XuusV zBn}hFl#7X+uAh@>+cpWcYoa3y%5Q;VgZJ;T}7`kfgH^a z*9PhLAzc9BmtiS~j2@htFUdba<{-JAcUSUHFfu9K4ctLV5WYzbNG9ELXk6?AItU|P z!j;yW9#5ZBu0ca=Mm4eIl&y5{Q0b!7YMTssp<+}!&jfE6SLZ%^M=A)+4zY{@eSv81 zSDAQ>)_0(b?o%k2KX2wIna|6y>f+S`J8Em0Vg}*Dl{`wD73G(hH<-+7#RHWc+uxOn z+M=R(u3=Q?1x(Vz`bAJBJ>3*`mh^t*F%lbSfm^XFsk3=?Z~b4g#}C=dPm-Kl>zzC? zIS-e3c&`ATN$b8a-gcdeqYAIP!P<&c&BF#gS=4=wm?})}s; z)FzL*en)AJ!ttgc2Y~HzmNxKZOU=9y;R8O+L9^o&Ps##vXdr zNdM4_o80;YcZ5KI2Way=?jfO-4ySf}vtqwvj2ceaj<=ahLncZmZ4DWGIo(>1(ZAan!w)a)-7_x)k&=x$U@AiT>eq==pA@g^;SOmnt_>xH?MkBRW^ z)pU~Sf1p? z7LvoRx1^%B1TxEAJBx*UyV&IPUL2*d-?E;C#bJ$@1LH7zyA=Dx9`b zSw)8xawM!8Hl6w`a+~xxT$XmCT}hQZK5v92$2_Pw&QGs?b1G_! z+JoAdA7I789kG;N=~5Nma5v8__!3#XAlMHXd|BB8A(8cHy?#ryFMt~n|6OF<8`wb7)jn4$H@!mh=!4G?|>>SGf z6@Re<1j>C8FLXZtwU*NLgEg9*+8}#-|M)btcnf9`&+&8Y92i5!E!?d z{4J!5*-%BYFuwFMh5)tn&@XFun!FnIw;H~ow-a6D5L8JUj zz4G)r-JtGILJre&)%RM32T2c-79P9qG9F*ccLI`=C8~ z-DJFVlTr7`;`?K^`C*{mK!qaE^fTnazRFA zNyhtEc3+%vuRzFO(+-uriZ@P`E)8jSc@wX3w4Fvu)@0 zzRHHw0#+!|XP%p217NpDsj?8Fhl6wcc-0h0;r=WhRuCmDE^VbZrdFO)YTCUVoJa2F z6ZM|9LUDGM&Ex68dAZ%fC1C!ZdS0S36G5*J%;6H62Ri0rnQkf5C&mf48mJ@QoyZLaNj?<5|b<|QU*ea@@(@sdvzY9xJ9Hu!iKz* z{$X6@z2m%*!>eGGT5Z3>*W1d1Sni{u>0ZU{w(sOi^xz{BK&Mt+Kah zt27e7nhV2Hw06tFA|5n3Wi{Qyvk7cSo&a1K}2|k155BIdxcC9tK7*qjy=?@9LqVaKzP&dEgJLAFU{(SZSsUke zOE<1GDg9C_V^g?IVHm+9Sib2FF!|uAqV9iY(PD0@czT{9uKLWhCb`|{>nl(2KpEP1 zF|AV$Icc3r*%7pVQncbFTo~=8SOf>ui%U2#qotxjvG|&yA^QElNEQy1JO1p$bF! zp;Xjnm18sj+=9kX(HwavmwMW3; z<+4IsN^57jkhF=kt@c5$ZdJ3_p6(X1NvYUFqb+4)8K_hXL%oZ6FP^6ca*Ai3Lj5Li zr{AaC7{=uwt+)A(YU_^ArcT@@C4+}Ithz8G&`fzK-PF5U85d@Ga~zvlK%!HeY4qWQ zrO)WX6b$Sz8#2f={YKZpxEGqvzgZFD)g(EVx`bb382XPzhDfRgx3OD0WIY#NN$3dj zhEqwJ%=dCZ5uh%4st!F=Y@XtsCy=Q4JEpKC(PD)%)y+z&2M2(irNxe;TSPk!hP=^u zeujB6;c1o38=C^TgRSKq3v9W6xDR*pcK&4DSvSuaPK()6y#pUg6V-4iB3;H601J))Y&Q84My@h4}QG|zrlka z@nB!2@<#9dn>_e!9_*`N-r>EMY!dB#)O-Km>8bNgo>y{<8^S$)=fwxs97mQAIbcu4 zgXR6R@^md{o@_5^qS(l4=?Ag0nPyfh26;E1+jVS8JAzZvMXuGVeYeYn2emwlFjL&pt)oFXZP18;eu;(+$Jsi^`Ufu(Yb<|CUOE0-i1_k@|w-78`^)w zd#pX_I&A|o!6joi1xM|am^oR;*kFEPQVQ!ijc~E}t}3mD;CoUV_+vhG8%KdKkq1^@ z+J^s5(HImbDfcW{9C2osI$_r$#YtT#ihGSHK6D*MUv2u9ueqX&S2S%9Ce)l;`WvPk7%?d+>}0%X1XUyTf}gC3?JH@ZLi{$7A_U#Dc<+;G>Z4yHkS$R@xFhS2TPqS@bCBDKj6XtRU5+#z4Bh< z!7ujUmwB+1hR|NQ4gvc%iC1~}Kg&iT*D=a_$isiwgMYPw+W}$v|DYJ3*T{X&2$;R^ zkFhS^W^>9sd4TzzyI9lg(XUBG#yy=;J5KZd4*rXiH)Y>JfJ>T$E$z`@z>>yq;oTBt zQO+UO3rB%)kx!`hJJEg&D7R0v@g=+;vUhCXK>tu_HnoQv)e$c|pp*POLQdkXSEeF1 z2Um$|i+oHo?#t63Peog$yg2UQ)|&l{?G#p2P73zcw(W`t^q;gkwkQt}BCqYlV2FYs zGGS>)h35FAb|IE0ZBiv;L&=hn403nev1z+GH^EIfS(I6!B>y{DE_H+7maZLXR`CU0 zEM_cBb}vj#kxQ=`$s596#797q;@A1aL8NHiu{oXa)vkoNy(+JqBCh5JfS9ACTHRp- z!103M87`GMe82R8B(H2(Xs$ef{DC(x?Uz%*T2SHD-mH9-3zAV7fw=b#si-++zA3R4 z(8Sb}>WA+jemu2+CZ)jNE9i>Tko~?J5X$9d+JA4D2R9o?=Nk;b5wW@+Wxc{weY#9# zKo@f9XlYrJ4@XW#^+bkjvgPW1;+Tu zGbrE>c=RQuop&(z8^vX&bg<4Ca!)#t=al(oC7D?vzL;!$@Uu^|A6_eJw}z&q!n45> z<#)Uk*&=6?)x>pF%$Zx1ZY@m2VB$%K2g$x<<4I4)Rv{O#M&&9V6slfVc<_(2bTfd~KUsfO}2Q-}<>I|zR~>O^ z(Azx1;@WU~+n*B79{O!L{X;`bNfX1%LsJsmv;NAd6{6qg9knMhzIL4PbQE?m)EdZjlIB_ zt$O;4%ZYeEG1iyvdSPQZMV5##&pWk#wy;%oWmrU{cN5GR*J-HZ&EH1 zD_9u8`O}))=vc7*g|6{&8*^53E-x@s(Y*Do(d&MYiM@zXm@RDiZTFx zF|`dX>a2Jjx1X#5J^kGS#M=AU$8dkR^hRnkjzi62^037n^I&Od!24e*+wA~ZM))gb z`>&MknjYTnt)F*z@VhOh%tbtGgpo7k;^MD@*gl?BBt!!H1bqa z1QKe3I|RYKLNWNT>T6ydI-%Z?n{4Q!$%oLk9po4K+!*I#k+emLIHRnBCqcHIQf^G7 z;;mAm&lIbXoW3-?|Hj=ro{A$ALIzQT2YHh=4Gp0xR|SAyu}ETOBt z`(thl;&yEvrin3-;Y+_8x-`Cw2Ov^jT_512+LjaZWk7g(LP zs(T@e**T4`>U%`}Aemt7s#yMOd2&tiiXlo5d2MRnHY?AS z5gtsVzc6mw2$)D7%x0CL@LG0FjFO_YZl|nh=ceMXP>$wzGF@4GiYh})S-SdU1yPHA zK$Um#dZHU9Ter7&3{^YIWjdsgpxzT}z{Q3szdF*ENEecwoZxwjj80H-LdnWJGGZgm z0nRCSFmmlY?&fSvQ)XP5EY6F#<8nRZG9&P~)pWXGEBexI3Ya(VeoD zJ16JIj*1cA#Tqc>!;W>5;{sub9CeJBP)^QL=kdm%mDQ$y)wq zrK#G*{k1U!?t(hzrQmj`HOf7d4c;Y23){ha1-y*=58=}}dmD;=iD?cfI=;V1H4h4u z&PO|m4M2vFmy7+084@%Nr6CZRCFqRO`aoh%9)hgeQ^%QI?4L!fuiX#ORDZ;Eu7nGC zUDYhOBm_fH7=u6!7Or z$BSXZ-G>h>GF)u}$L4*L`3fP%v7E~GT{QuZ{6Zp7_D_^*}ZOMzQZrPTwh2;fdvm+#V z!DhA8YN>^_(cO}5VQ9Ccwk#}5MvE7WgcFtkNr(evVX{ulzGWY>CyeShatmQ57x)%Z=BO*pU z#TypH`b=zltSuhv?CwZ6WVU>ts_@so%M>NcJ>EM+3>5sY?$JO{nSExM&m`;xm7>-= znu5iILK6G>x4Yawn z1$NvZ*lMHIZQNlkmei3{lDaJrbe?eD8s~GcRv2?0G;!yPv7&v~DY<$}09pD7TE zcbDO}UFgE|pG*UVWoc?h77!A#Ec2JOol7+ZZGR00BARuJ=HhgC9u}u*Xt>0lrgaDh z3qrMN7Vfek*Z*t=NR#<=GC4Z|C6qFPu6Y}qfG?9j`z;r?nSKTbCxqLKV+h-$!TooP zg9c`R=@#wTShF+$Eh9&a!&HU8qI0S6hB%GcKY5Q(`sL>cY%_H%O8;S*ZFc==k?&vH8s&`- zuj8|yzS)9Sd$Dfcf79PU72^S2A{z%9n$t%DC57u(1i~#BYV{;@B~r*|FJ*8}gVYmGwl;4M7Jwrn3*Acdl&O8n#|O1w z2U78$unN)s1x#p=>YNl;WRZvV*pd95GipBAT_$71wmqzo@1Xx%T$^j+b`%bO48%pH za3{Z*iH8_7-F)+vK(L7FG#WjdQK&DOjqTn;3VLez96bgo5eQu+PA|I{nπDeaXN>yB$z5IPrFzhQ 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 z

    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


    ->6JMGy_J7zp@CLEj2bq}YOjuwc5DjNvuR5VS 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

    59sOyh`K3N<9;p4 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 G@BaaIM`+ss literal 0 HcmV?d00001 diff --git a/output/MCUCore_Load.ORC b/output/MCUCore_Load.ORC new file mode 100644 index 0000000..9e46527 --- /dev/null +++ b/output/MCUCore_Load.ORC @@ -0,0 +1,118 @@ +F7FF AFEADCDIS +F7FF AFEADCEN +F7FF AFECADCDIS +F7FF AFECADCEN +F7FF AFECHGERCHECKDIS +F7FF AFECHGERCHECKEN +F7FF AFECLRFLG +F7FF AFEENTERPD +F7FF AFEGETTEMPE +F7FF AFEGETVOL +F7FF AFEINIT +F7FF AFELOADCHECKDIS +F7FF AFELOADCHECKEN +F7FF AFERAMCHECK +F7FF AFERDFLG +F7FF AFERDSTATUS +F7FF AFETEMPADCDIS +F7FF AFETEMPADCEN +F300 AFETWICHECK +F7FF AFEWDTDIS +F7FF AFEWDTEN +F7FF BALPROCESS +E301 CALICURZERO +F7FF CALIRTCTIME +F7FF CHGERCHECK +F300 CTOCHECKVOL +F300 CTOTURNONCHECK +F7FF E2PROMBKBOOT +F7FF E2PROMINIT +F300 E2PROMTWICHECK +FFBF GASGAUGEVARIN +FF8F GASGAUGEVAROUT +C000 INITGPIO +E000 INITIRQ +F797 INITVAR +F301 INTERRUPTINT4 +F300 INTERRUPTTIMER3 +F300 INTERRUPTTIMER3APP +E300 INTERRUPTUART0 +F38F INTERRUPTUART0APPTX +F000 KEYSCAN +F300 LEDAUTOOFF +F303 LEDDISPLAY +F7FF LOADCHECK +F301 LOWPOWERCHECK +F7FF LOWPOWERPROCESS +F7BF MCUFLASHPROCESS +F300 MCUFLASHWRWAITCHECK +C000 MCUINTOIDLE +C000 MCUINTOPD +F7FF MOSCTRL +C000 MOSSTATUSCHECK +F78F PORPROTECTOTC +F78F PORPROTECTOTD +F782 PORPROTECTOV +F78F PORPROTECTUTC +F78F PORPROTECTUTD +F782 PORPROTECTUV +F7FF PROTECTOCRECOVER +F7AF PROTECTOTC +F7AF PROTECTOTD +F7FF PROTECTOV +F7AF PROTECTUTC +F7AF PROTECTUTD +F78B PROTECTUV +F300 RAMCHECKPROCESS +F300 RTCTWICHECK +FFBF SYSPARAINIT +F7FF SYSTEMINTOPD +F7FF SYSTEMINTOSLEEP +E000 TWIINIT +F375 UART0CALICUROFFSET +F377 UART0CALIRTC +F377 UART0CALITS1 +F377 UART0CALITS2 +F377 UART0CALIVOLTAGE +F300 UART0CHECK +E300 UART0HANDSHAKE +F7BF UART0IAPCHECKHANDSHAKE +F3FF UART0RDCMDPROCESS +F7FF UART0RDE2PROM +F375 UART0READSUBCLASSID +F375 UART0WRITEMANUFACTURE +F7FF UART1RDE2PROM +F7FF UART2RDE2PROM +F7FF WAKEUPPROCESS +F7FF _AFEALARMDIS +F7FF _AFEALARMEN +F7FF _AFEBALCTL +F7FF _AFEMOSCTL +F7FF _AFEREADREG +F7FF _AFEWRITEREG +F365 _CRC8CAL +F03E _DELAY1MS +F7FF _E2PROMREAD +F7FF _E2PROMWRITE +F7CF _GETCYCLEGAIN +F301 _INTERRUPTINT4APP +F001 _LEDGETDISNUM +F301 _MCUCLOCKSET +F31C _MCUFLASHBLANKCHECK +F303 _MCUFLASHCHECKFLG +F7AF _MCUFLASHDATACHECK +F307 _MCUFLASHREAD +F7BF _MCUFLASHWRITE +F035 _MCUFLASHWRONEBYTE +F33F _MCUFLASHWRSECTOR +F78D _MEMORYCOPY +F781 _MEMORYSET +C000 _PUTCHAR +F7FF _RTCMODIFYTIME +F7FF _RTCREAD +F7FF _RTCWRITE +F00C _TWICHECKSTATUS +F7FF _TWIREAD +F7FF _TWIWRITE +F37F _UART0READINFO +F7FF _UART0WRITEINFO diff --git a/output/MCUCore_Load.build_log.htm b/output/MCUCore_Load.build_log.htm new file mode 100644 index 0000000..1929aa6 --- /dev/null +++ b/output/MCUCore_Load.build_log.htm @@ -0,0 +1,66 @@ + + +

    +

    Vision Build Log

    +

    Tool Versions:

    +IDE-Version: Vision V5.22.0.0 +Copyright (C) 2016 ARM Ltd and ARM Germany GmbH. All rights reserved. +License Information: yang Microsoft, Microsoft, LIC=58E4T-RQU60-GVC1T-RJBYK-PG19C-5N7J7 + +Tool Versions: +Toolchain: PK51 Prof. Developers Kit Version: 9.01 +Toolchain Path: C:\Keil_v5\C51\BIN +C Compiler: C51.exe V9.01 +Assembler: A51.exe V8.02 +Linker/Locator: BL51.exe V6.22 +Library Manager: LIB51.exe V4.24 +Hex Converter: OH51.exe V2.6 +CPU DLL: S8051.DLL V3.72 +Dialog DLL: DP51.DLL V2.59 +Target DLL: SH51A.dll V1.0.0.0 +Dialog DLL: TP51.DLL V2.58 + +

    Project:

    +C:\Users\wenhua.wang\Desktop\demo&user guideŻ\SH39F003&F004_DemoCode_V2.15_20231213\SH39F003&F004_DemoCode_V2.15_20231222\SH39F003&F004_DemoCode_V2.15_20231213\MCUCore.uvproj +Project File Date: 12/22/2023 + +

    Output:

    +Rebuild target 'McuFlash_Load' +compiling Main.c... +compiling Initial.c... +compiling InterruptApp.c... +compiling Led.c... +compiling KeyApp.c... +compiling LowPower.c... +compiling UartApp.c... +compiling Memory.c... +compiling AFE.c... +compiling Balance.c... +compiling Calculate.c... +compiling Calibrate.c... +compiling ChargerLoad.c... +compiling ExtE2PRom.c... +compiling Interrupt.c... +compiling KeyScan.c... +compiling McuFlash.c... +compiling McuLib.c... +compiling MosCtrl.c... +compiling PorSelfTest.c... +compiling Protect.c... +compiling RTC.c... +compiling TWI.c... +compiling Uart.c... +compiling Thermistor.c... +compiling TwiIO.c... +assembling STARTUP.A51... +compiling GasGaugeInter_V4_13.c... +compiling BootApp.c... +compiling BootIAP.c... +linking... +Program Size: data=151.4 xdata=1528 code=29687 +creating hex file from ".\output\MCUCore_Load"... +".\output\MCUCore_Load" - 0 Error(s), 0 Warning(s). +Build Time Elapsed: 00:00:04 +
    + + diff --git a/output/MCUCore_Load.hex b/output/MCUCore_Load.hex new file mode 100644 index 0000000..a01a66c --- /dev/null +++ b/output/MCUCore_Load.hex @@ -0,0 +1,2217 @@ +:105C500053797374656D436C6F636B3A20384D48AC +:105C60007A000D0A00424154303A252E3266206DEA +:105C7000560D0A00424154313A252E3266206D56A7 +:105C80000D0A00424154323A252E3266206D560DDF +:105C90000A00424154333A252E3266206D560D0AD1 +:105CA00000424154343A252E3266206D560D0A00CA +:105CB000544F54414C3A252E3266206D560D0A0041 +:105CC00054454D50303A252E326620430D0A00547B +:105CD000454D50312E303A252E326620430D0A00B4 +:105CE00054454D50312E313A252E326620430D0A4F +:015CF00000B3 +:0E7F5100C29CD2A08F993099FDC2A0C2992285 +:1030A6001270A27BFF7A5C7950122C8E30702053FE +:1030B600B1F8C270127E00127F77127C9312787B71 +:1030C6001270541272F8127ABF126410127DEC203C +:1030D6006F0302336FB2A47BFF7A5C7962122C8E87 +:1030E600900285E0FCA3E0FDE4121F1D7B007A80C0 +:1030F600796D7845121D72C004C005C006C00790E0 +:1031060000BFE0FCA3E0FDE4121F1DA804A905AA68 +:1031160006AB07D007D006D005D004121E7B90025E +:10312600BA1224847BFF7A5C7965122C8E90028712 +:10313600E0FCA3E0FDE4121F1D7B007A80796D7828 +:1031460045121D72C004C005C006C0079000BFE04E +:10315600FCA3E0FDE4121F1DA804A905AA06AB07FF +:10316600D007D006D005D004121E7B9002BA1224D6 +:10317600847BFF7A5C7974122C8E900289E0FCA322 +:10318600E0FDE4121F1D7B007A80796D7845121DE3 +:1031960072C004C005C006C0079000BFE0FCA3E0F3 +:1031A600FDE4121F1DA804A905AA06AB07D007D087 +:1031B60006D005D004121E7B9002BA1224847BFF2F +:1031C6007A5C7983122C8E90028BE0FCA3E0FDE4FE +:1031D600121F1D7B007A80796D7845121D72C0041E +:1031E600C005C006C0079000BFE0FCA3E0FDE412E6 +:1031F6001F1DA804A905AA06AB07D007D006D0054F +:10320600D004121E7B9002BA1224847BFF7A5C796A +:1032160092122C8E90028DE0FCA3E0FDE4121F1D9D +:103226007B007A80796D7845121D72C004C005C096 +:1032360006C0079000BFE0FCA3E0FDE4121F1DA836 +:1032460004A905AA06AB07D007D006D005D00412FC +:103256001E7B9002BA1224847BFF7A5C79A1122C21 +:103266008E900289E0FEA3E0FF900288E02FFF9097 +:103276000287E03EFE90028CE02FFF90028BE03E3C +:10328600FE90028EE02FFD90028DE03EFCE4121FC0 +:103296001D7B007A80796D7845121D72C004C005C9 +:1032A600C006C0079000BFE0FCA3E0FDE4121F1DAE +:1032B600A804A905AA06AB07D007D006D005D004F6 +:1032C600121E7B9002BA1224847BFF7A5C79B012BC +:1032D6002C8E7BFF7A5C7962122C8E90029DE0FC2C +:1032E600A3E0FDE4121F1DE4FBFA79887841121D64 +:1032F60072E4FBFA79C87842121E7BE4FBFA7987FE +:1033060078C3121C819002BA1224847BFF7A5C79FE +:10331600C0122C8E900299E0FCA3E0FDE4121F1D62 +:103326009002BA1224847BFF7A5C79CF122C8E909D +:10333600029BE0FCA3E0FDE4121F1D9002BA1224DA +:10334600847BFF7A5C79E0122C8EC26F12255912AB +:10335600691F127D62127CEF127D0C1268564003C3 +:10336600125CF1127DD71250D7127AEC127D291217 +:103376006EC912526E125905900206E524F0A3E5B5 +:0E33860025F0A3E522F0A3E523F00230B222E9 +:107646009005367401F07E027F3C7B40E4FD127BA0 +:10765600437E027F0A7B14E4127B43900224740A61 +:10766600F0A374ABF0A3740AF0A374ABF0C22CC2FF +:107676002D9003FF7402F0D22ED27E90027C7450BD +:02768600F022F0 +:105CF1007FFE7E01127B6D501F7B007A02E4FDFC6A +:105D0100FFFE126A9F7FFE7E03127B6D402CE4FD35 +:105D1100FF7E02125EC580227FFE7E03127B6D50E4 +:105D2100167B007A02E4FDFCFF7E02126A9FE4FD0D +:105D3100FFFE125EC58003D27122900000E0F520C3 +:105D4100A3E0F521900238E520F0A3E521F09000D1 +:105D51001A12241E90022C122484900022E0FFA328 +:105D6100E0900236CFF0A3EFF0E52154072403F5CC +:105D71001364056005E513B40A04E4F51422E51380 +:105D810064046005E513B409047514012275140255 +:015D910022EF +:107CD100C2AFD2ACC086758640C28FD086D2AD43CA +:0E7CE100BA6043E840E4F5D843A908D2AF22C8 +:107B18007580F075E18F75E9C075908075E27F75A5 +:107B2800EA8075A04675E3BB75EB4675B01875E439 +:0B7B3800E675EC184380C043E9802292 +:1070A200E4FF127C51127B18125CF11276467D05C8 +:1070B2007C007F44127A8F126980127DAB7D647FDF +:1070C200A07E0F12631212618A1261034002D25D26 +:1070D2001278043007121263934002D2397E047F81 +:0C70E20097125FEA4002D27B127CD122A0 +:10102E00EFB4200E206603306919E4FF127C51D212 +:10103E006822EFB4400D206603306907E4FF127C8E +:04104E0051D26822F1 +:107C2D00D26E90049FE004F0C3940A4004E4F0D2B5 +:107C3D007090049EE004F0C394C84004E4F0D26F49 +:047C4D00125BAE22F6 +:10774900D3EF9450EE940040037F0522D3EF943C8D +:10775900EE940040037F0422D3EF9428EE94004076 +:10776900037F0322D3EF9414EE940040037F022297 +:0F777900D3EF9400EE940040037F01227F0022A3 +:107E140030740F9003FEE004F0C394644004E4F073 +:037E2400C2742203 +:106B5B00302A149003FCE004F0C3940A400BE4F0D9 +:106B6B00A2B5B392B58002C2B530750D9003FDE0AE +:106B7B0004F0C394054002E4F030742C900234E02E +:106B8B00FEA3E0FF127749EF6401601CEFB402042F +:106B9B00D2A18014EFB40306D2A1D2A2800AEFB423 +:0B6BAB000406D2A1D2A2D2A3127E14D5 +:016BB60022BC +:1067F000C22CC22DC22E302B569003FFE07018041D +:10680000F0D22D900089E0FEA3E0FF90008CE0FD27 +:1068100012631243B701229003FFE0B40116740221 +:10682000F0D22E900089E0FEA3E0FF7D6412631297 +:1068300043B70122E49003FFF0D22C900089E0FEE0 +:10684000A3E0FF90008BE0FD12631243B70122C268 +:066850002CC22DC22E2215 +:107A5F00307D2CC27DE50824FE600F24F1601614E2 +:107A6F006010241170191267F022D274E49003FE93 +:107A7F00F022D26622B275307503C28322D28322DE +:1076C90030683CC268306924E4FF127C51D2AFC2F1 +:1076D90069E490053CF07F011273D1D2ACD2ADD2EE +:1076E900CE7F70127D94127EE5127E73E490053C84 +:1076F900F0A3F09003F4F09003F5F09003F6F02274 +:107F0B0053B1F8C2AFD283E4FF127DC2127BBB80A8 +:027F1B00EF2253 +:1078ED00D283C275127E86127EF87F70127F2FC2F0 +:1078FD00CE53B77E302904D2A58002C2A57F0112D6 +:10790D0073D1C2AFC2ACC2ADE4F5D87F80127C5149 +:06791D00D2AF127F6B22C5 +:105F5C0030670E204306204403304505C267D266E5 +:105F6C002230161490002AE0FF90053DE004F0C3A7 +:105F7C009F406AEFF0D2662220745B202A50202BBF +:105F8C004D30191490002AE0FF90053DE004F0C359 +:105F9C009F404AEFF0D26622E490053DF0A21272C7 +:105FAC00107218721A721172137219721B721C729F +:105FBC00157275401390002AE0FF90053CE004F048 +:105FCC009F401AEFF0D26922E490053CF022E49055 +:0E5FDC00053CF0A3F022E490053CF0A3F02277 +:10770900206926206623C2AFA27C727D72727268DC +:10771900724C7270726F400D90053EE06412600504 +:10772900D2AF127F5FD2AF801330660AD272125283 +:107739006E127F0B80063069031278ED1276C9222A +:10734100000000300062007400000089008E009986 +:1073510000A200AA00BB00BF00FE00000000000068 +:10736100000000000020005000820094000000A9ED +:1073710000AE00B900C200CA00DB00DF011E000040 +:08738100000000000000000004 +:107F1D00900402E07006C29C75995A22C29C759914 +:027F2D00FF2231 +:086486009005EEEEF0A3EFF02B +:10648E007B017A047900900402E02403FD127D461C +:10649E00900402E02403F582E43404F583E06F7087 +:1064AE0041FF900402E0FEEFC39E502953B1F874F1 +:1064BE00032FF582E43404F583E0FE9005EEE0FC54 +:1064CE00A3E0F5828C83EEF09005EEE475F00112F8 +:1064DE0022480F80CDD273E49005FAF0C29C7599D4 +:0764EE005A22C29C7599FFC0 +:0164F5002284 +:1068BC00900402E0D3948C4002E4F0E4FD900402D6 +:1068CC00E0FCEDC39C501D53B1F88F828E83E0FB2E +:1068DC0074032DF582E43404F583EBF00FBF000153 +:1068EC000E0D80D97B017A047900EC2403FD127D16 +:1068FC0046900402E02403F582E43404F583EFF0BF +:10690C00C29C9003F7E02400F582E43404F583E0A4 +:02691C00F599EB +:01691E002256 +:1074EF007B017A047900900402E02403FD127D46AB +:1074FF00900402E02403F582E43404F583E0B50739 +:10750F001E900404E0FFB4410890053E7412F08011 +:10751F0006EFB40502D267C243C29C75995A22C2C4 +:05752F009C7599FF228C +:1078B6007B017A047900900402E02403FD127D46E0 +:1078C600900402E02403F582E43404F583E0B5076E +:1078D60010900403E09003EFF0C243C29C75995ADE +:0778E60022C29C7599FF22EC +:1046AE00900401E0FF12250647020147020247026D +:1046BE00034702044702054702064702074702085E +:1046CE0047020947020A47130B47230C472B0D4796 +:1046DE00330E473B0F471B10474311474B124753AF +:1046EE0013475B14476315476B16477317477B18C1 +:1046FE0000004783EF25E02408F582E43402AF8200 +:10470E00FE1268BC227E027F1E1268BC227E027FD1 +:10471E00201268BC227E027F241268BC227E027F99 +:10472E00261268BC227E027F281268BC227E027F7F +:10473E002A1268BC227E027F2C1268BC227E027F67 +:10474E00301268BC227E027F341268BC227E027F49 +:10475E00361268BC227E027F061268BC227E027F61 +:10476E00081268BC227E027F381268BC227E027F4D +:10477E003A1268BC22900402E0C394804009D23AF7 +:10478E009003DF7401F022900401E0B478109003DE +:10479E00EFE0B40C09D23A9003EC7401F0229004CD +:1047AE0001E0B478229003EFE025E02441F582E4A5 +:1047BE003473F583E493FE740193FF9005F0EEF0ED +:1047CE00A3EFF01268BC22900401E0B479219003AB +:1047DE00EFE025E02465F582E43473F583E493FE7F +:0F47EE00740193FF9005F0EEF0A3EFF01268BC9A +:0147FD002299 +:106E26007B017A047900900402E02403FD127D467A +:106E3600900402E02403F582E43404F583E06F70E5 +:106E46002B900403E0FEA3E0FDEEEDFF9005DFEEE0 +:106E5600F0A3EFF04E7006C29C7599FF22D27C908B +:106E660005DAE04401F0C29C75995A22C29C7599D4 +:026E7600FF22F9 +:10532F007B017A047900900402E02403FD127D468C +:10533F00900402E02403F582E43404F583E06F6007 +:10534F00030253E6900404E0FFE4FCFDFE78101224 +:10535F0023FFC004C005C006C007900403E0FFE4AC +:10536F00FCFDFE78181223FFD003D002D001D0002D +:10537F00122396C004C005C006C007900405E0FFC5 +:10538F00E4FCFDFE78081223FFD003D002D001D039 +:10539F0000122396A804A905AA06AB07A3E0FFE411 +:1053AF00FCFDFE1223969005D61224849002A1E0F4 +:1053BF007002A3E0600C9005D612241EEC4D4E4FE8 +:1053CF007006C29C7599FF22D27C9005DAE04410DA +:0D53DF00F0C29C75995A22C29C7599FF225C +:107923007B017A047900900402E02403FD127D4672 +:10793300900402E02403F582E43404F583E0B50700 +:107943000FD27C9005DAE04420F0C29C75995A224C +:06795300C29C7599FF22A1 +:107266007B017A047900900402E02403FD127D4636 +:10727600900402E02403F582E43404F583E06F70A1 +:1072860022D27C900403E0FEA3E0FDEEEDFF900524 +:10729600DBEEF0A3EFF09005DAE04404F0C29C7553 +:0972A600995A22C29C7599FF223D +:1072AF007B017A047900900402E02403FD127D46ED +:1072BF00900402E02403F582E43404F583E06F7058 +:1072CF0022D27C900403E0FEA3E0FDEEEDFF9005DB +:1072DF00DDEEF0A3EFF09005DAE04408F0C29C7504 +:0972EF00995A22C29C7599FF22F4 +:106DD2007B017A047900900402E02403FD127D46CF +:106DE200900402E02403F582E43404F583E06F703A +:106DF2002DFF74032FF582E43404F583E0FE74E181 +:106E02002FF582E43405F583EEF00FEFB407E3D2F9 +:106E12007C9005DAE04480F0C29C75995A22C29CAB +:036E22007599FF60 +:016E2500224A +:105B0700900401E01225065B33185B37775B537807 +:105B17005B75795B3FA05B47A15B4BA25B3BA35BDC +:105B270043A45B4FAF5B97B000005BAD1274EF22ED +:105B37001278B62212532F22126E262212792322AE +:105B4700127266221272AF22126DD2229003EFE018 +:105B570025E02441F582E43473F583E493FE740170 +:105B670093FF9005F2EEF0A3EFF012648622900304 +:105B7700EFE025E02465F582E43473F583E493FED2 +:105B8700740193FF9005F2EEF0A3EFF01264862202 +:105B9700900403E0B4550AD23AD238C29C75995A98 +:065BA70022C29C7599FF6B +:015BAD0022D5 +:10454700E49005F4F0A3F09003F7E0FFB4021A90AB +:104557000401E064A56006E49003F7F022E4900309 +:10456700FAF0A3F09003F0F022900402E0FD7C0043 +:104577002409FBEC33FA7E00C3EF9BEA6480F874EE +:104587008098505FED2407FDEC33FCD3EF9DEC647E +:1045970080F874809850189003F7E024FFF582E4C0 +:1045A7003403F583E0FF9003FAEE8FF01222489070 +:1045B70003F7E0FFB40511900404E06407700302F9 +:1045C70046ADE49003F7F022EF640660030246ADC0 +:1045D700900405E0640670030246AD9003F0E044E2 +:1045E70020F022E49003F7F0900402E0FD2408F5A0 +:1045F70082E43404F583E0FE74072DF582E4340485 +:10460700F583E07C002400FFEC3EFE9003FAE06EA9 +:104617007003A3E06F60079003F0E04480F090031D +:10462700F0E0FF6006900406F08007D24CE49004A7 +:1046370006F0E4900402F0900405740BF090040374 +:10464700E0FFA3E0900403F0A3EFF07F02900402E1 +:10465700E0FE2407FDE433FCEFC39DEC6480F874AF +:104667008098501874002FF582E43404F583E0FD38 +:104677009005F4E48DF01222480F80D19005F4E004 +:10468700FCA3E0FF74072EF582E43404F583EFF012 +:10469700ECFF900402E02408F582E43404F583EF8C +:0646A700F0C29C75995A57 +:0146AD0022EA +:105E2E009003F7E02400F582E43404F583EFF0905C +:105E3E0003F7E004F0E0C3948C4002E4F09003F723 +:105E4E00E064017027900400E0FF54FEB59A10EF55 +:105E5E0020E006D246C2498013D249C246800D9038 +:105E6E000400E0645A6005E49003F7F030460D90AC +:105E7E0003F7E0640370301246AE802B3049259054 +:105E8E000402E02403FFE433FE9003F7E0D39FEE19 +:105E9E006480F8748098400F125B07C249E4900347 +:105EAE00F7F08003124547C243E490053CF090059D +:075EBE003DF09003F4F02217 +:1059B100900400E0B45A06A3E064A56003304C44AF +:1059C100900402E02408FFE433FE9003F7E0C39F54 +:1059D100EE6480F87480984014D29CE4F0C2469042 +:1059E1000400F0A3F0A3F0A3F0D24380609003F78A +:1059F100E004F0C29CE02400F582E43404F583E085 +:105A0100F59980499003F7E0FF6016900402E024C5 +:105A110003FDE433FCC3EF9DEC6480F8748098408F +:105A210017D29CE49003F7F0C246900400F0A3F073 +:105A3100A3F0A3F0D24380159003F7E004F0C29CD9 +:105A4100E02400F582E43404F583E0F599E490055F +:0B5A51003CF090053DF09003F4F022C3 +:107DEC009003F4E004F0C394044008E4F09003F72B +:047DFC00F0D29C2203 +:107D6200305F119002B1E004F0C39405400BD25D84 +:0A7D72007405F022E49002B1F02243 +:0E5A5C009002BEEFF0A3EDF0A3EAF0A3EBF092 +:105A6A00C24EE4A3F0305D03025AFFA3F09002BFD6 +:105A7A00E0FF9002C3E0C39F507B9002C2E0FF04A4 +:105A8A00F0EFC39405503E9002BEE0FD7C00900208 +:105A9A00F77401F0A3F09002C0E0FFA3E09002F9CE +:105AAA00CFF0A3EFF0E4FB7F361247FE924E304E62 +:105ABA0004801280C5E4F5C87F011273D1127DAB50 +:105ACA001273D180B59002C2E0C3940540048025C8 +:105ADA008015E49002C2F09002BEE004F09002C089 +:105AEA00E475F0011222487F011273D19002C3E0DB +:0C5AFA0004F0025A77A24EB3925FA24E55 +:015B0600227C +:0E671C009002C1EFF0A3EDF0A3EAF0A3EBF0C2 +:10672A00C24EE4A3F0205D4D9002C5E0FF04F0EFF5 +:10673A00C3940550409002C1E0FD7C00A3E09002A2 +:10674A00EDF0A37401F09002C3E0FFA3E09002EF22 +:10675A00CFF0A3EFF0E4FB7F36123D83924E304E2A +:10676A0004801280C3E4F5C87F011273D1127DAB95 +:0C677A001273D180B3A24EB3925FA24E06 +:0167860022F0 +:107804007A027BA37D02E4FF12671C502E9002A330 +:10781400E07004A3E060249002A7E04480F07A02C0 +:107824007BA77D017F04125A5C9002A7E0547FF08D +:0C7834007A027BA77D017F04125A5C22BF +:10618A00E49002A6F0A37450F0E4A3F0A374F8F02C +:10619A00E4A3F0A3F0A37470F0A37401F0A3740352 +:1061AA00F0A374FFF0E4A3F03000199002A7E044D2 +:1061BA0008F09002ACE0FF9000BBE0540FFEEF4EF7 +:1061CA009002ACF030013E9002A7E04404F0900245 +:1061DA00ADE0FF9000BBE054F0FEEF4E9002ADF050 +:1061EA009000BCE0FEA3E0FF7C007D3212252CE487 +:1061FA007B257A01F9F8122304AD07AC06EC90026C +:05620A00AEF0A3EFF06F +:01620F00226C +:10610300D24D9002BD7403F09002BDE0FF14F0EF96 +:1061130060727A027BA67D0B7F03125A5C505C90FF +:1061230002BC7403F09002BCE0FFD3940B504E7A90 +:10613300027BBA7D0212671C9002BCE0FF7E007BEB +:106143000124A3F9EE3402FA122189FD9002BAE088 +:10615300B5051374A42FF9EE3402FA122189FF90C6 +:1061630002BBE06F600C9002BCE064076004C24DA8 +:10617300800B9002BCE02402F080AAC24D304D880F +:0661830080028084A24DA1 +:0161890022F3 +:1077C7007A027BA37D02E4FF12671C502F9002A46C +:1077D700E0FF30E102D25CEF30E002D25E9002A31C +:1077E700E0FF30E307206B04D215D26DEF30E202E1 +:0D77F700D2149002A4E030E20312610322DC +:107D7C007A027BB77D027F0212671C500A9002B711 +:077D8C00E09002A5F0F526CE +:017D930022CD +:10691F009002B97403F09002B9E0FFD3940B50507A +:10692F007A027BB77D0212671C9002B9E0FF7E00EE +:10693F007B0124A3F9EE3402FA122189FD9002B7EC +:10694F00E0B5051374A42FF9EE3402FA122189FF72 +:10695F009002B8E06F60109002B9E064076008120F +:10696F006103400CD266229002B9E02402F080A6A7 +:01697F0022F5 +:107BBB009002B07433F07A027BB07D017F0D125AC4 +:107BCB005C50129002A7E04420F07A027BA77D0163 +:067BDB007F04125A5C2237 +:107DC2009002A8E054FCF04FF07A027BA87D017F7C +:057DD20005125A5C22BD +:107E27009002A7E04401F07A027BA77D017F04124C +:037E37005A5C2270 +:107E3A009002A7E054FEF07A027BA77D017F04122C +:037E4A005A5C225D +:107E4D009002A7E04402F07A027BA77D017F041225 +:037E5D005A5C224A +:107E60009002A7E054FDF07A027BA77D017F041207 +:037E70005A5C2237 +:107788009002B9EEF0A3EFF09002B9E0FEA3E07822 +:1077980005CEC313CE13D8F99002AAF07A027BAAB9 +:1077A8007D017F07125A5C50159002B9E0A3E09062 +:0F77B80002ABF07A027BAB7D017F08125A5C2294 +:107E73009002A7E04410F07A027BA77D017F0412F1 +:037E83005A5C2224 +:107E86009002A7E054EFF07A027BA77D017F0412EF +:037E96005A5C2211 +:107E99009002A9E044F8F07A027BA97D017F0612DD +:037EA9005A5C22FE +:107EAC009002A9E05407F07A027BA97D017F0612AB +:037EBC005A5C22EB +:107EBF009002A9E044E0F07A027BA97D017F0612CF +:037ECF005A5C22D8 +:107ED2009002A9E0541FF07A027BA97D017F06126D +:037EE2005A5C22C5 +:107EE5009002A9E04408F07A027BA97D017F061281 +:037EF5005A5C22B2 +:107EF8009002A9E054F7F07A027BA97D017F06126F +:037F08005A5C229E +:107F2F009002A6E04FF07A027BA67D017F03125AE2 +:027F3F005C22C2 +:107D94009002A6E0FEEFF4FFEE5FF07A027BA67D90 +:077DA400017F03125A5C226B +:10494500306103024A88306203024A882003030269 +:104955004A88E490053AF0A3F0C3900063E095120D +:10496500900062E09511500330181ED3900065E069 +:104975009512900064E09511400320180C20100951 +:10498500201206201103301308C263E4900539F0A4 +:1049950022C39000A3E095129000A2E09511400378 +:1049A500024A81C3E5129510FFE511950FFED390DC +:1049B50000A5E09F9000A4E09E4003024A8190007C +:1049C500A6E0FEA3E0FFEE3395E0FDFC9002201289 +:1049D5002437C31223B15003024A81206306900590 +:1049E50039E004F09000A8E075F00AA4FF900539BD +:1049F500E0C39FE5F06480F87480985003024A880C +:104A0500AD14E5142513FFE433FEEDC39FEE64807A +:104A1500F87480985063ED25E0240AF582E43402A9 +:104A2500F583E0FEA3E0C39510FFEE950FFED3904E +:104A350000A5E09F9000A4E09E503BED25E0240AF0 +:104A4500F582E43402F583E0FEA3E0FF9000A2E0E6 +:104A5500FAA3E0FBC3EF9BEE9A401B74017E00A80E +:104A650005088005C333CE33CED8F9FF90053AE06B +:104A75004EF0A3E04FF00D8089D26322C263E4902B +:034A85000539F000 +:014A8800220B +:10795900C24D30052D20162A306527C39002B4E0A8 +:1079690094B49002B3E094005011D24D900538E0E0 +:1079790004F0C3940A400BD2168007C265E490054F +:0479890038F0A24DE3 +:01798D0022D7 +:10579800C3E5129510FFE511950FFEC3EF94B0EE27 +:1057A8009404500AE5129464E51194055002D265F8 +:1057B800900536E024FE605514605914606A146040 +:1057C8007C2404600302585120620330637B3064F8 +:1057D8001590053AE05455FFA3E054559002B7CF11 +:1057E800F0A3EFF0801390053AE054AAFFA3E05429 +:1057F800AA9002B7CFF0A3EFF09002B7E0FEA3E0C3 +:10580800FF1277889005367402F0D261229005362F +:105818007403F0221279594030E4FFFE1277889021 +:1058280005367404F0B2642212795940079005369F +:105838007405F0229005367401F0B26422900536A2 +:095848007401F0C262C263C26186 +:015851002234 +:107BE10030052220161F900537E004F0C3942D4084 +:107BF10014742DF020610EE4F0D26290053A740302 +:067C0100F0A374FFF02265 +:0A7F7700124945127BE112579822CF +:1079F800FFD8FFE2FFECFFF60000000A00190023A1 +:107A0800002D00370041004B0055FFFBFFFCFFFD38 +:107A1800FFFEFFFFFFFF000000010001000200035E +:047A28000004000551 +:04380C008F828E8396 +:103810007E037FE8AD82AC8312252CC006C007AEC4 +:1038200083AF82C3E49FFF74109EFEAB07FAE4F9F6 +:10383000F8D007D0061223049002BA122484E47F41 +:103840000AFEFDFC9002BA122437D31223C7401D92 +:103850009002BA12241EC3EF940AFFEE9400FEED0C +:103860009400FDEC9400FC9002BA122484904A89E2 +:10387000E493FE740193FFE4FCFD9002BA12243736 +:10388000C31223C7400D9002B87408F0A374B7F0B8 +:103890000239F3904BC9E493FE740193FFE4FCFDFD +:1038A0009002BA122437D31223C7500D9002B87475 +:1038B0000EF0A374F7F00239F390027CE09002B7A7 +:1038C000F075F002904A891224DAE493FE740193B1 +:1038D000FFE4FCFD9002BA122437D31223C7403B09 +:1038E00090027CE0149002B7F09002B7E0FFC3941E +:1038F00000406975F002EF904A891224DAE493FEE1 +:10390000740193FFE4FCFD9002BA122437D3122312 +:10391000C740499002B7E014F080CE90027CE004EA +:103920009002B7F09002B7E0FFC394A0502875F062 +:1039300002EF904A891224DAE493FE740193FFE4C3 +:10394000FCFD9002BA122437D31223C7500890020C +:10395000B7E004F080CE9002B7E014F09002B7E038 +:1039600090027CF075F002904A891224DAE493FE0A +:10397000740193FFE4FCFD9002BA12243712226B0B +:10398000E47B0AFAF9F8122279C004C005C006C027 +:10399000079002B7E0FF75F002904A8B1224DAE438 +:1039A00093FC740193FD75F002EF904A891224DABA +:1039B000C37401939DFFE4939CFEAB07FAE4F9F80E +:1039C000D007D006D005D004122304AB07AA069076 +:1039D000027CE024CEFFE434FFFE7C007D0A12214D +:1039E000E1EF2BFFEE3ACF24ABCF340A9002B8F0D0 +:0B39F000A3EFF09002B8E0FEA3E0FFA0 +:0139FB0022A9 +:1071D200D24D9002C0E514F0E5132514FFE433FE0E +:1071E2009002C0E0C39FEE6480F87480985028E05B +:1071F200FF25E02485F582E43402AB82FAEF25E034 +:10720200240EFF7D0212671C4005C24DA24D229042 +:0972120002C0E004F080C1A24DAD +:01721B002250 +:10738900D24D7A027B997D027F2212671C4002C28C +:107399004D7A027B9B7D027F2412671C4002C24DFD +:1073A9007A027B9D7D027F2612671C4002C24DE551 +:1073B90013D39405400F7A027B9F7D027F281267C1 +:0773C9001C4002C24DA24D61 +:0173D000229A +:104F22001273894003024FFF900299E0FEA3E0FF53 +:104F320012380C9000C6E02FFF9000C5E03EFEC282 +:104F4200AC900224F0A3EFF0D2AC90029DE0FEA35D +:104F5200E0FF7C007D1112252CE47B0AFAF9F8129D +:104F62002304EF241FFFE43EFEC2AC900228F0A30C +:104F7200EFF0D2ACE513D39405402A90029FE0FEF5 +:104F8200A3E0FF7C007D1112252CE47B0AFAF9F8DC +:104F9200122304EF241FFFE43EFEC2AC90022AF06B +:104FA200A3EFF0D2AC900224E0FCA3E0FD90020259 +:104FB200ECF0A3EDF0900204ECF0A3EDF0300D3D27 +:104FC20090029BE0FEA3E0FF12380C9000C8E02F95 +:104FD200FF9000C7E03EFEC2AC900226F0A3EFF0C5 +:104FE200D2ACD3900203E09F900202E09E4006EE14 +:0D4FF200F0A3EFF022900204EEF0A3EFF028 +:014FFF00228F +:104BCB009002B81224A9000000009002BC1224A984 +:104BDB0000000000E4900200F0A3F09002B3741701 +:104BEB00F0A37470F01271D24003024D029002B721 +:104BFB00E514F0E5132514FFE433FE9002B7E0FD56 +:104C0B00C39FEE6480F87480984003024CD9ED2565 +:104C1B00E02485F582E43402F583E0FEA3E0FF7C1B +:104C2B000E7DD812252CC006C0079000BFE0FEA356 +:104C3B00E0FFFBAA06E4F9F8D007D0061223049094 +:104C4B0002BC122484900200E0FEA3E0FFE4FCFD12 +:104C5B009002BC122437D31223C7400E9002BC1211 +:104C6B00241E900200EEF0A3EFF09002B3E0FEA33F +:104C7B00E0FFE4FCFD9002BC122437C31223C750A3 +:104C8B000E9002BC12241E9002B3EEF0A3EFF020A4 +:104C9B006133C2AC9002BC12241E9002B7E025E037 +:104CAB00240AF582E43402F583EEF0A3EFF0D2ACE4 +:104CBB009002B812241E9002BC12243712225E906E +:104CCB0002B81224849002B7E004F0024BFE20617C +:104CDB0026900200E0F511A3E0F5129002B3E0F587 +:104CEB000FA3E0F510C2AC9002B812241E90021E66 +:074CFB00EEF0A3EFF0D2ACD4 +:014D0200228E +:10585200E49002BCF0A3F0A3F09002BEE0FFC39478 +:105862000C40030258FCEF25E024F8F582E4347979 +:10587200F583E493FE740193FFFBAA06EA3395E0F5 +:10588200F9F89002BEE025E024FAF582E43479F5D5 +:1058920083E493FE740193FFEE3395E0FDFC122244 +:1058A2005EE47B02FAF9F8127602E47B0AFAF9F86E +:1058B200122279EF24ABFBEE340AFAE43DF9E43C20 +:1058C200F8900228E0FEA3E0FFE4FCFDC31223B13E +:1058D200401F9002BEE025E02412F582E4347AF5FE +:1058E20083E493FF7401939002BCCFF0A3EFF080A6 +:1058F200099002BEE004F002585B9002BCE0FEA3F5 +:02590200E0FFC4 +:015904002280 +:1040EF009002B81224A9000000007A027BA17D0281 +:1040FF007F2A12671C9002A1E0FEA3E0FFEE30E4DE +:10410F000944E09002A1F0A3EFF01258529000C3BF +:10411F00E0FCA3E0FDC39002A2E09DFD9002A1E0B0 +:10412F009CCD2FFFED3EFE3395E0FDFC7B187AFC16 +:10413F0079FF78FF122279C006C0079000C1E0FE18 +:10414F00A3E0FFFBAA06EA3395E0F9F8D007D00603 +:10415F0012760290027D12248490027D12241E900A +:10416F0002B2E025E025E0243CF582E43402F58339 +:10417F001224849002B2E004F0C394104002E4F0E1 +:10418F00E49002B7F09002B7E0FFC394105026A35B +:10419F00122437EF25E025E0243CF582E43402F5C4 +:1041AF008312241E12225E9002B81224849002B74A +:1041BF00E004F080D0E47B10FAF9F89002B81224F2 +:1041CF001E127602900281122484C22BC22A900002 +:1041DF0028E0FEA3E0FFC3E49FFFE49EFE3395E0DB +:1041EF00FDFC900281122437C31223B15021900598 +:1041FF00F7E004F0C3940A4067740AF0D22BC2AC04 +:10420F0090028112241E900220122484D2AC22909C +:10421F000028E0FEA3E0FFEE3395E0FDFC90028165 +:10422F00122437D31223B140299005F6E004F094FD +:10423F000A402D740AF0D22A7D647FA07E0F12638C +:10424F0012C2AC90028112241E900220122484D23A +:10425F00AC22C2AC9002201224A900000000D2AC04 +:01426F00222C +:107E00001277C7C25E124BCB124F22305C05C25CA8 +:047E10001240EF220B +:10664300E49002B7F0A3F0AF14E513FDE5142DFDBC +:10665300E433FCEFC39DEC6480F8748098501DEF25 +:1066630025E02485F582E43402F583E0FCA3E0FD14 +:106673009002B7EC8DF01222480F80CD9002B7E064 +:10668300FEA3E0FF7C0E7DD812252CC006C0079028 +:1066930005DFE0FEA3E0FFFBAA06E4F9F8D007D08C +:0C66A300061223049000BFEEF0A3EFF0FD +:0166AF0022C8 +:107840009000C3E0FEA3E0FFC39002A2E09FFF9080 +:1078500002A1E09EFE3395E0FDFC7B187AFC79FFE7 +:1078600078FF1222799005D6122437127602EF4E55 +:0A78700060089000C1EEF0A3EFF0F5 +:01787A0022EB +:107F41009002A1E0FFA3E09000C3CFF0A3EFF022E5 +:10753400900299E0FEA3E0FF12380CC39005DCE052 +:107544009FFF9005DBE09EFE9000C5E0FCA3E0FDFC +:10755400C3EF9DFDEE9CFCC3ED9496EC6480948097 +:107564005012ED946AEC6480947F40089000C5EE5C +:04757400F0A3EFF0A1 +:0175780022F0 +:1075790090029BE0FEA3E0FF12380CC39005DEE009 +:107589009FFF9005DDE09EFE9000C7E0FCA3E0FDB3 +:10759900C3EF9DFDEE9CFCC3ED9496EC6480948052 +:1075A9005012ED946AEC6480947F40089000C7EE15 +:0475B900F0A3EFF05C +:0175BD0022AB +:1075BE009005E1E0900497F09005E2E0900498F0D9 +:1075CE009005E3E0900499F09005E4E090049AF0C1 +:1075DE009005E5E090049BF09005E6E090049CF0A9 +:1075EE009005E7E090049DF07E047F97125D92D2A5 +:0475FE003AD23D221E +:106EC900307C4BC27C9005DAE030E00312664390D7 +:106ED90005DAE030E4031278409005DAE030E503A2 +:106EE900127F419005DAE030E2031275349005DA39 +:106EF900E030E3031275799005DAE030E7031275A3 +:0F6F0900BEE49005DAF0D2739005FA7402F0221C +:10705400306D0DC26DD26BE49005F9F0127E4D22B5 +:10706400306B3A127D7C203134900087E075F00259 +:10707400A4FFAEF09005F9E004F0C39FEE6480F83D +:107084007480984018C26BE4F0127E60307902C2BA +:0E70940019C21BC21C301505C2151278042249 +:1072F800306C0DC26CD26AE49005F8F0127E272239 +:10730800306A35127D7C20302F900087E075F002BE +:10731800A4FFAEF09005F8E004F0C39FEE6480F897 +:107328007480984013C26AE4F0127E3A307807C23B +:0973380018C214127804C21A22D2 +:107CEF00300719303B119003E4E004F0C3940540D2 +:0D7CFF000BD2397405F022E49003E4F0226A +:1069E1009002E1EEF0A3EFF0A3EDF0A3EAF0A3EB48 +:0169F100F0B5 +:1069F200C24D203941E4A3F09002E1E0FCA3E0FDA6 +:106A0200A3E09002F7F0E4A3F09002E4E0FFA3E039 +:106A12009002F9CFF0A3EFF07B017FA01247FE5066 +:106A220004D24D80117F011273D19002E6E004F08E +:0D6A3200E0C3940540C2A24DB3923BA24DBB +:016A3F002234 +:106A40009002C3EEF0A3EFF0A3EDF0A3EAF0A3EB06 +:016A5000F055 +:106A5100C24E203941E4A3F09002C3E0FCA3E0FD63 +:106A6100A3E09002EDF0E4A3F09002C6E0FFA3E002 +:106A71009002EFCFF0A3EFF07B017FA0123D835096 +:106A810004D24E80117F011273D19002C8E004F04C +:0D6A9100E0C3940540C2A24EB3923BA24E5A +:016A9E0022D5 +:1066B0007E027FBA7B08E4FD127B43E49002B8F0CF +:1066C000A3F09002B8E0FEA3E0FFE4FCFD7BFF7ABC +:1066D00007F9F8D31223B1402E53B1F89002B8E075 +:1066E000FEA3E07805C333CE33CED8F9241FFFE4F0 +:1066F0003EFE7A027BBA7D011269E19002B8E47530 +:10670000F00112224880BB7A027BBA7D087FE07ECE +:0B671000FF1269E1E49003DDF0A3F04C +:01671B00225B +:10639300C24D7A027BB77D087FE07EFF126A40928E +:1063A3004D9002B8E0FF9002B7E02F9002B9F09051 +:1063B30002BCE0FF9002BBE02F9002BDF09002BA56 +:1063C300E0FF9002B9E0B507179002B7E0FEA3E043 +:1063D3007C002400FFEC3E9003DDF0A3EFF0802A65 +:1063E3009002BEE0FF9002BDE0B507179002BBE04C +:1063F300FEA3E07C002400FFEC3E9003DDF0A3EF5E +:0C640300F08007E49003DDF0A3F0A24D50 +:01640F00226A +:1070EE00E49002C1F07E047F97123BC17E047F972D +:1070FE007C027DB87B07127A2CE4FF74B82FF582E0 +:10710E00E43402F583E0FE9002C1E02EF00FEFB4FE +:10711E0007E99002C1E09002BFF0A3745AF07A0220 +:0B712E007BB87D097FF07EFF1269E155 +:017139002233 +:107688009003DDE0FCA3E0FDEC9002D9F0AF05A388 +:10769800EFF09002D9E02F9002DCF09002D9E09050 +:1076A80002DDF09002DAE09002DEF09002DCE09079 +:1076B80002E0F07A027BD97D087FE07EFF1269E163 +:0176C800229F +:053F3C009002B8EFF057 +:103F41006410701A7E037FE57C027DB97B03127ACF +:103F51002C7E037FE97C027DBC127A2C801F7E04BB +:103F61007F97123BC17E047F977C027DB97B031250 +:103F71007A2C7E047F9A7C027DBC127A2C900206F8 +:103F8100E0FCA3E0FDEC9002BFF0A3EDF09002088D +:103F9100E0FCA3E0FDEC9002C1F0A3EDF090022C57 +:103FA10012241E78181223D89002C3EFF090022C2D +:103FB10012241E78101223D89002C4EFF090022C24 +:103FC10012241E78081223D89002C5EFF090022C1B +:103FD10012241E9002C6EFF090023012241E7818AF +:103FE1001223D89002C7EFF090023012241E7810ED +:103FF1001223D89002C8EFF090023012241E7808E4 +:104001001223D89002C9EFF090023012241E9002C0 +:10401100CAEFF090021EE0FCA3E0FDAE047818CEDA +:10402100C313CE13D8F99002CBF0EDAE047810CEC5 +:10403100C313CE13D8F99002CCF090021EE0FCA37A +:10404100E0FDEC9002CDF0A3EDF090022012241ED1 +:1040510078181223EB9002CFEFF090022012241E69 +:1040610078101223EB9002D0EFF090022012241E60 +:1040710078081223EB9002D1EFF090022012241E57 +:104081009002D2EFF0900224E0FCA3E0FDEC90025C +:10409100D3F0A3EDF0900236E0FCA3E0FDEC90023A +:1040A100D5F0A3EDF09002B8E09002D7F0A3745AD6 +:1040B100F09003DDE0FEA3E0FF7A027BB97D2012E0 +:1040C10069E19003DDE475F0201222489003DDE000 +:1040D100FEA3E0FFE4FCFD7BE07AFFF9F8D31223B5 +:0D40E100B15007E49003DDF0A3F0127688E3 +:0140EE0022AF +:106787009003EFE02480FFE434FFEF7D00C454F072 +:10679700FC900401E02488FFE434FFFEEF7807C390 +:1067A70033CE33CED8F92DFFEE3CFE900402E0FD48 +:1067B7007A047B03126A407B017A04790090040211 +:1067C700E02403FD127D46900402E02403F582E4F1 +:1067D7003404F583EFF0C29C9003F7E02400F582C0 +:0867E700E43404F583E0F599A8 +:0167EF002287 +:1064F6009003EFE02480FFE434FFEF7D00C454F006 +:10650600FC9004A1E02488FFE434FFFEEF7807C383 +:1065160033CE33CED8F92DFFEE3CFE9004A2E0FD3B +:106526007A047BA3126A407B017A0479A09004A2C4 +:10653600E02403FD127D469004A2E024A3F582E444 +:106546003404F583EFF0758640C2A49003F8E02486 +:0E655600A0F582E43404F583E0F5A1E4F586B7 +:016564002214 +:106565009003EFE02480FFE434FFEF7D00C454F096 +:10657500FC900541E02488FFE434FFFEEF7807C373 +:1065850033CE33CED8F92DFFEE3CFE900542E0FD2B +:106595007A057B43126A407B017A05794090054272 +:1065A500E02403FD127D46900542E02443F582E494 +:1065B5003405F583EFF0758640C2949003F9E02425 +:0E65C50040F582E43405F583E0F591E4F586B7 +:0165D30022A5 +:1074A9007E047F97123BC17E047F977C047D037B1A +:1074B90007127A2C7B017A047900900402E02403F4 +:1074C900FD127D46900402E02403F582E43404F5BC +:1074D90083EFF0C29C9003F7E02400F582E43404C2 +:0674E900F583E0F5992295 +:10713A007E047F97123BC17E047F977C047DA37BEC +:10714A0007127A2C7B017A0479A09004A2E0240326 +:10715A00FD127D469004A2E024A3F582E43404F5EE +:10716A0083EFF0758640C2A49003F8E024A0F5826C +:0C717A00E43404F583E0F5A1E4F586227E +:107186007E047F97123BC17E047F977C057D437BFF +:1071960007127A2C7B017A057940900542E0240398 +:1071A600FD127D46900542E02443F582E43405F560 +:1071B60083EFF0758640C2949003F9E02440F5828F +:0C71C600E43405F583E0F591E4F5862241 +:105905002007030259B0203A030259B0C23A303891 +:1059150005C2381266B09003DFE0FF7008A3E0709F +:1059250004A3E06021EF6008E49003DFF0126787CD +:105935009003E0E06005E4F01265659003E1E06046 +:1059450005E4F01265659003ECE0FF7008A3E070D4 +:1059550004A3E06021EF6008E49003ECF01274A961 +:105965009003EDE06005E4F012713A9003EEE0601B +:1059750005E4F0127186303D05C23D1270EE303CF3 +:105985000CC23C9002B77410F0FF123F3C30420C41 +:10599500C2429002B77401F0FF123F3C303F0CC287 +:0B59A5003F9002B77402F0FF123F3C7D +:0159B00022D4 +:1050D7002007030251A990002EE0FF9003DAE004B5 +:1050E700F0C39F4009E4F07E047F97123BC1900311 +:1050F700DBE475F001122248FEC3E5F09410EE944C +:105107000E400BE49003DBF0A3F0D23AD23D202A05 +:105117001ED241304006C240D23AD24230190B303B +:105127003E08C23ED23AD23F8005201902D23E3015 +:10513700416990002CE0FEA3E0FFEE3395E0FDFC13 +:10514700900220122437C31223B1404F9003E2E0AC +:105157007002A3E070147E047F97123BC17E047F28 +:10516700977C037DE57B07127A2C90002BE0FF7E6E +:10517700007C007D3C1221E19003E2E475F001120E +:105187002248FCD3E5F09FEC9E4017E49003E2F041 +:10519700A3F0D240C241D23AD23C22E49003E2F0DB +:0351A700A3F02250 +:031053000265D45F +:1065D400C0E0C083C082C0D075D000C007C086753B +:1065E400860030D807C2D87F0112102E30D907C2D6 +:1065F400D97F0212102E30DA07C2DA7F0412102E6D +:1066040030DB07C2DB7F0812102E30DC07C2DC7FD0 +:106614001012102E30DD07C2DD7F2012102E30DE66 +:1066240007C2DE7F4012102E30DF07C2DF7F8012E8 +:0F663400102ED086D007D0D0D082D083D0E032C5 +:03102B00021003AD +:10100300C0E0C083C082C0D0C086758640C28F75E1 +:101013008600127C2DD086D0D0D082D083D0E0320F +:105BAE00307D03025C4F75090F20A7057509018032 +:105BBE000620B003750902E509650C6038050EE58F +:105BCE000E7002050DC3E50B940AE50A94004065BC +:105BDE00E50E940AE50D94004067E50B9490E50AF6 +:105BEE0094014008E50C4440F5088003850C08D26A +:105BFE007D80428040E509640F6037E4F50DF50EB7 +:105C0E00050BE50B7002050AB4900EE50AB4010906 +:105C1E00E50C4410F508D27D22E50BB4B023E50A5D +:105C2E00B4041E750A01750B90E50C4420F508D2DC +:105C3E007D2275080FE4F50AF50BF50DF50E8509B5 +:015C4E000C49 +:015C4F002232 +:10798E00AB07AA06C2AF43A701EAF5F7AF038FFB19 +:10799E00AF058FFC75F26E75F30575F40A75F50972 +:1079AE00EAADF7B50509E475F606000000000053D0 +:0579BE00A7FED2AF227C +:107C0700D250E4FDFCEF2DFBEE3C8B82F583E49331 +:107C17006004C250800D0DBD00010CE4B505E6EC13 +:057C2700B402E2A250CE +:017C2C002235 +:086C6D009002BDEEF0A3EFF070 +:106C7500D250AE04AF05E4A3F0A3F09002BFE0FC50 +:106C8500A3E0FDC3EC940250369002BEE02DFD90CA +:106C950002BDE03C8D82F583E493FD9002BFE0FAEE +:106CA500A3E02FF582EE3AF583E0FCED6C6004C2BB +:106CB50050800C9002BFE475F00112224880BCA2FE +:016CC500507E +:016CC60022AB +:086077009002BDEEF0A3EFF072 +:10607F00C250AF05A3ECF0A3EFF0E4FDFC9002BD1E +:10608F00E0FAA3E0FB2DF5FBEB2DEA3CF5F7A3E0DF +:10609F00FEA3E02DF582EE3CF583E0F5FC75F26E84 +:1060AF0020AF3D75F305E5A7603275F40A9005FB47 +:1060BF00E06455702375F5099002BEE02D9002BD86 +:1060CF00E03CABF7B5030DE475F6060000000000E9 +:1060DF00D2508010C2508019C2508015C25080110A +:1060EF00C250800D0DBD00010CED7003EC64027009 +:0360FF008CA25020 +:01610200227A +:0E5EC5009002B9EEF0A3EFF0A3ECF0A3EDF025 +:105ED300C24F53B1F8C2AF43A7019002B9E0FF7EAE +:105EE30000F5F775F2E620AF5B75F305E5A760549F +:105EF30075F40A9005FBE06455704975F509ADF733 +:105F0300EF6D7001EE703D75F60600000000009025 +:105F130002B9E0FEA3E0FF127C0750289002B9E02B +:105F2300FEA3E0FFA3E0FCA3E0FD12607750159011 +:105F330002B9E0FEA3E0FFA3E0FCA3E0FD126C6D59 +:105F43005002D24FE4F5F2F5F3F5F4F5F5F5F65317 +:085F5300A7FEF5F7D2AFA24F43 +:015F5B002223 +:10526E00C24DC24E20720302532EC2729005FB74C1 +:10527E0055F0E513D39405400C9002B77427F0A3B4 +:10528E007410F0800A9002B77413F0A37488F09033 +:10529E0002B7E0FEA3E0FFC390021FE09F90021E44 +:1052AE00E09E406B9001FEE0645A7004A3E064A59A +:1052BE00705DFDFCFFFE125EC54023E4FDFCFFFEAB +:1052CE00125EC54019D24D74FF9001FEF0A3F0FDA1 +:1052DE007FFE7E0112798E7DFF7FFF12798EE4FDB7 +:1052EE00FCFF7E02125EC5402AE4FDFCFF7E021228 +:1052FE005EC5401FD24E74FF9001FEF0A3F0FD7FFD +:10530E00FE7E0312798E7DFF7FFF12798E8004D28E +:10531E004DD24EE49005FBF0304D05304E02D27169 +:01532E00225C +:0E6A9F009002B7EEF0A3EFF0A3EAF0A3EBF045 +:106AAD00D24DAE04AF058E158F16C2AF43A701535D +:106ABD00B1F8E4FFFED39002BAE09F9002B9E09ED8 +:106ACD0040279002B8E02FFD9002B7E03E8D82F591 +:106ADD0083E493851682851583F00516E5167002FD +:106AED0005150FBF00010E80CC53A7FED2AFA24DEE +:016AFD002276 +:107DD7003073119005FAE004F0C394024006C273B1 +:057DE700E4F0D272225D +:107B6D00C24D43A701EEC313FEEF1325E0FFEE3325 +:107B7D008F82F583740193B4A507E493B45A02D2AE +:067B8D004D53A7FEA24DBE +:017B930022CF +:057A8F009002B7EFF0CA +:107A9400758640758830AE04AF057C1F7D40122585 +:107AA4002CE4FB7A01F9F8122304C3E49FFFE49E5B +:0A7AB400FE8F8CF58DD28AE4F58672 +:017ABE0022A5 +:057C51009002B7EFF006 +:107C5600A2AFE433FFC2AF43B20800000000000049 +:0C7C6600000053B26043B20424FF92AF50 +:017C720022EF +:106210009005E8EEF0A3EFF0A3EDF075C7B09005A0 +:10622000E8E0FEA3E0FFFBAA06E4F9F87FD87EB819 +:106230007D05FC1276028FCC9005E8E0FEA3E0FF1E +:10624000FBAA06E4F9F87FD87EB87D05FC12760239 +:1062500078081223EB8FCDAFCDEFFEADCC7C00E400 +:106260002DFFEC3EFE9005EAE0FBFD1221E17D648E +:106270001221F38FCEAFCDEFFEADCC7C00E42DFF2D +:10628000EC3EFEAD031221E17D641221F3EEF5CF69 +:0162900022EB +:106291009005EBEEF0A3EFF0A3EDF075B6B090052D +:1062A100EBE0FEA3E0FFFBAA06E4F9F87FD87EB895 +:1062B1007D05FC1276028FAE9005EBE0FEA3E0FFB8 +:1062C100FBAA06E4F9F87FD87EB87D05FC127602B8 +:1062D10078081223EB8FAFAFAFEFFEADAE7C00E4D9 +:1062E1002DFFEC3EFE9005EDE0FBFD1221E17D640A +:1062F1001221F38FA4AFAFEFFEADAE7C00E42DFF12 +:10630100EC3EFEAD031221E17D641221F3EEF5A511 +:016311002269 +:106312009002BCEEF0A3EFF0A3EDF075B7B09002DF +:10632200BCE0FEA3E0FFFBAA06E4F9F87FD87EB842 +:106332007D05FC1276028FBC9002BCE0FEA3E0FF5A +:10634200FBAA06E4F9F87FD87EB87D05FC12760236 +:1063520078081223EB8FBDAFBDEFFEADBC7C00E42D +:106362002DFFEC3EFE9002BEE0FBFD1221E17D64BA +:106372001221F38FBEAFBDEFFEADBC7C00E42DFF5A +:10638200EC3EFEAD031221E17D641221F3EEF5BF76 +:0163920022E8 +:1073D100E5B2547070067C067D868020E5B254705B +:1073E100FEBE20067C037D438012E5B25470FEBED2 +:1073F10040067C017DA180047C007D8BE4FEEEC310 +:107401009F5014E4FBFAC3EB9DEA9C50070BBB00B1 +:07741100010A80F20E80E782 +:017418002251 +:1068560090002FE0645A705A900061E0645A7052BA +:10686600900073E0645A704A900088E0645A70425F +:1068760090008DE0645A703A900098E0645A703245 +:106886009000A1E0645A702A9000A9E0B45A2390BF +:1068960000BAE0B45A1C9000BEE0B45A159000CA83 +:1068A600E0B45A0E9001FEE0645A7004A3E064A5B9 +:0668B6006002C322D322A0 +:087B43009002C3EEF0A3EFF085 +:107B4B00E4FFEFC39B501A9002C3E0F8A3E0F58269 +:107B5B008883EDF09002C3E475F0011222480F8088 +:017B6B00E138 +:017B6C0022F6 +:087A2C009002D9EEF0A3EFF087 +:107A3400E4FFEFC39B50239002D9E0F8A3E0F58262 +:107A44008883E08D828C83F00DBD00010C9002D9F7 +:0A7A5400E475F0011222480F80D8FB +:017A5E002205 +:0C7F5F00758E55438701000000000022D1 +:0C7F6B00758E55438702000000000022C4 +:107AEC0090053EE064127023204306204403304589 +:107AFC001A207317207214C2AFE4F5A8F5A9F58803 +:0C7B0C00F5E8F59DF59CF59812000022AC +:10721C00D228D229201403301602C22820110F20A4 +:10722C00130C201B09201C06201503301602C22942 +:10723C00202B0E201009201206201803301A02C22F +:10724C0028202A05301902C229201B06201C0330D5 +:0A725C001502C228301A02C22922CE +:107ABF0012721CA276302801B34008A27730290138 +:107ACF00B35019A2289276A2299277A229E433FF04 +:0D7ADF0025E0FFA228E4334FFF127DC222F4 +:10741900201844C3900063E09512900062E0951132 +:10742900501F9003BCE475F001122248FEC3E5F039 +:107439009401EE94004020D218E49003BCF0A3F02C +:1074490022D3900065E09512900064E09511400701 +:08745900E49003BCF0A3F02253 +:10746100201944D3900075E09510900074E0950FB9 +:10747100401F9003BEE475F001122248FEC3E5F0FF +:107481009401EE94004020D219E49003BEF0A3F0E1 +:1074910022C3900077E09510900076E0950F500799 +:0874A100E49003BEF0A3F02209 +:106F180020104B90008EE0FEA3E0FF900204E0FCFE +:106F2800A3E0FDD39FEC9E401F9003CEE475F001D3 +:106F3800122248FEC3E5F09401EE94004020D210DE +:106F4800E49003CEF0A3F022900090E0FEA3E0FFCF +:0F6F5800C3ED9FEC9E5007E49003CEF0A3F02210 +:106F670020124B900092E0FEA3E0FF900202E0FCAB +:106F7700A3E0FDC39FEC9E501F9003D2E475F00180 +:106F8700122248FEC3E5F09401EE94004020D2128D +:106F9700E49003D2F0A3F022900094E0FEA3E0FF78 +:0F6FA700D3ED9FEC9E4007E49003D2F0A3F022BD +:106FB60020114B900099E0FEA3E0FF900204E0FC54 +:106FC600A3E0FDD39FEC9E401F9003D0E475F00133 +:106FD600122248FEC3E5F09401EE94004020D2113F +:106FE600E49003D0F0A3F02290009BE0FEA3E0FF24 +:0F6FF600C3ED9FEC9E5007E49003D0F0A3F02270 +:1070050020134B90009DE0FEA3E0FF900202E0FC00 +:10701500A3E0FDC39FEC9E501F9003D4E475F001DF +:10702500122248FEC3E5F09401EE94004020D213ED +:10703500E49003D4F0A3F02290009FE0FEA3E0FFCC +:0F704500D3ED9FEC9E4007E49003D4F0A3F0221C +:10787B00307E37124BCB124F2212741912746112D5 +:10788B006F18126F67126FB612700590053FE00408 +:10789B00F0C394024014C27E205D09203906207B80 +:0B78AB0003307103D266221243DF227B +:1051AA0020185C201459C3900063E09512900062A5 +:1051BA00E095115033900066E075F00AA4FFAEF056 +:1051CA009003BCE475F001122248FCC3E5F09FECA1 +:1051DA009E500302526DD218C278E49003BCF0A329 +:1051EA00F09003D6F0A3F022D3900065E0951290D8 +:1051FA000064E09511406CE49003BCF0A3F0222017 +:10520A007861D3900065E09512900064E0951140B2 +:10521A003C900067E075F00AA4FFAEF09003D6E474 +:10522A0075F001122248FCC3E5F09FEC9E40343031 +:10523A000E06D278D26C8007C218C214127804E41F +:10524A009003BCF0A3F09003D6F0A3F022C3900021 +:10525A0063E09512900062E095115007E49003D63E +:04526A00F0A3F0229B +:1053EC00201959D3900075E09510900074E0950F3A +:1053FC004033900078E075F00AA4FFAEF09003BE45 +:10540C00E475F001122248FCC3E5F09FEC9E5003BA +:10541C000254A7D219C279E49003BEF0A3F0900312 +:10542C00D8F0A3F022C3900077E09510900076E0BE +:10543C00950F5067E49003BEF0A3F02220795CC373 +:10544C00900077E09510900076E0950F5037900023 +:10545C0079E075F00AA4FFAEF09003D8E475F00182 +:10546C00122248FCC3E5F09FEC9E402F300F06D271 +:10547C0079D26D8002C219E49003BEF0A3F09003C0 +:10548C00D8F0A3F022D3900075E09510900074E052 +:0C549C00950F4007E49003D8F0A3F02225 +:1054A80020105E90008EE0FEA3E0FF900204E0FC76 +:1054B800A3E0FDD39FEC9E4031900096E075F01478 +:1054C800A4FFAEF09003CEE475F001122248FAC3AF +:1054D800E5F09FEA9E5003025563D210E49003CE94 +:1054E800F0A3F09003C0F0A3F022900090E0FEA398 +:1054F800E0FFC3ED9FEC9E5062E49003CEF0A3F072 +:1055080022900090E0FEA3E0FF900204E0FCA3E0FC +:10551800FDC39FEC9E502E900096E075F014A4FFFA +:10552800AEF09003C0E475F001122248FAC3E5F02A +:105538009FEA9E4026C210E49003CEF0A3F09003A9 +:10554800C0F0A3F02290008EE0FEA3E0FFD3ED9F11 +:0C555800EC9E4007E49003C0F0A3F0229A +:1055640020125E900092E0FEA3E0FF900202E0FCB5 +:10557400A3E0FDC39FEC9E5031900096E075F014BB +:10558400A4FFAEF09003D2E475F001122248FAC3EE +:10559400E5F09FEA9E500302561FD212E49003D214 +:1055A400F0A3F09003C4F0A3F022900094E0FEA3D3 +:1055B400E0FFD3ED9FEC9E4062E49003D2F0A3F0B1 +:1055C40022900094E0FEA3E0FF900202E0FCA3E03E +:1055D400FDD39FEC9E402E900096E075F014A4FF3E +:1055E400AEF09003C4E475F001122248FAC3E5F06A +:1055F4009FEA9E4026C212E49003D2F0A3F09003E7 +:10560400C4F0A3F022900092E0FEA3E0FFC3ED9F5C +:0C561400EC9E5007E49003C4F0A3F022C9 +:1056200020115E900099E0FEA3E0FF900204E0FCF0 +:10563000A3E0FDD39FEC9E4031900096E075F014FE +:10564000A4FFAEF09003D0E475F001122248FAC333 +:10565000E5F09FEA9E50030256DBD211E49003D09E +:10566000F0A3F09003C2F0A3F02290009BE0FEA311 +:10567000E0FFC3ED9FEC9E5062E49003D0F0A3F0F6 +:105680002290009BE0FEA3E0FF900204E0FCA3E078 +:10569000FDC39FEC9E502E900096E075F014A4FF81 +:1056A000AEF09003C2E475F001122248FAC3E5F0AF +:1056B0009FEA9E4026C211E49003D0F0A3F090032D +:1056C000C2F0A3F022900099E0FEA3E0FFD3ED9F8B +:0C56D000EC9E4007E49003C2F0A3F0221F +:1056DC0020135E90009DE0FEA3E0FF900202E0FC30 +:1056EC00A3E0FDC39FEC9E5031900096E075F01442 +:1056FC00A4FFAEF09003D4E475F001122248FAC373 +:10570C00E5F09FEA9E5003025797D213E49003D41E +:10571C00F0A3F09003C6F0A3F02290009FE0FEA34C +:10572C00E0FFD3ED9FEC9E4062E49003D4F0A3F035 +:10573C002290009FE0FEA3E0FF900202E0FCA3E0B9 +:10574C00FDD39FEC9E402E900096E075F014A4FFC4 +:10575C00AEF09003C6E475F001122248FAC3E5F0EE +:10576C009FEA9E4026C213E49003D4F0A3F090036A +:10577C00C6F0A3F02290009DE0FEA3E0FFC3ED9FD6 +:0C578C00EC9E5007E49003C6F0A3F0224E +:106CC700201A5590006D12241E90027D122437D38E +:106CD7001223B1402A900071E075F00AA4FFAEF0CC +:106CE7009003CAE475F001122248FCC3E5F09FEC5B +:106CF7009E4025D21AD26CE49003CAF0A3F022205A +:106D07006A16D39003CBE094009003CAE094004046 +:096D17000774FFF5F01222482276 +:106D2000201B5590007D12241E90027D122437C333 +:106D30001223B1502A900081E075F00AA4FFAEF052 +:106D40009003B8E475F001122248FCC3E5F09FEC13 +:106D50009E4025E49003B8F0A3F0D21BD26D222010 +:106D60006B16D39003B9E094009003B8E094004010 +:096D70000774FFF5F0122248221D +:106D7900201C5590008212241E90027D122437C3D4 +:106D89001223B1502A900086E075F002A4FFAEF0FC +:106D99009003BAE475F001122248FCD3E5F09FECA8 +:106DA9009E4025E49003BAF0A3F0D21CD26D2220B4 +:106DB9006B16D39003BBE094009003BAE0940040B3 +:096DC9000774FFF5F012224822C4 +:107C9300207E1B1251AA1253EC1254A812556412DF +:0F7CA30056201256DC126CC7126D20126D79221A +:10641000300272201B06201C03301539900072E0F8 +:1064200075F014A4FFAEF09003CCE475F0011222D5 +:1064300048FCC3E5F09FEC9E401BE49005F9F0900A +:1064400003CCF0A3F0C21BC21CC26DC26B30150599 +:10645000C215127804301A2D900072E075F014A461 +:10646000FFAEF09003C8E475F001122248FCD3E5BA +:10647000F09FEC9E400FE49003C8F0A3F0C21A9086 +:0664800005F8F0C26A22DB +:107D0C00300719307A11900496E004F0C3940540C2 +:0D7D1C000BD27B7405F022E4900496F02257 +:0E6BB7009002EEEFF0A3EDF0A3EAF0A3EBF0F6 +:106BC500C250207B40E4A3F09002EEE0FD7C00A3E0 +:106BD500E09002F7F0E4A3F09002F0E0FFA3E0906C +:106BE50002F9CFF0A3EFF0E4FB7FDE1247FE50047D +:106BF500D25080117F011273D19002F2E004F0E0CF +:0C6C0500C3940540C3A250B3927AA25081 +:016C11002260 +:0E6C12009002E4EFF0A3EDF0A3EAF0A3EBF0A4 +:106C2000C24F207B40E4A3F09002E4E0FD7C00A38F +:106C3000E09002EDF0E4A3F09002E6E0FFA3E09024 +:106C400002EFCFF0A3EFF0E4FB7FDE123D835004B0 +:106C5000D24F80117F011273D19002E8E004F0E07E +:0C6C6000C3940540C3A24FB3927AA24F28 +:016C6C002205 +:083BC1009002D9EEF0A3EFF031 +:103BC900C24E7A027BDB7D09E4FF126C12400302CC +:103BD9003D809002E2E030E003023D739002DDE0B7 +:103BE90020E703023C929002DBE0FF5470945040BE +:103BF90003023C92EF540F94094003023C92E054B3 +:103C09007F94594003023C92A3E0FF5470945050B2 +:103C190078EF540F94095071E0547F9459506AA376 +:103C2900E0FF543094205061EF540F9409505AE04A +:103C3900542F94245053A3E0FF54309430504AEF4A +:103C4900540F94095043E0543FFF9431503BEF60C7 +:103C590038A3E0FF54109410502FEF540F940950DB +:103C690028E0541FFF94125020EF601DA3E0FF5479 +:103C7900F094905014EF540F9409500DE09499501A +:103C890008A3E05407940640779002D9E0FEA3E028 +:103C9900FFF5828E83E09002DBF08F828E83A3E0B2 +:103CA9009002DCF09002D9E0A3E0F5828E83A3A311 +:103CB900E09002DDF08F828E83A3A3A3E09002DE61 +:103CC900F09002D9E0A3E02404F582E43EF583E014 +:103CD9009002DFF0EF2405F582E43EF583E09002DF +:103CE900E0F09002D9E0A3E02406F582E43EF583F2 +:103CF900E09002E1F07E027FDB125D92924E8077C6 +:103D09009002DBE0FF9002D9E0FCA3E0FDF5828C94 +:103D190083EFF09002DCE08D828C83A3F09002DDCA +:103D2900E0541F8D828C83A3A3F09002DEE08D8284 +:103D39008C83A3A3A3F09002DFE0FFED2404F582B6 +:103D4900E43CF583EFF09002E0E0FFED2405F58215 +:103D5900E43CF583EFF09002E1E0FFED2406F58203 +:103D6900E43CF583EFF0D24E800D9002D9E0FEA33A +:093D7900E0FF125D92924EA24E91 +:013D8200221E +:085D92009002E4EEF0A3EFF033 +:105D9A00C24FA37490F07A027BE67D017F07126BF3 +:105DAA00B7924F9002E4E0FEA3E0FFF5828E83E013 +:105DBA009002E7F08F828E83A3E09002E8F09002CF +:105DCA00E4E0FCA3E0FDF5828C83A3A3E044809089 +:105DDA0002E9F08D828C83A3A3A3E09002EAF090FB +:105DEA0002E4E0A3E0FF2404F582E43EF583E090B8 +:105DFA0002EBF0EF2405F582E43EF583E09002EC35 +:105E0A00F09002E4E0A3E02406F582E43EF583E0A4 +:105E1A009002EDF07A027BE77D07E4FF126BB792FE +:035E2A004FA24F35 +:015E2D002252 +:085FEA009002B7EEF0A3EFF006 +:105FF200C24DE49002C2F07E027FB97B09FD127BA2 +:10600200437A027BB97D097FF07EFF126A40E4FF8A +:1060120074B92FF582E43402F583E0FE9002C2E007 +:106022002EF00FEFB407E99002C2E0FF9002C0E049 +:10603200B50706A3E0645A601BE49002B9F0A3F02E +:10604200A37412F0A37401F0A37405F0A37420F0FA +:10605200A37405F07E027FB99002B7E0FCA3E0FDD5 +:106062007B07127A2C9002B7E0FEA3E0FF123BC13D +:04607200924DA24D5C +:016076002207 +:104E220000070E091C1B1215383F363124232A2D88 +:104E320070777E796C6B6265484F464154535A5D78 +:104E4200E0E7EEE9FCFBF2F5D8DFD6D1C4C3CACD68 +:104E520090979E998C8B8285A8AFA6A1B4B3BABD58 +:104E6200C7C0C9CEDBDCD5D2FFF8F1F6E3E4EDEA48 +:104E7200B7B0B9BEABACA5A28F88818693949D9A38 +:104E82002720292E3B3C35321F18111603040D0A28 +:104E92005750595E4B4C45426F68616673747D7A18 +:104EA200898E878095929B9CB1B6BFB8ADAAA3A408 +:104EB200F9FEF7F0E5E2EBECC1C6CFC8DDDAD3D4F8 +:104EC200696E676075727B7C51565F584D4A4344E8 +:104ED200191E171005020B0C21262F283D3A3334D8 +:104EE2004E49404752555C5B7671787F6A6D6463C8 +:104EF2003E39303722252C2B0601080F1A1D1413B8 +:104F0200AEA9A0A7B2B5BCBB9691989F8A8D8483A7 +:104F1200DED9D0D7C2C5CCCBE6E1E8EFFAFDF4F397 +:107D4600E4FFEDD3940040131221896F904E2293E5 +:0B7D5600FF740129F9E43AFA1D80E7F0 +:017D610022FF +:107B9400D2527D807CBBE5C820E31053B1F8ED4C94 +:107BA4006009ED1D70011C80ED80EBE5D154F86F88 +:067BB4006002C252A25261 +:017BBA0022A8 +:1047FE009002F6EBF09002F3EFF0A3ECF0A3EDF0E5 +:10480E00D2519002FF74BBF0A37480F09002FBEFC4 +:10481E00F0A3EDF09002F9E0FEA3E0F5828E83E0C6 +:10482E009002FDF07B017A0279FB7D03127D4690AA +:10483E0002FEEFF09002F7E0D394005003024942DB +:10484E0043E6C043D10143C80175C8607F08127B9F +:10485E0094400C7F10127B944005C25102491F9068 +:10486E0002F3E0F58D75C8407F18127B944005C2A7 +:10487E005102491F9002F6E0B401159002F4E0F5E2 +:10488E008D75C8407F28127B944005C25102491F86 +:10489E009002F4E0A3E0F58D75C8407F28127B945A +:1048AE004004C251806B9002F8E06401702EA3E0C8 +:1048BE00FEA3E0F5828E83E0F58D75C8407F281249 +:1048CE007B944004C25180499002FEE0F58D75C87C +:1048DE00407F28127B944039C2518035E4FE90020D +:1048EE00F7E0FFEEC39F50299002F9E0FCA3E0F53C +:1048FE00828C83E0F58D75C8407F28127B9440042E +:10490E00C251800D9002F9E475F0011222480E801A +:10491E00CD75C850E5C830E41B53B1F89002FFE0E6 +:10492E007002A3E0600E9002FF74FFF5F0122248B1 +:06493E0080E280E0A251BE +:014944002250 +:0A3D8300AA079002EAECF0A3EDF0AD +:103D8D00D250E4900320F0A374BBF0A37480F090A4 +:103D9D0002F2EAF0A3EDF0EA4401A3F09002EDE0A7 +:103DAD00D394005003023F3943E6C043D10143C8C9 +:103DBD000175C8607F08127B94400C7F10127B94B4 +:103DCD004005C250023F168A8D75C8407F18127B80 +:103DDD00944005C250023F16EBB401159002EAE083 +:103DED00F58D75C8407F28127B944005C250023F67 +:103DFD00169002EAE0A3E0F58D75C8407F28127B8E +:103E0D00944005C250023F1675C8607F08127B941E +:103E1D00400C7F10127B944005C250023F16EA44BD +:103E2D0001F58D75C8407F40127B944005C250024C +:103E3D003F16E49002F1F09002EDE0FF9002F1E008 +:103E4D00FEC39F50579002EEE07031EF14B5060A95 +:103E5D0075C8407F58127B94800875C8447F5012F6 +:103E6D007B949002EFE0FEA3E0F5828E83E58DF06A +:103E7D009002EFE475F001122248801875C8447F56 +:103E8D0050127B949002F1E024F5F582E43402F5B2 +:103E9D0083E58DF09002F1E004F0809B9002EEE05E +:103EAD006401706575C8407F58127B94900320E5BE +:103EBD008DF07B017A0279F29002EDE02403FD1280 +:103ECD007D46900320E0B5073EE49002F1F09002AC +:103EDD00EDE0FF9002F1E0FEC39F502D74F52EF53D +:103EED0082E43402F583E0FF9002EFE0FCA3E0F5FD +:103EFD00828C83EFF09002EFE475F001122248906E +:103F0D0002F1E004F080C7C25075C850E5C830E436 +:103F1D001B53B1F8900321E07002A3E0600E9003F3 +:0E3F2D002174FFF5F012224880E280E0A250DD +:013F3B002263 +:107DAB0075C632E4F5E6F5D1758A2075D10275C832 +:077DBB00407589FFF58D22E0 +:0369800075C432A9 +:10698300E4F5877598509002B7747FF0A374CCF048 +:106993009002B7E0F59D759CCCE0FEA3E0FFFBE41D +:1069A300C39BFF74809EFEE49400FDE49400FCE42A +:1069B3007B10FAF9F8122279EC121F18A804A90522 +:1069C300AA06AB077F557E557D507C44121C7D1271 +:0D69D3001F568F9E439D80759A0A759BFF8D +:0169E0002294 +:03102300027CB29A +:067CB200C0E0C083C082A7 +:107CB800C086758600309808C2989002B6E599F09B +:027CC800D08664 +:077CCA00D082D083D0E0322C +:104A890080B678FA71C46B0C64C760C25B2755EBBA +:104A990051074C7449A2458441AA3E0D3AAB384AA4 +:104AA900354132682FBB2D382B7A29362715251425 +:104AB900233121C320101E761CF41B881A79192F63 +:104AC90017F816D215BC14DD13E212F41213113EB5 +:104AD90010970FD50F1E0E700DCC0D3E0CA90C1B97 +:104AE9000B940B140AA80A3309C5095B08F7089D3A +:104AF900084207EB0798074A070406BC06770636FB +:104B090005F705BD0584054D051904E804B9048BAD +:104B190004600436040E03E803C303A0037E035EA6 +:104B2900033F0321030402E902CF02B6029E028673 +:104B39000270025B02470232021F020D01FC01EB07 +:104B490001DA01CB01BC01AE01A001920185017915 +:104B5900016D01620156014B01410137012E01240A +:104B6900011B0113010B010300FB00F300EC00E53D +:104B790000DF00D800D200CC00C600C000BA00B5E2 +:104B890000B000AB00A700A2009D0099009500911C +:104B9900008D008900850082007F007B0078007508 +:104BA9000072006F006C0069006600640061005FBC +:104BB900005C005A0058005600530051004F004E47 +:024BC900004C9E +:03100000027C73FC +:107C730075819F007808760008B8A0FAE4900000A8 +:107C8300F0A3A882A983B8DCF7B907F4000230A6F1 +:1039FC00A2AF924DC2AF900234E0FFA3E09003253A +:103A0C00CFF0A3EFF090022C12241E90034312244B +:103A1C008490023012241E90037612248490023675 +:103A2C00E0FFA3E0900364CFF0A3EFF0900220122C +:103A3C00241E90037B122484900224E0FFA3E090C8 +:103A4C000374CFF0A3EFF090021EE0FEA3E0FFE4BE +:103A5C00FCFD90034D12248485111C85121D850FCD +:103A6C001A85101B90035F1224A900000000E4903B +:103A7C000372F0A3F0A24D92AF90034C741EF09021 +:103A8C00036B745AF0A3740BF0A3740FF0900366DD +:103A9C001224A9FFFF7748E490036AF090036F04A7 +:103AAC00F09003877414F090033C743EF0A3748080 +:103ABC00F0A3E4F0A37411F09003707406F0A374F7 +:103ACC0022F0900389743CF0900003E02438FE90BF +:103ADC000002E034FF900323F0A3CEF09003577460 +:103AEC000FF090035E740AF0900014E0FFA3E090D6 +:103AFC00037FCFF0A3EFF090034B745AF0E513FB68 +:103B0C007A007C117D94FF7E001221E1E4FCFD9093 +:103B1C00032D1224847C0B7DB8AF037E001221E1AF +:103B2C00E4FCFD900353122484900363743CF090E6 +:103B3C0003887414F0900331740FF090037A7414AA +:103B4C00F090036E740AF09003271224A900000071 +:103B5C0028900342741EF0900340740BF0A3744140 +:103B6C00F0900351740BF0A37441F0900381E4F0D6 +:103B7C00A37432F0900347E4F0A37405F09003387B +:103B8C00E4F0A37469F0900383E4F0A37464F09000 +:103B9C000349E4F0A3741EF090033AE4F0A37462BA +:103BAC00F09003857401F0A37490F090035CE4F042 +:043BBC00A3744BF0B3 +:013BC00022E2 +:106E7800A2AF924DC2AF900325E0FFA3E090023489 +:106E8800CFF0A3EFF090034312241E90022C12249B +:106E98008490037612241E90023012248490036496 +:106EA800E0FFA3E0900236CFF0A3EFF0A25A9222BF +:106EB800A25B92209000B9E024FF9221A24D92AFEC +:016EC80022A7 +:067F81005AA569963CC3FD +:104D03007F647E00E49002B9F09002B9E0FDC394A1 +:104D13000A4003024E21ED25E02402F582E434002B +:104D2300F583E0FCA3E0D3951DEC951C5003024EE4 +:104D3300189002B9E0705790007AE0FCA3E0FDD32D +:104D4300951DEC951C5003301906E4FEFF024E211D +:104D5300C3E51D9DFFE51C9CFE7C007D0A12252CEE +:104D6300EEC0E0EFC0E090007AE0FEA3E0FFC39066 +:104D73000003E09FFF900002E09EFECBEFCBFAE43E +:104D8300F9F8D0E0FFD0E0FE122304024E21900296 +:104D9300B9E025E02400F582E43400F583E0FEA3C6 +:104DA300E0FFC3E51D9FFFE51C9EFE7C007D0A120C +:104DB300252CECC0E0EDC0E0EEC0E0EFC0E09002D7 +:104DC300B9E0FF25E02400F582E43400F583E0FC3C +:104DD300A3E0FDEF25E02402F582E43400F583E04F +:104DE300FEA3E0C39DFFEE9CFECBEFCBFAE4F9F804 +:104DF300D0E0FFD0E0FED0E0FDD0E0FC122304CDF4 +:104E0300EFCDCCEECC9002B9E075F00AA42DFFE50E +:0F4E1300F03CFE80099002B9E004F0024D0C2241 +:104270009002B9EEF0A3EFF09000AAE0F9FDD3EFC1 +:104280009DEE9400500302434990036BE0FF9002BF +:10429000B9E0FCA3E0FDD39FEC94004078ED94647A +:1042A000EC940050709002B9E0FAA3E0FBC3746490 +:1042B0009BFFE49AFE7C007D0A1221E1E9FDC3EB3D +:1042C0009DFDEA9CFCD3ED9FEC9E50030243DE90E3 +:1042D00002B9E0FEA3E0FF9000AAF07C007D0A1284 +:1042E00021E19003A8EEF0A3EFF09002B9E0FEA365 +:1042F000E0FFE4FD90001AE0F8A3E0F9A3E0FAA3E0 +:10430000E0FB122279E47B64FAF9F81223049000AE +:10431000AB122484229002B9E07004A3E0646460CC +:10432000030243DE9000AA7464F09003A87403F0C3 +:10433000A374E8F090001AE0FCA3E0FDA3E0FEA364 +:10434000E0FF9000AB122484229000AAE0FD9002CE +:10435000B9E0FEA3E0FFC3ED9FFDE49EFC90034C9B +:10436000E0FBD3ED9BEC9400403F9000AAEFF07C83 +:10437000007D0A1221E19003A8EEF0A3EFF0900275 +:10438000B9E0FEA3E0FFE4FD90001AE0F8A3E0F935 +:10439000A3E0FAA3E0FB122279E47B64FAF9F812B5 +:1043A00023049000AB122484229002B9E07002A38F +:1043B000E0702B9000AA04F09003A8E4F0A3740A24 +:1043C000F0E47B64FAF9F890001AE0FCA3E0FDA3A6 +:0F43D000E0FEA3E0FF1223049000AB122484222E +:1043DF001239FC124D039002B7EEF0A3EFF0E47F19 +:1043EF00E87E03FDFC9000ABE0F8A3E0F9A3E0FA50 +:1043FF00A3E0FB12227990001AE0F8A3E0F9A3E002 +:10440F00FAA3E0FB1223049003A8EEF0A3EFF090C1 +:10441F0002B7E0FEA3E0FF1242709000AAE0FF7E19 +:10442F0000900325EEF0FAA3EFF0FB90001AE0FCEA +:10443F00A3E0FDA3E0FEA3E0FF900343122484CF8B +:10444F00EBCF7E00E4FCFD900343E0F8A3E0F9A37B +:10445F00E0FAA3E0FB122279E47B64FAF9F8122365 +:10446F00049003761224849000ABE0FCA3E0FDA33C +:10447F00E0FEA3E0FF90035812248490033412242B +:10448F00A9000000009003A6E0FFA3E090032BCF4C +:10449F00F0A3EFF0E47830F608F67838F608F678FF +:1044AF0034122490000000009003AC1224A90000E5 +:1044BF000000E490039CF0A3F09003B2F0A3F090FF +:1044CF0003AAF0A3F0C25BC257C2599003A5F090A4 +:1044DF0003A4F0783AF608F67832F608F69003A8B7 +:1044EF00E0FFA3E09003B0CFF0A3EFF0C25AC256A3 +:1044FF009003B41224A900000000E49003A6F0A3D7 +:10450F00F090038E1224A90000000090039712244C +:10451F00A9000000009003921224A900000000E4FB +:10452F0090039BF0900396F0C25890038A1224A92F +:08453F0000000000126E78225A +:10500000124D039002B7EEF0A3EFF0900331E0FFF2 +:10501000E4FCFDFE90001AE0F8A3E0F9A3E0FAA397 +:10502000E0FB122279E47B0AFAF9F8122304C8ECB7 +:10503000C8C9EDC9CAEECACBEFCB90037BE0FCA395 +:10504000E0FDA3E0FEA3E0FFD31223C7500302500C +:10505000D690037AE0FF7E009002B7E0FCA3E0FD6B +:10506000D39FEC9E4070D3900380E0951D90037F0A +:10507000E0951C4061ED9FFBEC9EFA9003A8E0FEDA +:10508000A3E0FF7C007D0A1221F3C3EF9BEE9A5050 +:105090004590036EE0FFC39002B8E09FFF9002B717 +:1050A000E09400FE7C007D0A1221E19003A8EEF05E +:1050B000A3EFF0E4FD90001AE0F8A3E0F9A3E0FA12 +:1050C000A3E0FB122279E47BE87A03F9F8122304C7 +:0750D0009000AB12248422C2 +:102559001239FC900340E0FEA3E0FFD3900375E03D +:102569009F900374E09E401EE4FFFEFDFC900397DC +:10257900E0F8A3E0F9A3E0FAA3E0FBD31223B1400A +:1025890005301802D25BC3900380E0951D90037F4C +:10259900E0951C5012900396E004F0E09405400E7B +:1025A9007405F0D2578007C257E4900396F0900063 +:1025B90028E0FEA3E0FFEE3395E0FDFC90037BE00D +:1025C900F8A3E0F9A3E0FAA3E0FBD31223B1500387 +:1025D9000227C1E49003B2F0A3F09003AAF0A3F09C +:1025E90090039BE004F0E0D3940540057405F0D214 +:1025F900589000B9E06010D25AE4F09003B4122464 +:10260900A900000000C256900372E0FEA3E0FFEEAD +:102619003395E0FDFC900281E0F8A3E0F9A3E0FA2C +:10262900A3E02FFFEA3EFEE93DFDE83CFC90038E66 +:10263900122484E4FFFEFDFC90038EE0F8A3E0F988 +:10264900A3E0FAA3E0FBD31223B14021900281E079 +:10265900A3E0A3E0FEA3E0FF900373E02FFF900344 +:1026690072E03EFE783BEF26F618EE36F6C3783B6D +:10267900E6941018E6940E500302270B0874F0260E +:10268900F61874F136F690001AE0FCA3E0FDA3E019 +:10269900FEA3E0FF9000ABE0F8A3E0F9A3E0FAA302 +:1026A900E0FBC31223C750219000ABE0FCA3E0FD7F +:1026B900A3E0FEA3E02401FFE43EFEE43DFDE43C8B +:1026C900FC9000AB122484801490001AE0FCA3E073 +:1026D900FDA3E0FEA3E0FF9000AB122484305A8DE5 +:1026E9009003B4E0FCA3E0FDA3E0FEA3E02401FF16 +:1026F900E43EFEE43DFDE43CFC9003B41224840274 +:102709002676900340E0FEA3E0FFD3900375E09F97 +:10271900900374E09E404490006AE0FEA3E0FFEE5F +:102729003395E0FDFC900281E0F8A3E0F9A3E0FA1B +:10273900A3E0FBC31223B15022C3900069E0951DA9 +:10274900900068E0951C501390006CE0FF9003A581 +:10275900E004F0C39F4004EFF0D25B90006AE0FE12 +:10276900A3E0FFEE3395E0FDFC900281E0F8A3E0E1 +:10277900F9A3E0FAA3E0FBC31223B1503590034D4E +:10278900E0FCA3E0FDA3E0FEA3E0FF90032DE0F849 +:10279900A3E0F9A3E0FAA3E0FBC31223C750139007 +:1027A9000363E0FF9003A4E004F0C39F4004EFF04B +:1027B900D259125000022AFF900028E0FEA3E0FF40 +:1027C900C3E49FFFE49EFE3395E0FDFC90037BE0AC +:1027D900F8A3E0F9A3E0FAA3E0FBC31223B1400395 +:1027E9000229B6E49003A5F09003A4F0C259C25B94 +:1027F9009003AAF0A3F09003B3F090039BF0C258A2 +:1028090090035FE0FCA3E0FDA3E0FEA3E0FF9002DC +:1028190081E0F8A3E0F9A3E0FAA3E02FFBEA3EFA8E +:10282900E93DF9E83CF8900372E0FEA3E0FFEE33DE +:1028390095E0FDFCEB2FFFEA3EFEE93DFDE83CFC9F +:1028490090038E12248490038EE0FCA3E0FDA3E0A4 +:10285900FEA3E0FFEC33500AC37833E69FF618E68F +:102869009EF6C37833E6941018E6940E50030229B5 +:102879004BC37833E6941018E6940E40670874F059 +:1028890026F61874F136F69000B3E0FCA3E0FDA338 +:10289900E0FEA3E02401FFE43EFEE43DFDE43CFC50 +:1028A9009000B3122484E47F01FEFDFC9000ABE0AC +:1028B900F8A3E0F9A3E0FAA3E0FBD31223C740B1E0 +:1028C9009000ABE0FCA3E0FDA3E0FEA3E024FFFF42 +:1028D900EE34FFFEED34FFFDEC34FFFC9000AB124B +:1028E9002484808D90001EE0FCA3E0FDA3E0FEA3FC +:1028F900E0FF9000B3E0F8A3E0F9A3E0FAA3E0FB5E +:10290900C31223C7403C9000B3E0FCA3E0FDA3E061 +:10291900FEA3E0FF90001EE0F8A3E0F9A3E0FAA30C +:10292900E0FBEF9BFFEE9AFEED99FDEC98FC900021 +:10293900B3122484900023E004F07006900022E092 +:1029490004F0900351E0FEA3E0FFD3900375E09FEC +:10295900900374E09E5003022AFF9000AFE0FCA3AD +:10296900E0FDA3E0FEA3E0FF900281E0F8A3E0F917 +:10297900A3E0FAA3E0FBD31223B15003022AFFD349 +:1029890090007BE0951B90007AE0951A5003022A8B +:10299900FF90007CE0FF9003B2E004F09F50030237 +:1029A9002AFFEFF09000B97401F0022AFF90037238 +:1029B900E0FAA3E0FBFFCEEACEEE3395E0FDFC336F +:1029C9004003022AA9C37833E69BFF18E69AFEF66C +:1029D90008EFF6C39410EE940E5003022AA974F07E +:1029E90026F61874F136F69000B3E0FCA3E0FDA3D7 +:1029F900E0FEA3E02401FFE43EFEE43DFDE43CFCEF +:102A09009000B3122484E47F01FEFDFC9000ABE04A +:102A1900F8A3E0F9A3E0FAA3E0FBD31223C740220D +:102A29009000ABE0FCA3E0FDA3E0FEA3E024FFFFE0 +:102A3900EE34FFFEED34FFFDEC34FFFC9000AB12E9 +:102A4900248490001EE0FCA3E0FDA3E0FEA3E0FFC8 +:102A59009000B3E0F8A3E0F9A3E0FAA3E0FBC31206 +:102A690023C7403C9000B3E0FCA3E0FDA3E0FEA334 +:102A7900E0FF90001EE0F8A3E0F9A3E0FAA3E0FB71 +:102A8900EF9BFFEE9AFEED99FDEC98FC9000B312D6 +:102A99002484900023E004F07006900022E004F002 +:102AA900900389E0FF9003AAE475F001122248FC23 +:102AB900C3E5F09FEC9400403A900351E0FEA3E097 +:102AC900FFD3900375E09F900374E09E4025D39057 +:102AD900007BE0951B90007AE0951A401690007CE7 +:102AE900E0FF9003B3E004F09F4008EFF09000B9D5 +:102AF9007401F0123394E47FE87E03FDFC9000AB8F +:102B0900E0F8A3E0F9A3E0FAA3E0FB122279900030 +:102B19001AE0F8A3E0F9A3E0FAA3E0FB122304907A +:102B290003A8EEF0A3EFF0900028E0FEA3E0FFC3B6 +:102B3900E49FFFE49EFE3395E0FDFC90037BE0F803 +:102B4900A3E0F9A3E0FAA3E0FBC31223B1400C20F0 +:102B59001509201A06201B03301C02C25A121056EE +:102B69009000AAE0FF7E00900325EEF0FAA3EFF0B3 +:102B7900FB90001AE0FCA3E0FDA3E0FEA3E0FF90B8 +:102B89000343122484CFEBCF7E00E4FCFD90034382 +:102B9900E0F8A3E0F9A3E0FAA3E0FB122279E47BD1 +:102BA90064FAF9F81223049003761224849000221F +:102BB900E0FFA3E0900364CFF0A3EFF09003A8E057 +:102BC900FFA3E09003B0CFF0A3EFF090038EE0FCF9 +:102BD900A3E0FDA3E0FEA3E0FF90039712248490F5 +:102BE90000ABE0FCA3E0FDA3E0FEA3E0FF900358E7 +:102BF9001224849003ACE0FCA3E0FDA3E0FEA3E073 +:102C0900FF9003341224849003A6E0FFA3E090030D +:0A2C19002BCFF0A3EFF0126E78222B +:1079C3001239FC90038A122443900327E0F8A3E0C2 +:1079D300F9A3E0FAA3E0FBC31223C75014900327D3 +:1079E300E0FCA3E0FDA3E0FEA3E0FF90038A1224E2 +:0579F30084126E7822F1 +:1035EC009005FCE4F0A37464F01239FC124D0390C6 +:1035FC0005FCEEF0A3EFF04E702E9000AA04F090B4 +:10360C0003A8E4F0A3740AF0E47B64FAF9F89000E0 +:10361C001AE0FCA3E0FDA3E0FEA3E0FF122304905C +:10362C0000AB1224840236F6900327E0FCA3E0FDE5 +:10363C00A3E0FEA3E0FF90038AE0F8A3E0F9A3E087 +:10364C00FAA3E0FBC31223C7400E9005FCE0FEA3D7 +:10365C00E0FF1242700236F6E47F64FEFDFC90003F +:10366C001AE0F8A3E0F9A3E0FAA3E0FB12227990A8 +:10367C0000ABE0F8A3E0F9A3E0FAA3E0FB1223040B +:10368C00C8ECC8C9EDC9CAEECACBEFCB90034CE06D +:10369C00FF9005FDE02FFF9005FCE03400FEE4FCFC +:1036AC00FDD31223C740439005FCE0FAA3E0FB7C5A +:1036BC00007D0AFFCEEACE1221E19003A8EEF0A322 +:1036CC00EFF0CFEBCFCEEACEE4FD90001AE0F8A3FA +:1036DC00E0F9A3E0FAA3E0FB122279E47B64FAF9A7 +:1036EC00F81223049000AB122484E47830F608F628 +:1036FC007838F608F6783412249000000000900315 +:10370C00AC1224A900000000E490039CF0A3F090FC +:10371C0003B2F0A3F09003AAF0A3F0C25BC257C2AD +:10372C00599003A5F09003A4F0783AF608F6783295 +:10373C00F608F69003A8E0FFA3E09003B0CFF0A347 +:10374C00EFF0C25AC2569003B41224A90000000034 +:10375C00E49003A6F0A3F090038E1224A9000000BD +:10376C00009003971224A9000000009003921224E9 +:10377C00A900000000E490039BF0900396F0C2585F +:10378C0090038A1224A9000000009000AAE0FF7E9A +:10379C0000900325EEF0FAA3EFF0FB90001AE0FC8A +:1037AC00A3E0FDA3E0FEA3E0FF900343122484CF2B +:1037BC00EBCF7E00E4FCFD900343E0F8A3E0F9A31B +:1037CC00E0FAA3E0FB122279E47B64FAF9F8122305 +:1037DC00049003761224849000ABE0FCA3E0FDA3DC +:1037EC00E0FEA3E0FF9003581224849003341224CB +:1037FC00A900000000E490032BF0A3F0126E7822D5 +:10339400305A09305B06C25AD2568021305B1E90E7 +:1033A40003A87403F0A374E8F090001AE0FCA3E00F +:1033B400FDA3E0FEA3E0FF9000AB1224843056038B +:1033C4000234449000B7E0FCA3E0FD900022E0FE4C +:1033D400A3E0FFC39DFDEE9CFCC390035DE09D90C4 +:1033E400035CE09C40030235EB205B030235EB12E7 +:1033F4006AFEE4FCFDFE90001AE0F8A3E0F9A3E005 +:10340400FAA3E0FB122279ECC0E0EDC0E0EEC0E0EC +:10341400EFC0E09000B7E0FEA3E0FF126AFECBEF3E +:10342400CBE4FAF9F8D0E0FFD0E0FED0E0FDD0E044 +:10343400FC1223049003B41224840235A00235A0A4 +:10344400C256E47F32FEFDFC900016E0F8A3E0F9DA +:10345400A3E0FAA3E0FB122279E47B64FAF9F81200 +:1034640023049002B71224849002B7E0FCA3E0FD89 +:10347400A3E0FEA3E0FF9003B4E0F8A3E0F9A3E027 +:10348400FAA3E02FFFEA3EFEE93DFDE83CFC900094 +:1034940016E0F8A3E0F9A3E0FAA3E0FBC31223C704 +:1034A40040030235EB900342E0FFE4FCFDFE900094 +:1034B4001AE0F8A3E0F9A3E0FAA3E0FB122279E40E +:1034C4007B64FAF9F81223049002B7122484900260 +:1034D400B7E0FCA3E0FDA3E0FEA3E0FF90001AE048 +:1034E400F8A3E0F9A3E0FAA3E02FFFEA3EFEE93DEA +:1034F400FDE83CFC9003B4E0F8A3E0F9A3E0FAA3F0 +:10350400E0FBD31223C7402E9002B7E0FCA3E0FDFA +:10351400A3E0FEA3E0FF90001AE0F8A3E0F9A3E023 +:10352400FAA3E02FFFEA3EFEE93DFDE83CFC9003F0 +:10353400B412248480669002B7E0FCA3E0FDA3E00B +:10354400FEA3E0FF9003B4E0F8A3E0F9A3E0FAA33C +:10355400E02FFFEA3EFEE93DFDE83CFC90001AE066 +:10356400F8A3E0F9A3E0FAA3E0FBD31223C7402CAD +:103574009002B7E0F8A3E0F9A3E0FAA3E0FB90001F +:103584001AE0FCA3E0FDA3E0FEA3E09BFFEE9AFE9D +:10359400ED99FDEC98FC9003B41224849003B4E0FC +:1035A400FCA3E0FDA3E0FEA3E0FF90001A12248434 +:1035B4009003A87403F0A374E8F090001AE0FCA34D +:1035C400E0FDA3E0FEA3E0FF9000AB122484900092 +:1035D40022E0FFA3E09000B7CFF0A3EFF09003B494 +:0835E4001224A90000000022DE +:106AFE00C3900386E09F900385E09E5004795580F5 +:106B0E0048C3900384E09F900383E09E5016900349 +:106B1E0049E0FCA3E0FD1221F390033AE0A3E0C3A9 +:106B2E009FF98025C3900382E09F900381E09E50E1 +:106B3E0016900347E0FCA3E0FD1221F3900338E02A +:0D6B4E00A3E0C39FF980027964CFE9CF2254 +:10105600E49002B7F0A3F0FFA3F0A3F0A3F090038F +:101066009EE0645A6028A2AF924DC2AF75A701E414 +:10107600EF90124093FE749E2FF582E43403F583BD +:10108600EEF00FEFB406E9E4F5A7A24D92AF900398 +:10109600A3E064C36003021C48FF749E2FF582E43C +:1010A6003403F583E0FEEF907F81936E6003021CAC +:1010B600480FEFB406E48003021C48900028E0FEC7 +:1010C600A3E0FFEE3395E0FDFC90037BE0F8A3E0A0 +:1010D600F9A3E0FAA3E0FBD31223B150030214F103 +:1010E6002058030214F1E47830F608F67838F6084A +:1010F600F69000AAE0D394634003021C48C3900311 +:1011060080E0951D90037FE0951C401E90034BE008 +:10111600FF7E007C007D0A1221E1D39003A9E09FA7 +:101126009003A8E09E50030213C930575A90034B10 +:10113600E0FBFF7E007C007D0A1221E19003A9E01E +:101146002496FD9003A8E03400FCC3ED9FEC9E506E +:1011560036EBFF7E007C007D0A1221E1EEF0A3EF64 +:10116600F0CFEBCFE4FDFE90001AE0F8A3E0F9A380 +:10117600E0FAA3E0FB122279E47B64FAF9F8122381 +:10118600049000AB12248490034DE0FCA3E0FDA381 +:10119600E0FEA3E0FF90032DE0F8A3E0F9A3E0FA58 +:1011A600A3E0FBD31223C7500302123090034DE095 +:1011B600F8A3E0F9A3E0FAA3E0FB90032DE0FCA37B +:1011C600E0FDA3E0FEA3E09BFBEE9AFAED99F9ECB5 +:1011D60098F8900387E0FFE4FCFDFE122279E47B99 +:1011E6000AFAF9F8122279EEC0E0EFC0E090001496 +:1011F600E0FEA3E0FFC3900069E09FFF900068E077 +:101206009EFECBEFCBFAE4F9F8D0E0FFD0E0FE1279 +:101216002304EFC0E0AF13CBEFCBE4FAF9F8D0E04C +:10122600FF122304900392122484C3900063E09576 +:101236001DFF900062E0951CFE900387E0FD7C0098 +:1012460012252CE47B0AFAF9F8122279EEC0E0EFB7 +:10125600C0E0900014E0FEA3E0FFC3900069E09FA9 +:10126600FF900068E09EFECBEFCBFAE4F9F8D0E001 +:10127600FFD0E0FE1223049002BC12248490039255 +:10128600E0FCA3E0FDA3E0FEA3E0FF9002BCE0F8D3 +:10129600A3E0F9A3E0FAA3E0FBC31223C75014901E +:1012A60002BCE0FCA3E0FDA3E0FEA3E0FF900392F6 +:1012B600122484E47F24FEFDFC90001AE0F8A3E0EB +:1012C600F9A3E0FAA3E0FB122279900392E0F8A3D7 +:1012D600E0F9A3E0FAA3E0FB122279EEC0E0EFC04A +:1012E600E09000AAE0FFC374659FFFE49400FECB84 +:1012F600EFCBFAE4F9F8D0E0FFD0E0FE122304E4E5 +:101306007B0AFAF9F81223049003921224849000BF +:101316006AE0FEA3E0FFEE3395E0FDFC90038EE06D +:10132600F8A3E0F9A3E0FAA3E0FBD31223B1406CE3 +:1013360090038EE0FCA3E0FDA3E0FEA3E0FFC8EC73 +:10134600C8A3E0FCA3E0FDA3E0FEA3E0FF12230494 +:10135600ECC0E0EDC0E0EEC0E0EFC0E090006AE077 +:10136600FEA3E0FFFBCAEECAEA3395E0F9F8900364 +:101376008EE0FCA3E0FDA3E0FEA3E0C39BFFEE9A94 +:10138600FEED99FDEC98FCD0E0FBD0E0FAD0E0F958 +:10139600D0E0F8122279900392122484900063E040 +:1013A60024FFFF900062E034FFFEC3E51D9FE51CAD +:1013B6009E50030214839003921224A90000000099 +:1013C6000214839003A8E0FEA3E0FF7C007D0A12CE +:1013D60021F3EF2401FFE43EFE9000AAE0FB7A0031 +:1013E600C39FEA9E503C9003A8E0FEA3E0FF7C006A +:1013F6007D0A1221F3EB2401FDEA33FCD3ED9FECC9 +:101406009E401FE47F24FEFDFC90001AE0F8A3E056 +:10141600F9A3E0FAA3E0FB12227990039212248446 +:10142600805B9000ABE0F8A3E0F9A3E0FAA3E0FB51 +:1014360090001AE0FCA3E0FDA3E0FEA3E0C39BFF3F +:10144600EE9AFEED99FDEC98FCE47B107A0EF9F825 +:10145600122279EEC0E0EFC0E09000AAE0FFC3746C +:10146600649FFFE49400FECBEFCBFAE4F9F8D0E0FA +:10147600FFD0E0FE12230490039212248490038E80 +:10148600E0FCA3E0FDA3E0FEA3E0FFFBCAEECAC9B1 +:10149600EDC9C8ECC8A3E0FCA3E0FDA3E0FEA3E011 +:1014A600FF1223049002BAEEF0A3EFF020590330A6 +:1014B6005B0D900388E0FF9002BAE4F0A3EFF09092 +:1014C60003A6E475F001122248FEC39002BBE09524 +:1014D600F09002BAE09E4003021C489000AAE00485 +:1014E600F0E49003A6F0A3F0021C48900028E0FE6A +:1014F600A3E0FFC3E49FFFE49EFE3395E0FDFC906E +:10150600037BE0F8A3E0F9A3E0FAA3E0FBC3122310 +:10151600B14003021BE89000AAE094015003021CAC +:1015260048900323E0FEA3E0FFAD137C0012252CB8 +:1015360090034DE0F8A3E0F9A3E0FAA3E0FBC312A1 +:1015460023C7402DD390007BE0951B90007AE09551 +:101556001A501E900357E0FF7E007C007D0A122180 +:10156600E1C39003A9E09F9003A8E09E4003021800 +:101576000B90036CE0FEA3E0FFD3900375E09F9011 +:101586000374E09E500302180B900366E0FCA3E090 +:10159600FDA3E0FEA3E0FF90037BE0F8A3E0F9A340 +:1015A600E0FAA3E0FBD31223B1500302180B7839FB +:1015B600E61846700302180B900397E0FCA3E0FDC3 +:1015C600A3E0FEA3E024D0FFEE3407FEE43DFDE4F5 +:1015D6003CFC90038EE0F8A3E0F9A3E0FAA3E0FB5D +:1015E600C31223B1400302180B900397E0FCA3E05B +:1015F600FDA3E0FEA3E02430FFEE34F8FEED34FF59 +:10160600FDEC34FFFC90038EE0F8A3E0A3E0A3E03A +:10161600D31223B1500302180B90035EE07E00251F +:101626001BFFEE351AFEC3EF783996EE1896400387 +:101636000217FA90039CE0FEA3E0FF9400EE9400EC +:1016460050030217FAEF9401EE9400500890039CA1 +:10165600E4F0A304F090034DE0FCA3E0FDA3E0FE5C +:10166600A3E0FF783412242AD31223C750030217AB +:1016760013900353E0F8A3E0F9A3E0FAA3E0FB908C +:10168600034DE0FCA3E0FDA3E0FEA3E09BFBEE9A86 +:10169600FAED99F9EC98F890039CE0FEA3E0FFE4DC +:1016A600FCFD122279ECC0E0EDC0E0EEC0E0EFC038 +:1016B600E090034DE0F8A3E0F9A3E0FAA3E0FBE82D +:1016C600C0E07834122412D0E0F8C3EF9BFBEE9A08 +:1016D600FAED99F9EC98F8D0E0FFD0E0FED0E0FD05 +:1016E600D0E0FC122304EEC0E0EFC0E09000AAE0D8 +:1016F60024FFFFE434FFFECBEFCBFAE4F9F8D0E0A9 +:10170600FFD0E0FE1223049003921224849000740A +:10171600E0FEA3E0FFC3E51B9FFFE51A9EFE9003D4 +:101726009CE0FCA3E0FD12252CEEC0E0EFC0E0C378 +:101736007839E6951BFF18E6951AFECBEFCBFAE44F +:10174600F9F8D0E0FFD0E0FE122304EEC0E0EFC0CF +:10175600E09000AAE024FFFFE434FFFECBEFCBFAD3 +:10176600E4F9F8D0E0FFD0E0FE1223049002BC12A8 +:101776002484900392E0FCA3E0FDA3E0FEA3E0FF37 +:101786009002BCE0F8A3E0F9A3E0FAA3E0FBC312E1 +:1017960023C750149002BCE0FCA3E0FDA3E0FEA327 +:1017A600E0FF9003921224847838A61A08A61B90AC +:1017B600034DE0FCA3E0FDA3E0FEA3E0FF783412B6 +:1017C6002478E490039CF0A3F0900392E0F8A3E061 +:1017D600F9A3E0FAA3E0FB90038EE0FCA3E0FDA3EF +:1017E600E0FEA3E0FF1223A31222799003921224B3 +:1017F60084021B7690039DE004F0700690039CE043 +:1018060004F0021B767838A61A08A61B90034DE052 +:10181600FCA3E0FDA3E0FEA3E0FF7834122478E405 +:1018260090039CF0A3F090036CE0FEA3E0FFC3904E +:101836000375E09F900374E09E4021900366E0FCF0 +:10184600A3E0FDA3E0FEA3E0FF90037BE0F8A3E0A6 +:10185600F9A3E0FAA3E0FB1223B1501D90001AE0B1 +:10186600FCA3E0FDA3E0FEA3E0FF9003AC122484FA +:10187600E47830F608F60219FA7830E6FE08E6FF54 +:101886002414FDE43EFC900374E0FAA3E0FBD39D30 +:10189600EA9C5011EB2414FDE43AFCD3EF9DEE9C38 +:1018A60050030219FA900374E0FEA3E0FF7830EECD +:1018B600F608EFF62487FFEE34F59002B7F0A3EFB3 +:1018C600F090033EE0FEA3E0FFFBCAEECAE4F9F89F +:1018D6009002B7E0FEA3E0FFEE3395E0FDFC122296 +:1018E60079C8ECC8C9EDC9CAEECACBEFCB90033CA8 +:1018F600E0FEA3E0FFE4C3EF9BFBEE9AFAE499F95E +:10190600E498F89002B7E0FEA3E0FFEE3395E0FD21 +:10191600FC122279E47B107A27F9F8127602C8ECD9 +:10192600C8C9EDC9CAEECACBEFCB900370E0FEA3DF +:10193600E0FFE4FCFDEB2FFFEA3EFEED39FDEC385F +:10194600FC90001AE0F8A3E0F9A3E0FAA3E0FB128A +:101956002279E47BD07A07F9F81223049003AC12BB +:10196600248490001AE0FCA3E0FDA3E0FEA3E0FFC0 +:101976009003ACE0F8A3E0F9A3E0FAA3E0FBD312EE +:1019860023C7401690001AE0FCA3E0FDA3E0FEA3E7 +:10199600E0FF9003AC122484805AE47F06FEFDFC2F +:1019A60090001AE0F8A3E0F9A3E0FAA3E0FB122204 +:1019B60079E47B0AFAF9F81223049003ACE0F8A361 +:1019C600E0F9A3E0FAA3E0FBC31223C75026E47FA5 +:1019D60006FEFDFC90001AE0F8A3E0F9A3E0FAA3E6 +:1019E600E0FB122279E47B0AFAF9F8122304900349 +:1019F600AC1224849003ACE0F8A3E0F9A3E0FAA3C8 +:101A0600E0FB90001AE0FCA3E0FDA3E0FEA3E0C328 +:101A16009BFFEE9AFEED99FDEC98FCE47B0DFAF93E +:101A2600F8122279E47B0AFAF9F81223049000AB43 +:101A3600E0F8A3E0F9A3E0FAA3E0FBC31223C75042 +:101A460020E47F24FEFDFC90001AE0F8A3E0F9A351 +:101A5600E0FAA3E0FB122279900392122484021B7F +:101A6600769000ABE0FCA3E0FDA3E0FEA3E0FF90D0 +:101A760003ACE0F8A3E0F9A3E0FAA3E02FFFEA3E07 +:101A8600FEE93DFDE83CFC90001AE0F8A3E0F9A36E +:101A9600E0FAA3E0FBC3EF9BFFEE9AFEED99FDECA7 +:101AA60098FCE47B64FAF9F81222799003ACE0F82A +:101AB600A3E0F9A3E0FAA3E0FB1223049002B9EF36 +:101AC600F02401FFE433FE9000AAE0FDC39FEE641C +:101AD60080F87480985035ED2401FFE433FE9002BF +:101AE600B9E0FDD3EF9D7480F86E98401FE47F2423 +:101AF600FEFDFC9003ACE0F8A3E0F9A3E0FAA3E056 +:101B0600FB12227990039212248480649000ABE049 +:101B1600FCA3E0FDA3E0FEA3E0FF9003ACE0F8A386 +:101B2600E0F9A3E0FAA3E02FFFEA3EFEE93DFDE877 +:101B36003CFC90001AE0F8A3E0F9A3E0FAA3E0FB6E +:101B4600C3EF9BFFEE9AFEED99FDEC98FCE47B104B +:101B56007A0EF9F8122279EFC0E09000AAE0FFFBB6 +:101B6600E4FAF9F8D0E0FF122304900392122484D9 +:101B760090038EE0FCA3E0FDA3E0FEA3E0FF1223AA +:101B8600A3CBEFCBCAEECAC9EDC9C8ECC8A3E0FC2B +:101B9600A3E0FDA3E0FEA3E0FF1223049002BAEE49 +:101BA600F0A3EFF09003A6E475F001122248FCD3EF +:101BB600E5F09FEC9E400D9000AAE014F0E490033F +:101BC600A6F0A3F030197B90036FE0FF9000AAE027 +:101BD600D39F506E90036AE060689000AA7401F08B +:101BE6008060E47838F608F6783412249000000015 +:101BF60000E47830F608F69000AAE0D3940140425B +:101C0600900372E0FEA3E0FFEE3395E0FDFC335057 +:101C1600319003A8E0FEA3E0FF7C007D0A1221F3C9 +:101C2600CAEECACBEFCB9003B0E0FEA3E0FF7C0088 +:101C36007D0A1221F3D3EF9BEE9A40069000AAE0AC +:101C460014F0E4FFFEFDFC900397E0F8A3E0F9A38F +:101C5600E0FAA3E0FBD31223B14009301806900046 +:101C6600AA7464F09002BAE0FFA3E0900332CFF0CA +:041C7600A3EFF022C6 +:107D2900304C19204306204403304510C24CC2434D +:0D7D3900C244C245C2AF127E861200A622CF +:10000000020D7A021003000000000002100B000035 +:10001000000000021013000000000002101B00008E +:10002000000000021023000000000002102B00005E +:10003000000000021033000000000002103B00002E +:10004000000000021043000000000002104B0000FE +:10005000000000021053000000000002105B0000CE +:10006000000000021063000000000002106B00009E +:10007000000000021073000000000002107B00006E +:10008000000000021083000000000002108B00003E +:10009000000000021093000000000002109B00000E +:1000A0000000000210A3E4F526F525F524F523F55C +:1000B00030F52FF52EF52DF52C120D5E209803024C +:1000C000018E7400252BF582E43402F583E599F066 +:1000D000052BE52BC3948C4003E4F52BE52BB401F1 +:1000E0000D900200E0645A700302018C806BE52BD6 +:1000F000B40214900201E064A56002805CE4F53172 +:10010000F532F52202018C900202E0FF7E00240904 +:10011000FDEE33FCAB2B7A00C3EB9DEC6480F874EE +:1001200080985062EF2407FFEE33FED3EB9FEE641E +:1001300080F8748098501574FF252BF582E4340103 +:10014000F583E02532F532E43531F531E52BB405A0 +:100150000D900204E064076033E4F52B802EE52B5C +:1001600064067028900205E0FF6406601FEF6407D4 +:10017000601AEF64086015EF64096010EF640A60AC +:100180000B432230800653B1F8120A9DC298309971 +:100190004453B1F8900202E02408FFE433FEC3E5C3 +:1001A0002B9FEE6480F87480984013E4F586D29C0F +:1001B000F52B900200F0A3F0A3F0D2028015052BDE +:1001C000E4F586C29C7400252BF582E43402F583A5 +:1001D000E0F599C299E52C640A60030200BC53B1B2 +:1001E000F82002030200BCC202F52C12000002003B +:1001F000BCC200900206E0FFC395214014E5212413 +:1002000004FDE433FCD3EF9DEC6480F874809840E7 +:100210000A900206E060047405F022900206E0F500 +:1002200021E4F0900202E070152526F526E525343C +:1002300002F525E43524F524E43523F52322E521D0 +:100240005403F50AE4F508F509900202E0FD7C008C +:10025000C3E5099DE5089C503274072509F582E441 +:100260003402F583E0FBAF0A7E00120638E5092F61 +:10027000FFE5083EFE74002FF58274003EF583EB27 +:10028000F00509E50970C2050880BEE50A6403604F +:100290000302044F751D551208955003020386E4AE +:1002A000FF7E02FDFCAB26AA25A924A8231207186D +:1002B000401AE5269400F526E5259402F525E52467 +:1002C0009400F524E5239400F5238009E4F526F550 +:1002D00025F524F523E4F50F30015E2526F50EE51E +:1002E000253410F50DE43524F50CE43523F50BE445 +:1002F000252AFFE529340CFEE43528FDE43527FCEA +:10030000AB0EAA0DA90CA80BC31207184040E42598 +:100310002AFBE529340CFAE43528F9E43527F8C33B +:10032000E50E9BF50EE50D9AF50DE50C99F50CE53E +:100330000B98F50B750F018015E42526F50EE525C4 +:100340003484F50DE43524F50CE43523F50B751DE7 +:1003500055AF0EAE0DAD0CAC0B850F15120B7EAF6D +:100360000EAE0DAD0CAC0B850F15120C8C500E1291 +:10037000089540129002067403F002044C900206A5 +:100380007402F002044CE4F50A75F004E50AA424B2 +:1003900002F582E5F03400F583E0FFE4FCFDFE7831 +:1003A0001012073CC004C005C006C00775F004E584 +:1003B0000AA42403F582E5F03400F583E0FFE4FCB1 +:1003C000FDFE781812073CD003D002D001D000EF18 +:1003D0004BFFEE4AFEED49FDEC48FCC004C005C0F1 +:1003E00006C00775F004E50AA42401F582E5F0349F +:1003F00000F583E0FFE4FCFDFE780812073CD00323 +:10040000D002D001D000EF4BFBEE4AFAED49F9ECF7 +:1004100048F875F004E50AA42400F582E5F03400FC +:10042000F583E0FFEB4FFFEAFEE9FDE8FCE5302F46 +:10043000F530E52F3EF52FE52E3DF52EE52D3CF56B +:100440002D050AE50A64806003020389E4F51D2294 +:10045000E4F526F525F524F523F530F52FF52EF5F1 +:100460002DF52AF529F528F527900209E0FFE4FC8F +:10047000FDFE781012073CC004C005C006C007A3EB +:10048000E0FFE4FCFDFE781812073CD003D002D058 +:1004900001D000EF4BFFEE4AFEED49FDEC48FCC0F9 +:1004A00004C005C006C007900208E0FFE4FCFDFEA2 +:1004B000780812073CD003D002D001D000EF4BFBEC +:1004C000EE4AFAED49F9EC48F8900207E0FFEB4FED +:1004D000F52AEAF529E9F528E8F527200006900233 +:1004E00006740AF0E4FF7E78FDFCAB2AAA29A9284D +:1004F000A827D312071840052001028017E4FF7EC9 +:10050000ECFDFCAB2AAA29A928A827D3120718407A +:100510000A3001079002067401F022E4900206F00E +:10052000F521751D55F515FF7E0EFDFC120B7EE4C1 +:10053000F515FF7E0EFDFC120C8C502B30012E7534 +:100540001BA5E4F51C7FFF7E0FFDFC120B15E4F5E7 +:100550001B7FFF7E0FFDFC120D94EF64A5600E90D3 +:1005600002067403F080069002067402F0E4F51DA2 +:10057000900206E06003020631FB7A02F9F8AF2A26 +:10058000AE29AD28AC271206868F09E4F508E508E8 +:10059000C395094003020637E4F50A300107F50E5A +:1005A000750D108006E4F50E750D84F50CF50BE560 +:1005B0000825E0FEE4FCFD250EF50EE50D3EF50DEB +:1005C000ED350CF50CEC350BF50B300135E5092458 +:1005D000FEFBE434FFFAED34FFF9EC34FFF8AF082A +:1005E000E4FED3120718501A750A01E5082402FF29 +:1005F000C3EF9509FFEF25E0FEE4F50E8E0DF50C37 +:10060000F50B751D55AF0EAE0DAD0CAC0B850A1577 +:10061000120B7EAF0EAE0DAD0CAC0B850A15120C95 +:100620008C40069002067402F0E4F51D05080205F0 +:100630008E9002067405F022EF8DF0A4A8F0CF8C06 +:10064000F0A428CE8DF0A42EFE2275F0087582004D +:10065000EF2FFFEE33FECD33CDCC33CCC58233C587 +:10066000829BED9AEC99E58298400CF582EE9BFE18 +:10067000ED9AFDEC99FC0FD5F0D6E4CEFBE4CDFA73 +:10068000E4CCF9A88222B800C1B90059BA002DEC17 +:100690008BF084CFCECDFCE5F0CBF97818EF2FFFAF +:1006A000EE33FEED33FDEC33FCEB33FB10D7039957 +:1006B0004004EB99FB0FD8E5E4F9FA227818EF2F04 +:1006C000FFEE33FEED33FDEC33FCC933C910D70523 +:1006D0009BE99A4007EC9BFCE99AF90FD8E0E4C942 +:1006E000FAE4CCFB2275F010EF2FFFEE33FEED3372 +:1006F000FDCC33CCC833C810D7079BEC9AE899409F +:100700000AED9BFDEC9AFCE899F80FD5F0DAE4CD00 +:10071000FBE4CCFAE4C8F922EB9FF5F0EA9E42F044 +:10072000E99D42F0E89C45F022E8600FECC313FC21 +:10073000ED13FDEE13FEEF13FFD8F122E8600FEF8B +:10074000C333FFEE33FEED33FDEC33FCD8F122EC86 +:100750008EF0A4CCC5F0CCCDF8EFA4CEC5F02DFD25 +:10076000E43CFCE8A42EC8C5F03DFDE43CFCEFA44D +:10077000FFE5F028FEE43DFDE43CFC22E4F50853EF +:10078000B1F8E508C3943A501FE4F50AAF08FE7CBF +:1007900002FD12074FE42FF510EE3410F50FE43D83 +:1007A000F50EE43CF50D8021750A01AF087E007C52 +:1007B000027D0012074FE42FF510EE348CF50FED9B +:1007C00034FFF50EEC34FFF50D751D55AF10AE0F6F +:1007D000AD0EAC0D850A15120B7EAF10AE0FAD0E2F +:1007E000AC0D850A15120C8C4003020883E4F50B4E +:1007F000F50CAE0BAF0CE4FCFDFB7A02F9F8D3125A +:1008000007185003020886AF087E007C027D0012A4 +:10081000074FA804A905AA06AB07E4250CFFE50BC2 +:100820003484FEE433FDE433FCEB2FFFEA3EFEE9C3 +:100830003DFDE83CFCE4F51B120D948F09E50C2509 +:1008400010FFE50B350FFEE4350EFDE4350DFC859C +:10085000091B850A1C120B15E50C2510FFE50B354D +:100860000FFEE4350EFDE4350DFC850A1B120D94D8 +:10087000EF650960037F0222050CE50C7002050B91 +:100880000207F27F01220508E508C3943C500302E9 +:10089000077F7F0022D203E4F510F511AE10AF11EF +:1008A000E4FCFDFB7A02F9F8D312071850030209A1 +:1008B0008CE4F51630015E2526F515E5253410F596 +:1008C00014E43524F513E43523F512E4252AFFE575 +:1008D00029340CFEE43528FDE43527FCAB15AA14B9 +:1008E000A913A812C31207184040E4252AFBE529E2 +:1008F000340CFAE43528F9E43527F8C3E5159BF5FF +:1009000015E5149AF514E51399F513E51298F51207 +:100910007516018015E42526F515E5253484F514B2 +:10092000E43524F513E43523F512AF15AE14AD13F9 +:10093000AC1274002511F58274003510F583E0F5D2 +:100940001B85161C120B15AF15AE14AD13AC12851A +:10095000161B120D9474002511F58274003510F5E4 +:1009600083E06F6004C2038023E5262401F526E4BA +:100970003525F525E43524F524E43523F523051143 +:10098000E511600302089C051002089CA203227E68 +:10099000007D007C00900209E0FFE4781012073C23 +:1009A000C004C005C006C007A3E0FFE4FCFDFE785C +:1009B0001812073CD003D002D001D000EF4BFFEE5D +:1009C0004AFEED49FDEC48FCC004C005C006C00766 +:1009D000900208E0FFE4FCFDFE780812073CD0031B +:1009E000D002D001D000EF4BFBEE4AFAED49F9EC12 +:1009F00048F8900207E0FFEB4FFFEAFEE9FDE8FC54 +:100A0000AB30AA2FA92EA82DC31207186007900299 +:100A1000067408F022E4900206F022E4F508F509D5 +:100A2000900202F0900205740BF0900203E0FFA325 +:100A3000E0900203F0A3EFF07F02900202E0FE24B8 +:100A400007FDE433FCEFC39DEC6480F8748098509C +:100A50001774002FF582E43402F583E02509F509C7 +:100A6000E43508F5080F80D274072EF582E43402CD +:100A7000F583E509F0E508FF900202E02408F5821D +:100A8000E43402F583EFF0C202E4F586C29C740000 +:100A9000252BF582E43402F583E0F59922E4F52B69 +:100AA000900202E0FD2408F582E43402F583E0FEC2 +:100AB00074072DF582E43402F583E07C002400FF06 +:100AC000EC3EFEEF65327003EE6531600343228039 +:100AD000E5226006900206F08038900205E0FEB440 +:100AE0000605120CD5802BEEB407051204508022A7 +:100AF000900205E0B408051201F18016900205E0AD +:100B0000B4090512098F800A900205E0B40A0312A5 +:100B10000BDE020A1B8F1A8E198D188C17851CA7E5 +:100B2000AF1AAE19AD18AC1778081207298FF7E580 +:100B30001AFF8FFB851BFC75F26E20AF3D75F30528 +:100B4000E5A7651C703475F40AE51DB4552C75F5E0 +:100B500009AF1AAE19AD18AC177808120729A80406 +:100B6000A905AA06AB07AFF7E4FCFDFEC312071800 +:100B7000700875F6060000000000E4F5A7228F1447 +:100B80008E138D128C118515A7AF14AE13AD12AC58 +:100B90001178081207298FF775F2E620AF3C75F33C +:100BA00005E5A76515703375F40AE51DB4552B7579 +:100BB000F509AF14AE13AD12AC117808120729A8CD +:100BC00004A905AA06AB07AFF7E4FCFDFEC31207B4 +:100BD00018700775F60600000000E4F5A722E490FF +:100BE0000206F0752C0A751D55F515FF7E0EFDFCED +:100BF000120B7EE4F515FF7E0EFDFC120C8C502AC4 +:100C0000200130751B5AE4F51C7FFF7E0FFDFC129E +:100C10000B15E4F51B7FFF7E0FFDFC120D94EF64B6 +:100C20005A6010900206740380059002067402F068 +:100C3000E4F52CE4F51D2253B1F8120DACE4F51BDC +:100C40007FFF7E0FFDFC120D94EF645A7026C201E7 +:100C5000751D55120D3850028005120D385005E4EF +:100C6000F51D8024E4F51D758E55438702000000B4 +:100C7000000080F0E4F51B7FFF7E0FFDFC120D9459 +:100C8000BFA505D2010200A6121000228F148E13F8 +:100C90008D128C11D2048515A7E4F516F517AE1642 +:100CA000AF17E4FCFDFB7A02F9F8D3120718401FD6 +:100CB000E5172514FFE51635138F82F583E493605D +:100CC00004C204800A0517E51770D3051680CFE427 +:100CD000F5A7A20422E4900206F0A3E0FFB4490FB6 +:100CE000A3E0B4410AA3E0B45005C201D20022EF50 +:100CF000B44911900208E0B4530AA3E0B45005D2FD +:100D000001D20022900206740AF0C200227580F817 +:100D100075E18F75E9C875908075E27F75EA807519 +:100D2000A0E075E33F75EBC075B01975E4E675ECAE +:100D3000194380C043E98022D20312077CEF701967 +:100D4000F515FF7E0EFDFC120B7EE4F515FF7E0E01 +:100D5000FDFC120C8C92038002C203A2032275C414 +:100D600032E4F587759850759D7F759C64759E0477 +:100D7000439D80759A0A759BFF2275817F75B20825 +:100D8000000000000000000043B20478FFE4F6D841 +:100D9000FD020C378F1A8E198D188C17E4851BA74E +:100DA000851A8285198393FFE4F5A722120DB512E7 +:100DB0000D0DC20022E4F5A8F5A9F5AA2200000055 +:100DC0000000000000000000000000000000000023 +:100DD0000000000000000000000000000000000013 +:100DE0000000000000000000000000000000000003 +:100DF00000000000000000000000000000000000F3 +:100E000000000000000000000000000000000000E2 +:100E100000000000000000000000000000000000D2 +:100E200000000000000000000000000000000000C2 +:100E300000000000000000000000000000000000B2 +:100E400000000000000000000000000000000000A2 +:100E50000000000000000000000000000000000092 +:100E60000000000000000000000000000000000082 +:100E70000000000000000000000000000000000072 +:100E80000000000000000000000000000000000062 +:100E90000000000000000000000000000000000052 +:100EA0000000000000000000000000000000000042 +:100EB0000000000000000000000000000000000032 +:100EC0000000000000000000000000000000000022 +:100ED0000000000000000000000000000000000012 +:100EE0000000000000000000000000000000000002 +:100EF00000000000000000000000000000000000F2 +:100F000000000000000000000000000000000000E1 +:100F100000000000000000000000000000000000D1 +:100F200000000000000000000000000000000000C1 +:100F300000000000000000000000000000000000B1 +:100F400000000000000000000000000000000000A1 +:100F50000000000000000000000000000000000091 +:100F60000000000000000000000000000000000081 +:100F70000000000000000000000000000000000071 +:100F80000000000000000000000000000000000061 +:100F90000000000000000000000000000000000051 +:100FA0000000000000000000000000000000000041 +:100FB0000000000000000000000000000000000031 +:100FC0000000000000000000000000000000000021 +:100FD0000000000000000000000000000000000011 +:100FE0000000000000000000000000000000000001 +:100FF00000000000000000000000000000000000F1 +:101C7A00021FC2E86480F8E933E83360110460F0B7 +:101C8A00ED33EC337009E8FCE9FDEAFEEBFF2204D0 +:101C9A0060DED3EB9FEA9EE99DE8C2E78CF0C2F7CB +:101CAA0095F0400CE8CCF8E9CDF9EACEFAEBCFFB97 +:101CBA00121F8D85D0F05804700320D5B3E8047044 +:101CCA00075002B2D5021FCC92D5EC0460F7E4CCDF +:101CDA00C0E0C398F8603B94186008400DD0E0FB60 +:101CEA00021FA4E4FBFAC9FC8028E830E406E4C930 +:101CFA00FBE4CAFCE830E305E4C9CACBFCE85407B4 +:101D0A006010F8C3E913F9EA13FAEB13FBEC13FCBE +:101D1A00D8F130F52FC3E49CFCEF9BFFEE9AFEED61 +:101D2A0099FDD0E0FBEF4E4D4C701222DB03021FEF +:101D3A00C9EC2CFCEF33FFEE33FEED33FDED30E75B +:101D4A00EB021FA4EF2BFFEE3AFEED39FDD0E0FBCC +:101D5A0050130BBB0003021FCCED13FDEE13FEEF75 +:081D6A0013FFEC13FC021FA49F +:101D7200EC4D6011E8497017ED33EC3304600DE46B +:101D8200FCFFFEFD22E933E8330470F8021FC212A1 +:101D92001F8D58046009E4CC2481500628500902A2 +:101DA2001FCC284003021FC9C0E0EB4A7044B9802F +:101DB20006D0E0FB021FB8EF4E701CBD8008EBFF9F +:101DC200EAFEE9FD80EBE98DF0A4FEE5F0021E5B80 +:101DD200E9CDF9EAFEEBFFEF89F0A4FCE5F0CE894C +:101DE200F0A42EFFE435F0CD89F0A42DFEE435F009 +:101DF2008067EF4E7005BD80D780C3EF8BF0A4AC37 +:101E0200F0EE8BF0A42CFCE435F0F8EF8AF0A42C71 +:101E1200E5F038FCE433CB8DF0A42CFCE5F03BF884 +:101E2200EE8AF0A42CFCE5F038F8E433CF89F0A474 +:101E32002CFCE5F038CF3400CE89F0A42FFFE5F07A +:101E42003EFEE433C98DF0A42EFEE5F039CD8AF0D2 +:101E5200A42FFFE5F03EFEE43DFD33D0E0FB50074A +:101E62000BBB000F021FCCEC2CFCEF33FFEE33FE5A +:061E7200ED33FD021FA488 +:101E7800021FCCEC5D046005E859047003021FC220 +:101E8800121F8D580460F6EC4860F2EC7004FDFEF9 +:101E9800FF22C860DB2481C85009C398600250063D +:101EA800021FC99850CAF582E9294B4A7005AB82CE +:101EB800021FB875F0007C1A7880C3EF9BEE9AED8C +:101EC80099400DC3EF9BFFEE9AFEED99FDE842F0B5 +:101ED800DC23ACF0D0E0FFD0E0FED0E0FDAB822008 +:101EE800E7101BEB60BAEC2CFCEF33FFEE33FEED92 +:101EF80033FD021FA4E803F830E705C0F075F000D1 +:101F0800EF2FFFEE33FEED33FD40B830E7C280AA75 +:101F180075F020800E75F010800575F0087D007E44 +:101F2800007F003392D530D5031223A3EC33401041 +:101F3800EF33FFEE33FEED33FDEC33FCD5F0ED224D +:0E1F4800E5F0247EA2D513CC92E7CDCEFF2289 +:101F5600EDD2E7CD33EC3392D524814006E4FFFE83 +:101F6600FDFC22FCE4CFCECDCC24E0501174FF80E2 +:101F7600EDC3CC13CCCD13CDCE13CECF13CF04707F +:071F8600F030D5DE0223A3B9 +:102C2300E51524BAF582E43402F583E00515229014 +:102C330002B73054039002BAE475F0011224E6029D +:102C43002189204DE97F2ED24D8018EF540F249017 +:102C5300D43440D4FF30510BEF24BFB41A005003D7 +:102C63002461FFE516600215160519E519700205C2 +:102C73001830540E9002B7E475F0011224E6EF0207 +:102C830021CF027F517403D2548003E4C254F5155B +:102C93009002B71224FDE4F516F518F519E5166050 +:102CA300077F20122C6680F57517FFC24EC24DC2F6 +:102CB3004FC250C252C253C255122C32FF700D3054 +:102CC30054057F00122C77AF19AE1822B4255FC2CA +:102CD300D5C251122C32FF24D0B40A00501A75F019 +:102CE3000A781630D50508B6FF0106C6A426F620D5 +:102CF300D5047002D25080D924CFB41A00EF500407 +:102D0300C2E5D251022F69D24E80C6D24D80C0D2C5 +:102D13004F80BCD2D580BAD25280B47F20122C66A9 +:102D2300204F077401B5160040F1122C23FF122C1B +:102D330066022CA0D255D2538095122C23FB122C61 +:102D430023FA122C23F94A4B700679677A307BFFFA +:102D5300204F2EE516602A7E008E82758300122195 +:102D6300A260060EEE651770F0C2D5EBC0E0EAC0B4 +:102D7300E0E9C0E0EE122FCAD0E0F9D0E0FAD0E0EB +:102D8300FB122189FF60AAEBC0E0EAC0E0E9C0E0E2 +:102D9300122C66D0E02401F9D0E03400FAD0E0FB35 +:102DA300E5170460DCD517D98087D24F80A2122F94 +:102DB300AC60F7E517700104121FD7A917600DE582 +:102DC30017600914F517123054EF60F3EA30E70285 +:102DD300F404C3995079EAF425170430E701E404B5 +:102DE300F517800D122FAC60C1EA05172517121FC6 +:102DF300D7EA9002E6F030E701E4251704D517047B +:102E030020520114122FCAE4C0E01230549002E69B +:102E1300E0601320E70714F0122C4E802204F0D058 +:102E2300E014C0E07F00122C4EE5176007122C451A +:102E33001517800B305203122C45D0E0022CA0D082 +:102E4300E00480C4122FAC609EE51704121FD790D4 +:102E530002E6EAF0E5172052026001042404122F6F +:012E6300CAA4 +:102E640074FF04C0E0123054122C4EE517205202B5 +:102E74006003122C45D0E0B517E87F45122C58901A +:102E840002E6E07F2B30E7047F2DF404C0E0122C2F +:102E940066D0E075F00A84C0F0122C4FD0E0122CFA +:102EA4004F022CA0791080027908C253C2558008C1 +:102EB400D2D5790A8004790AC2D5E517047002F5DF +:102EC40017E4FAFDFEFF122C23FC7B08204E13129C +:102ED4002C23FD7B10304D0A122C23FE122C23FFD1 +:102EE4007B20EC3382D592D55013C3E4304D069F3A +:102EF400FFE49EFEE4204E039DFDE49CFCE4CBF83D +:102F0400C24EEC700CCFCECDCCE824F8F870F38030 +:102F140017C3EF33FFEE33FEED33FDEC33FCEB333D +:102F2400FB994002FB0FD8E9EB304E05F8D0E0C422 +:102F340048B24EC0E00AEC4D4E4F78207B0070C280 +:102F4400EAB5170040BCC0E0122FCCD0F0D0E0208E +:102F54004E04C4C0E0C4B24EC0F0122C4FD0F0D521 +:102F6400F0EB022CA01225062D3D532EA8582D0E51 +:102F74004C2D0A422EAC4F2EB4442EB4492D23437B +:102F84002EBA552DE7462E47452DB1473087502D93 +:102F9400122D2D162E2D392B2D1A232D372030705E +:102FA4002A2CD24800002D31E517B4FF037517060B +:102FB400122C23FC122C23FD122C23FE122C23FF93 +:102FC4009002DF022014790AA2D52050143052094D +:102FD400B910020404B9080104A2D5205302500117 +:102FE40004204F68924FB516005034C0E07F203063 +:102FF40050197F30A24F72537252500F123023C2B5 +:103004004FC253C252C2557F30800F305203E9C0C1 +:10301400E0122C66305203D0E0F9D0E0B516CC3083 +:1030240052177F30B9100C122C667F583051077F2D +:10303400788003B90803122C66304F057F2D022CCB +:10304400667F202055F87F2B2053F322924F80CFA8 +:103054007F00B40700500B24DFF582E43402F583CB +:10306400E0FF22286E756C6C2900D24E122C23309E +:103074004EF8C24E781630D50108F6022CD22D50E7 +:10308400434958122C232403B405004001E4903032 +:103094008293122C57743A122C57D250751604028C +:0230A4002EA854 +:101F8D00E9D2E7C933E833F892D5EDD2E7CD33EC9A +:071F9D0033FC5002B2D52213 +:101FA400EC30E7100FBF000C0EBE00080DBD00049E +:101FB4000BEB6014A2D5EB13FCED92E7FD2274FF4A +:101FC400FCFDFEFF22E480F8A2D574FF13FC7D80A3 +:031FD400E480EFB7 +:101FD700F920E73624F950037907E4F42402FBE5F6 +:101FE70082158270021583DBF6E024FB501BE96043 +:101FF70014E4F0E582158270021583E004F0B40A58 +:0D20070008E4F0D9EE7401F00A22C2D522DF +:10201400ED33EC3392D5FA602AB4FF33EDC2E77B9B +:10202400FF60067A207939E4227A20794220D504A7 +:102034007A20793D224E614E002B494E46002D49AF +:102044004E4600E47A08F0A3DAFC7B00740722C051 +:1020540083C082ECC0E0EDC0E0EEC0E0EFC0E0EA97 +:1020640075F010A4CAABF075F04DA42BFBE435F069 +:10207400FCEA2410FAEB34C5FBEC34D9FCEDC2E7DE +:10208400FF75F056A4F42411C5F0F434C58FF0A400 +:102094002AE5F03BE43CF020E714122149D0E0FFAC +:1020A400D0E0FED0E0FDD0E0FC121E7B8014F404EE +:1020B400122149D0E0FFD0E0FED0E0FDD0E0FC12D8 +:1020C4001D72D082D083E0FAEDD2E7CD33EC332415 +:1020D40082FBE4C3CF33CFCE33CECD33CD33DBF36A +:1020E4007B0775F00A846004F0A31B0AE5F0F0A3F3 +:1020F4008FF0740AA4FFACF08EF0740AA42CFEAC2A +:10210400F050010C8DF0740AA42CFDE435F0F0A31A +:05211400DBDE74072270 +:102119003F8000004120000042C80000447A0000CE +:10212900461C400047C35000497424004B18968050 +:102139004CBEBC205A0E1BCA6753C21C749DC5AE47 +:10214900FB60065407601C2323122177EB54386087 +:1021590009122163122172121D72ECF8EDF9EEFADF +:10216900EFCB22EB12217280F1543803241C902109 +:1021790019FE93FC0EEE93FD0EEE930ECE93FF2205 +:10218900BB010689828A83E0225002E722BBFE0254 +:09219900E32289828A83E4932287 +:1021A200BB010CE58229F582E5833AF583E02250F2 +:1021B20006E92582F8E622BBFE06E92582F8E2223C +:0D21C200E58229F582E5833AF583E4932256 +:1021CF00BB010689828A83F0225002F722BBFE01EF +:0221DF00F322E9 +:1021E100EF8DF0A4A8F0CF8CF0A428CE8DF0A42E12 +:0221F100FE22CC +:1021F300BC000BBE0029EF8DF084FFADF022E4CCD0 +:10220300F875F008EF2FFFEE33FEEC33FCEE9DEC98 +:10221300984005FCEE9DFE0FD5F0E9E4CEFD22EDDE +:10222300F8F5F0EE8420D21CFEADF075F008EF2F28 +:10223300FFED33FD4007985006D5F0F222C398FD19 +:052243000FD5F0EA22B6 +:10224800C5F0F8A3E028F0C5F0F8E5821582700221 +:062258001583E038F022BE +:0D225E00EF2BFFEE3AFEED39FDEC38FC22CF +:0E226B00C3EF9BFFEE9AFEED99FDEC98FC226E +:10227900E88FF0A4CC8BF0A42CFCE98EF0A42CFC04 +:102289008AF0EDA42CFCEA8EF0A4CDA8F08BF0A482 +:102299002DCC3825F0FDE98FF0A42CCD35F0FCEBE1 +:1022A9008EF0A4FEA9F0EB8FF0A4CFC5F02ECD39A6 +:0F22B900FEE43CFCEAA42DCE35F0FDE43CFC2213 +:1022C80075F008758200EF2FFFEE33FECD33CDCCCD +:1022D80033CCC58233C5829BED9AEC99E582984050 +:1022E8000CF582EE9BFEED9AFDEC99FC0FD5F0D62D +:1022F800E4CEFBE4CDFAE4CCF9A88222B800C1B957 +:102308000059BA002DEC8BF084CFCECDFCE5F0CB94 +:10231800F97818EF2FFFEE33FEED33FDEC33FCEBCD +:1023280033FB10D703994004EB99FB0FD8E5E4F988 +:10233800FA227818EF2FFFEE33FEED33FDEC33FC75 +:10234800C933C910D7059BE99A4007EC9BFCE99A69 +:10235800F90FD8E0E4C9FAE4CCFB2275F010EF2FAE +:10236800FFEE33FEED33FDCC33CCC833C810D707AE +:102378009BEC9AE899400AED9BFDEC9AFCE899F8E9 +:0E2388000FD5F0DAE4CDFBE4CCFAE4C8F9227C +:10760200C2D5E830E70FB2D5E4C39BFBE49AFAE4B3 +:1076120099F9E498F8EC30E717B2D51276381223CC +:1076220004E4C39BFBE49AFAE499F9E498F8800332 +:1076320012230430D50DE4C39FFFE49EFEE49DFDBA +:04764200E49CFC22A6 +:0D239600EF4BFFEE4AFEED49FDEC48FC2246 +:0E23A300C3E49FFFE49EFEE49DFDE49CFC224B +:1023B100EB9FF5F0EA9E42F0E99D42F0EC6480C8A3 +:0623C10064809845F02243 +:1023C700EB9FF5F0EA9E42F0E99D42F0E89C45F06C +:0123D70022E3 +:1023D800E8600FECC313FCED13FDEE13FEEF13FFE3 +:0323E800D8F12207 +:1023EB00E86010ECA2E713FCED13FDEE13FEEF1308 +:0423FB00FFD8F022F5 +:1023FF00E8600FEFC333FFEE33FEED33FDEC33FC3C +:03240F00D8F122DF +:0C241200E6FC08E6FD08E6FE08E6FF22F6 +:0C241E00E0FCA3E0FDA3E0FEA3E0FF2231 +:0D242A00E6FB08E6F908E6FA08E6CBF82222 +:0C243700E0F8A3E0F9A3E0FAA3E0FB2228 +:102443007401FF3395E0FEFDFCA3A3A3E02FFFF08F +:10245300E582158270021583E03EFEF0E582158267 +:1024630070021583E03DFDF0E5821582700215834D +:05247300E03CFCF0223A +:0C247800ECF608EDF608EEF608EFF62290 +:0C248400ECF0A3EDF0A3EEF0A3EFF022CB +:10249000D083D082E493F608740193F60874029313 +:0924A000F608740393F67404734A +:1024A900A8828583F0D083D0821224C01224C0125E +:1024B90024C01224C0E473E493A3C583C5F0C58383 +:1024C900C8C582C8F0A3C583C5F0C583C8C582C87D +:0124D90022E0 +:0C24DA00A42582F582E5F03583F583220D +:1024E600F8E0FBA3A3E0F925F0F0E582158270027F +:0724F6001583E0FA38F02223 +:0924FD00EBF0A3EAF0A3E9F022E0 +:10250600D083D082F8E4937012740193700DA3A364 +:1025160093F8740193F5828883E473740293686078 +:06252600EFA3A3A380DF78 +:10252C00EC8EF0A4CCC5F0CCCDF8EFA4CEC5F02D3C +:10253C00FDE43CFCE8A42EC8C5F03DFDE43CFCEFFA +:0D254C00A4FFE5F028FEE43DFDE43CFC2288 +:00000001FF diff --git a/output/MCUCore_Load.lnp b/output/MCUCore_Load.lnp new file mode 100644 index 0000000..5f1e025 --- /dev/null +++ b/output/MCUCore_Load.lnp @@ -0,0 +1,36 @@ +".\output\Main.obj", +".\output\Initial.obj", +".\output\InterruptApp.obj", +".\output\Led.obj", +".\output\KeyApp.obj", +".\output\LowPower.obj", +".\output\UartApp.obj", +".\output\Memory.obj", +".\output\AFE.obj", +".\output\Balance.obj", +".\output\Calculate.obj", +".\output\Calibrate.obj", +".\output\ChargerLoad.obj", +".\output\ExtE2PRom.obj", +".\output\Interrupt.obj", +".\output\KeyScan.obj", +".\output\McuFlash.obj", +".\output\McuLib.obj", +".\output\MosCtrl.obj", +".\output\PorSelfTest.obj", +".\output\Protect.obj", +".\output\RTC.obj", +".\output\TWI.obj", +".\output\Uart.obj", +".\output\Thermistor.obj", +".\output\TwiIO.obj", +".\output\STARTUP.obj", +".\output\GasGaugeInter_V4_13.obj", +".\code_gasguage\GasGaugeV4_13.LIB", +".\output\BootApp.obj", +".\output\BootIAP.obj" +TO ".\output\MCUCore_Load" REGFILE (.\output\MCUCore_Load.ORC) +PRINT(".\output\MCUCore_Load.m51") RAMSIZE(256) +DISABLEWARNING (16) +CODE( 0X0000-0XFBFF , ?CO?BootIAP(0x0000) ) +XDATA( 0X0200-0X0AFE ) diff --git a/output/MCUCore_Load.m51 b/output/MCUCore_Load.m51 new file mode 100644 index 0000000..bc65522 --- /dev/null +++ b/output/MCUCore_Load.m51 @@ -0,0 +1,6642 @@ +BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 1 + + +BL51 BANKED LINKER/LOCATER V6.22, INVOKED BY: +D:\TOOL\KEIL\C51\BIN\BL51.EXE .\output\Main.obj, .\output\Initial.obj, .\output\InterruptApp.obj, .\output\Led.obj, .\ou +>> tput\KeyApp.obj, .\output\LowPower.obj, .\output\UartApp.obj, .\output\Memory.obj, .\output\AFE.obj, .\output\Balance +>> .obj, .\output\Calculate.obj, .\output\Calibrate.obj, .\output\ChargerLoad.obj, .\output\ExtE2PRom.obj, .\output\Inte +>> rrupt.obj, .\output\KeyScan.obj, .\output\McuFlash.obj, .\output\McuLib.obj, .\output\MosCtrl.obj, .\output\PorSelfTe +>> st.obj, .\output\Protect.obj, .\output\RTC.obj, .\output\TWI.obj, .\output\Uart.obj, .\output\Thermistor.obj, .\outpu +>> t\TwiIO.obj, .\output\STARTUP.obj, .\output\GasGaugeInter_V4_13.obj, .\code_gasguage\GasGaugeV4_13.LIB, .\output\Boot +>> App.obj, .\output\BootIAP.obj TO .\output\MCUCore_Load REGFILE (.\output\MCUCore_Load.ORC) PRINT (.\output\MCUCore_Lo +>> ad.m51) RAMSIZE (256) DISABLEWARNING (16) CODE (0X0000-0XFBFF, ?CO?BOOTIAP (0X0000)) XDATA (0X0200-0X0AFE) + + +MEMORY MODEL: LARGE WITH FLOATING POINT ARITHMETIC + + +INPUT MODULES INCLUDED: + .\output\Main.obj (MAIN) + .\output\Initial.obj (INITIAL) + .\output\InterruptApp.obj (INTERRUPTAPP) + .\output\Led.obj (LED) + .\output\KeyApp.obj (KEYAPP) + .\output\LowPower.obj (LOWPOWER) + .\output\UartApp.obj (UARTAPP) + .\output\Memory.obj (MEMORY) + .\output\AFE.obj (AFE) + .\output\Balance.obj (BALANCE) + .\output\Calculate.obj (CALCULATE) + .\output\Calibrate.obj (CALIBRATE) + .\output\ChargerLoad.obj (CHARGERLOAD) + .\output\ExtE2PRom.obj (EXTE2PROM) + .\output\Interrupt.obj (INTERRUPT) + .\output\KeyScan.obj (KEYSCAN) + .\output\McuFlash.obj (MCUFLASH) + .\output\McuLib.obj (MCULIB) + .\output\MosCtrl.obj (MOSCTRL) + .\output\PorSelfTest.obj (PORSELFTEST) + .\output\Protect.obj (PROTECT) + .\output\RTC.obj (RTC) + .\output\TWI.obj (TWI) + .\output\Uart.obj (UART) + .\output\Thermistor.obj (THERMISTOR) + .\output\TwiIO.obj (TWIIO) + .\output\STARTUP.obj (?C_STARTUP) + .\output\GasGaugeInter_V4_13.obj (GASGAUGEINTER_V4_13) + .\code_gasguage\GasGaugeV4_13.LIB (GASGAUGEV4_12) + .\output\BootApp.obj (BOOTAPP) + .\output\BootIAP.obj (BOOTIAP) + D:\TOOL\KEIL\C51\LIB\C51FPL.LIB (?C?FPADD) + D:\TOOL\KEIL\C51\LIB\C51FPL.LIB (?C?FPMUL) + D:\TOOL\KEIL\C51\LIB\C51FPL.LIB (?C?FPDIV) + D:\TOOL\KEIL\C51\LIB\C51FPL.LIB (?C?FCAST) + D:\TOOL\KEIL\C51\LIB\C51FPL.LIB (?C?CASTF) + D:\TOOL\KEIL\C51\LIB\C51FPL.LIB (PRINTF) + D:\TOOL\KEIL\C51\LIB\C51FPL.LIB (?C?FPGETOPN) + D:\TOOL\KEIL\C51\LIB\C51FPL.LIB (?C?FPROUND) + D:\TOOL\KEIL\C51\LIB\C51FPL.LIB (?C?FPCONVERT) + D:\TOOL\KEIL\C51\LIB\C51FPL.LIB (?C?FTNPWR) + D:\TOOL\KEIL\C51\LIB\C51L.LIB (?C?CLDPTR) + D:\TOOL\KEIL\C51\LIB\C51L.LIB (?C?CLDOPTR) + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 2 + + + D:\TOOL\KEIL\C51\LIB\C51L.LIB (?C?CSTPTR) + D:\TOOL\KEIL\C51\LIB\C51L.LIB (?C?IMUL) + D:\TOOL\KEIL\C51\LIB\C51L.LIB (?C?UIDIV) + D:\TOOL\KEIL\C51\LIB\C51L.LIB (?C?IILDX) + D:\TOOL\KEIL\C51\LIB\C51L.LIB (?C?LADD) + D:\TOOL\KEIL\C51\LIB\C51L.LIB (?C?LSUB) + D:\TOOL\KEIL\C51\LIB\C51L.LIB (?C?LMUL) + D:\TOOL\KEIL\C51\LIB\C51L.LIB (?C?ULDIV) + D:\TOOL\KEIL\C51\LIB\C51L.LIB (?C?SLDIV) + D:\TOOL\KEIL\C51\LIB\C51L.LIB (?C?LOR) + D:\TOOL\KEIL\C51\LIB\C51L.LIB (?C?LNEG) + D:\TOOL\KEIL\C51\LIB\C51L.LIB (?C?SLCMP) + D:\TOOL\KEIL\C51\LIB\C51L.LIB (?C?ULCMP) + D:\TOOL\KEIL\C51\LIB\C51L.LIB (?C?ULSHR) + D:\TOOL\KEIL\C51\LIB\C51L.LIB (?C?SLSHR) + D:\TOOL\KEIL\C51\LIB\C51L.LIB (?C?LSHL) + D:\TOOL\KEIL\C51\LIB\C51L.LIB (?C?LLDIDATA) + D:\TOOL\KEIL\C51\LIB\C51L.LIB (?C?LLDXDATA) + D:\TOOL\KEIL\C51\LIB\C51L.LIB (?C?LLDIDATA0) + D:\TOOL\KEIL\C51\LIB\C51L.LIB (?C?LLDXDATA0) + D:\TOOL\KEIL\C51\LIB\C51L.LIB (?C?LILDXDATA) + D:\TOOL\KEIL\C51\LIB\C51L.LIB (?C?LSTIDATA) + D:\TOOL\KEIL\C51\LIB\C51L.LIB (?C?LSTXDATA) + D:\TOOL\KEIL\C51\LIB\C51L.LIB (?C?LSTKIDATA) + D:\TOOL\KEIL\C51\LIB\C51L.LIB (?C?LSTKXDATA) + D:\TOOL\KEIL\C51\LIB\C51L.LIB (?C?OFFXADD) + D:\TOOL\KEIL\C51\LIB\C51L.LIB (?C?PLDIXDATA) + D:\TOOL\KEIL\C51\LIB\C51L.LIB (?C?PSTXDATA) + D:\TOOL\KEIL\C51\LIB\C51L.LIB (?C?CCASE) + D:\TOOL\KEIL\C51\LIB\C51L.LIB (?C?LIMUL) + + +LINK MAP OF MODULE: .\output\MCUCore_Load (MAIN) + + + TYPE BASE LENGTH RELOCATION SEGMENT NAME + ----------------------------------------------------- + + * * * * * * * D A T A M E M O R Y * * * * * * * + REG 0000H 0008H ABSOLUTE "REG BANK 0" + DATA 0008H 0007H UNIT ?DT?KEYSCAN + DATA 000FH 0006H UNIT ?DT?AFE + DATA 0015H 0005H UNIT _DATA_GROUP_ + DATA 001AH 0004H UNIT ?DT?GASGAUGEINTER_V4_13 + IDATA 001EH 0001H UNIT ?ID?EXTE2PROM + 001FH 0001H *** GAP *** + DATA 0020H 0007H BIT_ADDR ?BA?MEMORY + BIT 0027H.0 0001H.3 UNIT ?BI?EXTE2PROM + BIT 0028H.3 0001H.2 UNIT ?BI?UARTAPP + BIT 0029H.5 0001H.1 UNIT _BIT_GROUP_ + BIT 002AH.6 0000H.6 UNIT ?BI?GASGAUGEV4_12 + BIT 002BH.4 0000H.5 UNIT ?BI?AFE + BIT 002CH.1 0000H.5 UNIT ?BI?BALANCE + BIT 002CH.6 0000H.4 UNIT ?BI?LOWPOWER + BIT 002DH.2 0000H.4 UNIT ?BI?CHARGERLOAD + BIT 002DH.6 0000H.3 UNIT ?BI?INTERRUPTAPP + BIT 002EH.1 0000H.3 UNIT ?BI?MCUFLASH + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 3 + + + BIT 002EH.4 0000H.2 UNIT ?BI?LED + BIT 002EH.6 0000H.2 UNIT ?BI?MOSCTRL + BIT 002FH.0 0000H.2 UNIT ?BI?PROTECT + BIT 002FH.2 0000H.2 UNIT ?BI?RTC + BIT 002FH.4 0000H.1 UNIT ?BI?CALIBRATE + BIT 002FH.5 0000H.1 UNIT ?BI?KEYSCAN + BIT 002FH.6 0000H.1 UNIT ?BI?PORSELFTEST + 002FH.7 0000H.1 *** GAP *** + IDATA 0030H 000CH UNIT ?ID?GASGAUGEV4_12 + 003CH 0064H *** GAP *** + IDATA 00A0H 0060H ABSOLUTE + + * * * * * * * X D A T A M E M O R Y * * * * * * * + XDATA 0000H 0002H ABSOLUTE + XDATA 0002H 0014H ABSOLUTE + XDATA 0016H 0004H ABSOLUTE + XDATA 001AH 0004H ABSOLUTE + XDATA 001EH 0004H ABSOLUTE + XDATA 0022H 0002H ABSOLUTE + XDATA 0024H 0002H ABSOLUTE + XDATA 0026H 0002H ABSOLUTE + XDATA 0028H 0002H ABSOLUTE + XDATA 002AH 0001H ABSOLUTE + XDATA 002BH 0001H ABSOLUTE + XDATA 002CH 0002H ABSOLUTE + XDATA 002EH 0001H ABSOLUTE + XDATA 002FH 0001H ABSOLUTE + XDATA 0030H 0002H ABSOLUTE + XDATA 0032H 0002H ABSOLUTE + XDATA 0034H 0001H ABSOLUTE + XDATA 0035H 000CH ABSOLUTE + XDATA 0041H 0004H ABSOLUTE + XDATA 0045H 0002H ABSOLUTE + XDATA 0047H 000CH ABSOLUTE + XDATA 0053H 000CH ABSOLUTE + XDATA 005FH 0002H ABSOLUTE + XDATA 0061H 0001H ABSOLUTE + XDATA 0062H 0002H ABSOLUTE + XDATA 0064H 0002H ABSOLUTE + XDATA 0066H 0001H ABSOLUTE + XDATA 0067H 0001H ABSOLUTE + XDATA 0068H 0002H ABSOLUTE + XDATA 006AH 0002H ABSOLUTE + XDATA 006CH 0001H ABSOLUTE + XDATA 006DH 0004H ABSOLUTE + XDATA 0071H 0001H ABSOLUTE + XDATA 0072H 0001H ABSOLUTE + XDATA 0073H 0001H ABSOLUTE + XDATA 0074H 0002H ABSOLUTE + XDATA 0076H 0002H ABSOLUTE + XDATA 0078H 0001H ABSOLUTE + XDATA 0079H 0001H ABSOLUTE + XDATA 007AH 0002H ABSOLUTE + XDATA 007CH 0001H ABSOLUTE + XDATA 007DH 0004H ABSOLUTE + XDATA 0081H 0001H ABSOLUTE + XDATA 0082H 0004H ABSOLUTE + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 4 + + + XDATA 0086H 0001H ABSOLUTE + XDATA 0087H 0001H ABSOLUTE + XDATA 0088H 0001H ABSOLUTE + XDATA 0089H 0002H ABSOLUTE + XDATA 008BH 0001H ABSOLUTE + XDATA 008CH 0001H ABSOLUTE + XDATA 008DH 0001H ABSOLUTE + XDATA 008EH 0002H ABSOLUTE + XDATA 0090H 0002H ABSOLUTE + XDATA 0092H 0002H ABSOLUTE + XDATA 0094H 0002H ABSOLUTE + XDATA 0096H 0001H ABSOLUTE + XDATA 0097H 0001H ABSOLUTE + XDATA 0098H 0001H ABSOLUTE + XDATA 0099H 0002H ABSOLUTE + XDATA 009BH 0002H ABSOLUTE + XDATA 009DH 0002H ABSOLUTE + XDATA 009FH 0002H ABSOLUTE + XDATA 00A1H 0001H ABSOLUTE + XDATA 00A2H 0002H ABSOLUTE + XDATA 00A4H 0002H ABSOLUTE + XDATA 00A6H 0002H ABSOLUTE + XDATA 00A8H 0001H ABSOLUTE + XDATA 00A9H 0001H ABSOLUTE + XDATA 00AAH 0001H ABSOLUTE + XDATA 00ABH 0004H ABSOLUTE + XDATA 00AFH 0004H ABSOLUTE + XDATA 00B3H 0004H ABSOLUTE + XDATA 00B7H 0002H ABSOLUTE + XDATA 00B9H 0001H ABSOLUTE + XDATA 00BAH 0001H ABSOLUTE + XDATA 00BBH 0001H ABSOLUTE + XDATA 00BCH 0002H ABSOLUTE + XDATA 00BEH 0001H ABSOLUTE + XDATA 00BFH 0002H ABSOLUTE + XDATA 00C1H 0002H ABSOLUTE + XDATA 00C3H 0002H ABSOLUTE + XDATA 00C5H 0002H ABSOLUTE + XDATA 00C7H 0002H ABSOLUTE + XDATA 00C9H 0001H ABSOLUTE + XDATA 00CAH 0001H ABSOLUTE + XDATA 00CBH 0133H ABSOLUTE + XDATA 01FEH 0002H ABSOLUTE + XDATA 0200H 00B5H UNIT ?XD?AFE + XDATA 02B5H 006EH UNIT _XDATA_GROUP_ + XDATA 0323H 0067H UNIT ?XD?GASGAUGEINTER_V4_13 + XDATA 038AH 002EH UNIT ?XD?GASGAUGEV4_12 + XDATA 03B8H 0022H UNIT ?XD?PROTECT + XDATA 03DAH 0015H UNIT ?XD?EXTE2PROM + XDATA 03EFH 000DH UNIT ?XD?UARTAPP + XDATA 03FCH 0003H UNIT ?XD?LED + XDATA 03FFH 0001H UNIT ?XD?KEYAPP + XDATA 0400H 0096H ABSOLUTE + XDATA 0496H 0008H UNIT ?XD?RTC + XDATA 049EH 0002H UNIT ?XD?INTERRUPTAPP + XDATA 04A0H 0096H ABSOLUTE + XDATA 0536H 0006H UNIT ?XD?BALANCE + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 5 + + + XDATA 053CH 0003H UNIT ?XD?LOWPOWER + XDATA 053FH 0001H UNIT ?XD?PORSELFTEST + XDATA 0540H 0096H ABSOLUTE + XDATA 05D6H 0012H UNIT ?XD?CALIBRATE + XDATA 05E8H 0003H UNIT ?XD?_MCUPWM0SET?MCULIB + XDATA 05EBH 0003H UNIT ?XD?_MCUPWM1SET?MCULIB + XDATA 05EEH 0002H UNIT ?XD?_UART0WRITEINFO?UARTAPP + XDATA 05F0H 0002H UNIT ?XD?UART0RDCMDPROCESS?UARTAPP + XDATA 05F2H 0002H UNIT ?XD?UART0WRCMDPROCESS?UARTAPP + XDATA 05F4H 0002H UNIT ?XD?UART0IAPCHECKHANDSHAKE?UARTAPP + XDATA 05F6H 0002H UNIT ?XD?CALCULATE + XDATA 05F8H 0002H UNIT ?XD?CHARGERLOAD + XDATA 05FAH 0002H UNIT ?XD?MCUFLASH + XDATA 05FCH 0002H UNIT ?XD?GASGAUGEWKUP?GASGAUGEV4_12 + + * * * * * * * C O D E M E M O R Y * * * * * * * + CODE 0000H 1000H UNIT ?CO?BOOTIAP + CODE 1000H 0003H ABSOLUTE + CODE 1003H 0020H UNIT ?PR?INTERRUPTTIMER3?INTERRUPT + CODE 1023H 0003H ABSOLUTE + 1026H 0005H *** GAP *** + CODE 102BH 0003H ABSOLUTE + CODE 102EH 0024H UNIT ?PR?_INTERRUPTINT4APP?INTERRUPTAPP + 1052H 0001H *** GAP *** + CODE 1053H 0003H ABSOLUTE + CODE 1056H 0C24H UNIT ?PR?DATAFILTER?GASGAUGEV4_12 + CODE 1C7AH 08DFH UNIT ?C?LIB_CODE + CODE 2559H 06CAH UNIT ?PR?GASGAUGEMANAGE?GASGAUGEV4_12 + CODE 2C23H 0483H UNIT ?PR?PRINTF?PRINTF + CODE 30A6H 02EEH UNIT ?PR?MAIN?MAIN + CODE 3394H 0258H UNIT ?PR?FCCUPDATE?GASGAUGEV4_12 + CODE 35ECH 0220H UNIT ?PR?GASGAUGEWKUP?GASGAUGEV4_12 + CODE 380CH 01F0H UNIT ?PR?_CALCUTEMP?CALCULATE + CODE 39FCH 01C5H UNIT ?PR?GASGAUGEVARIN?GASGAUGEINTER_V4_13 + CODE 3BC1H 01C2H UNIT ?PR?_RTCREADTIME?RTC + CODE 3D83H 01B9H UNIT ?PR?_TWIREAD?TWI + CODE 3F3CH 01B3H UNIT ?PR?_E2PROMBKDATA?EXTE2PROM + CODE 40EFH 0181H UNIT ?PR?AFECALCUCURR?CALCULATE + CODE 4270H 016FH UNIT ?PR?_GASGAUGEINITSOC?GASGAUGEV4_12 + CODE 43DFH 0168H UNIT ?PR?GASGAUGEINIT?GASGAUGEV4_12 + CODE 4547H 0167H UNIT ?PR?UART0IAPCHECKHANDSHAKE?UARTAPP + CODE 46AEH 0150H UNIT ?PR?UART0RDCMDPROCESS?UARTAPP + CODE 47FEH 0147H UNIT ?PR?_TWIWRITE?TWI + CODE 4945H 0144H UNIT ?PR?BALTURNONCHECK?BALANCE + CODE 4A89H 0142H UNIT ?CO?THERMISTOR + CODE 4BCBH 0138H UNIT ?PR?AFECALCUVOL?CALCULATE + CODE 4D03H 011FH UNIT ?PR?GASGAUGEGETOCV?GASGAUGEV4_12 + CODE 4E22H 0100H UNIT ?CO?TWI + CODE 4F22H 00DEH UNIT ?PR?AFECALCUTEMPE?CALCULATE + CODE 5000H 00D7H UNIT ?PR?CORRECTCHGDFRC?GASGAUGEV4_12 + CODE 50D7H 00D3H UNIT ?PR?E2PROMBKCHECK?EXTE2PROM + CODE 51AAH 00C4H UNIT ?PR?PROTECTOV?PROTECT + CODE 526EH 00C1H UNIT ?PR?MCUFLASHPROCESS?MCUFLASH + CODE 532FH 00BDH UNIT ?PR?UART0CALICURRENT?UARTAPP + CODE 53ECH 00BCH UNIT ?PR?PROTECTUV?PROTECT + CODE 54A8H 00BCH UNIT ?PR?PROTECTOTC?PROTECT + CODE 5564H 00BCH UNIT ?PR?PROTECTUTC?PROTECT + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 6 + + + CODE 5620H 00BCH UNIT ?PR?PROTECTOTD?PROTECT + CODE 56DCH 00BCH UNIT ?PR?PROTECTUTD?PROTECT + CODE 5798H 00BAH UNIT ?PR?BALPROCESS?BALANCE + CODE 5852H 00B3H UNIT ?PR?OFFSETCALCULATE?CALCULATE + CODE 5905H 00ACH UNIT ?PR?E2PROMBKPROCESS?EXTE2PROM + CODE 59B1H 00ABH UNIT ?PR?INTERRUPTUART0APPTX?UARTAPP + CODE 5A5CH 00ABH UNIT ?PR?_AFEWRITEREG?AFE + CODE 5B07H 00A7H UNIT ?PR?UART0WRCMDPROCESS?UARTAPP + CODE 5BAEH 00A2H UNIT ?PR?KEYSCAN?KEYSCAN + CODE 5C50H 00A1H UNIT ?CO?MAIN + CODE 5CF1H 00A1H UNIT ?PR?SYSPARAINIT?INITIAL + CODE 5D92H 009CH UNIT ?PR?_RTCMODIFYTIME?RTC + CODE 5E2EH 0097H UNIT ?PR?_INTERRUPTUART0APPRX?UARTAPP + CODE 5EC5H 0097H UNIT ?PR?_MCUFLASHWRITE?MCUFLASH + CODE 5F5CH 008EH UNIT ?PR?LOWPOWERCHECK?LOWPOWER + CODE 5FEAH 008DH UNIT ?PR?_RTCINITTIME?RTC + CODE 6077H 008CH UNIT ?PR?_MCUFLASHWRSECTOR?MCUFLASH + CODE 6103H 0087H UNIT ?PR?AFEINIT?AFE + CODE 618AH 0086H UNIT ?PR?AFEINITREG?AFE + CODE 6210H 0081H UNIT ?PR?_MCUPWM0SET?MCULIB + CODE 6291H 0081H UNIT ?PR?_MCUPWM1SET?MCULIB + CODE 6312H 0081H UNIT ?PR?_MCUPWM2SET?MCULIB + CODE 6393H 007DH UNIT ?PR?E2PROMINIT?EXTE2PROM + CODE 6410H 0076H UNIT ?PR?PROTECTOCRECOVER?PROTECT + CODE 6486H 0070H UNIT ?PR?_UART0WRITEINFO?UARTAPP + CODE 64F6H 006FH UNIT ?PR?UART1RDE2PROM?EXTE2PROM + CODE 6565H 006FH UNIT ?PR?UART2RDE2PROM?EXTE2PROM + CODE 65D4H 006FH UNIT ?PR?INTERRUPTINT4?INTERRUPT + CODE 6643H 006DH UNIT ?PR?CALIVOLTAGE?CALIBRATE + CODE 66B0H 006CH UNIT ?PR?E2PROMERASE?EXTE2PROM + CODE 671CH 006BH UNIT ?PR?_AFEREADREG?AFE + CODE 6787H 0069H UNIT ?PR?UART0RDE2PROM?EXTE2PROM + CODE 67F0H 0066H UNIT ?PR?KEYSWITCHSPEED?KEYAPP + CODE 6856H 0066H UNIT ?PR?RAMCHECKPROCESS?MCULIB + CODE 68BCH 0063H UNIT ?PR?_UART0READINFO?UARTAPP + CODE 691FH 0061H UNIT ?PR?AFERAMCHECK?AFE + CODE 6980H 0061H UNIT ?PR?UART0INIT?UART + CODE 69E1H 005FH UNIT ?PR?_E2PROMWRITE?EXTE2PROM + CODE 6A40H 005FH UNIT ?PR?_E2PROMREAD?EXTE2PROM + CODE 6A9FH 005FH UNIT ?PR?_MCUFLASHREAD?MCUFLASH + CODE 6AFEH 005DH UNIT ?PR?_GETCYCLEGAIN?GASGAUGEV4_12 + CODE 6B5BH 005CH UNIT ?PR?LEDDISPLAY?LED + CODE 6BB7H 005BH UNIT ?PR?_RTCWRITE?RTC + CODE 6C12H 005BH UNIT ?PR?_RTCREAD?RTC + CODE 6C6DH 005AH UNIT ?PR?_MCUFLASHDATACHECK?MCUFLASH + CODE 6CC7H 0059H UNIT ?PR?PROTECTOCC?PROTECT + CODE 6D20H 0059H UNIT ?PR?PROTECTOCD1?PROTECT + CODE 6D79H 0059H UNIT ?PR?PROTECTOCD2?PROTECT + CODE 6DD2H 0054H UNIT ?PR?UART0CALIRTC?UARTAPP + CODE 6E26H 0052H UNIT ?PR?UART0CALIVOLTAGE?UARTAPP + CODE 6E78H 0051H UNIT ?PR?GASGAUGEVAROUT?GASGAUGEINTER_V4_13 + CODE 6EC9H 004FH UNIT ?PR?CALIPROCESS?CALIBRATE + CODE 6F18H 004FH UNIT ?PR?PORPROTECTOTC?PORSELFTEST + CODE 6F67H 004FH UNIT ?PR?PORPROTECTUTC?PORSELFTEST + CODE 6FB6H 004FH UNIT ?PR?PORPROTECTOTD?PORSELFTEST + CODE 7005H 004FH UNIT ?PR?PORPROTECTUTD?PORSELFTEST + CODE 7054H 004EH UNIT ?PR?LOADCHECK?CHARGERLOAD + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 7 + + + CODE 70A2H 004CH UNIT ?PR?INITIAL?INITIAL + CODE 70EEH 004CH UNIT ?PR?E2PROMBKRTC?EXTE2PROM + CODE 713AH 004CH UNIT ?PR?UART1RDRTC?EXTE2PROM + CODE 7186H 004CH UNIT ?PR?UART2RDRTC?EXTE2PROM + CODE 71D2H 004AH UNIT ?PR?AFEGETVOL?CALCULATE + CODE 721CH 004AH UNIT ?PR?MOSSTATUSCHECK?MOSCTRL + CODE 7266H 0049H UNIT ?PR?UART0CALITS1?UARTAPP + CODE 72AFH 0049H UNIT ?PR?UART0CALITS2?UARTAPP + CODE 72F8H 0049H UNIT ?PR?CHGERCHECK?CHARGERLOAD + CODE 7341H 0048H UNIT ?CO?UARTAPP + CODE 7389H 0048H UNIT ?PR?AFEGETTEMPE?CALCULATE + CODE 73D1H 0048H UNIT ?PR?_DELAY1MS?MCULIB + CODE 7419H 0048H UNIT ?PR?PORPROTECTOV?PORSELFTEST + CODE 7461H 0048H UNIT ?PR?PORPROTECTUV?PORSELFTEST + CODE 74A9H 0046H UNIT ?PR?UART0RDRTC?EXTE2PROM + CODE 74EFH 0045H UNIT ?PR?UART0WRITEMANUFACTURE?UARTAPP + CODE 7534H 0045H UNIT ?PR?CALITS1?CALIBRATE + CODE 7579H 0045H UNIT ?PR?CALITS2?CALIBRATE + CODE 75BEH 0044H UNIT ?PR?CALIRTCTIME?CALIBRATE + CODE 7602H 0044H UNIT ?C?LDIV + CODE 7646H 0042H UNIT ?PR?INITVAR?INITIAL + CODE 7688H 0041H UNIT ?PR?E2PROMBKBOOT?EXTE2PROM + CODE 76C9H 0040H UNIT ?PR?WAKEUPPROCESS?LOWPOWER + CODE 7709H 0040H UNIT ?PR?LOWPOWERPROCESS?LOWPOWER + CODE 7749H 003FH UNIT ?PR?_LEDGETDISNUM?LED + CODE 7788H 003FH UNIT ?PR?_AFEBALCTL?AFE + CODE 77C7H 003DH UNIT ?PR?AFERDFLG?AFE + CODE 7804H 003CH UNIT ?PR?AFECLRFLG?AFE + CODE 7840H 003BH UNIT ?PR?CALICURRENTGAIN?CALIBRATE + CODE 787BH 003BH UNIT ?PR?PORSELFTEST?PORSELFTEST + CODE 78B6H 0037H UNIT ?PR?UART0READSUBCLASSID?UARTAPP + CODE 78EDH 0036H UNIT ?PR?SYSTEMINTOSLEEP?LOWPOWER + CODE 7923H 0036H UNIT ?PR?UART0CALICUROFFSET?UARTAPP + CODE 7959H 0035H UNIT ?PR?CTOCHECKVOL?BALANCE + CODE 798EH 0035H UNIT ?PR?_MCUFLASHWRONEBYTE?MCUFLASH + CODE 79C3H 0035H UNIT ?PR?GASGAUGEIDLE?GASGAUGEV4_12 + CODE 79F8H 0034H UNIT ?CO?CALCULATE + CODE 7A2CH 0033H UNIT ?PR?_MEMORYCOPY?MCULIB + CODE 7A5FH 0030H UNIT ?PR?KEYPROCESS?KEYAPP + CODE 7A8FH 0030H UNIT ?PR?_MCUTIMER3SET?MCULIB + CODE 7ABFH 002DH UNIT ?PR?MOSCTRL?MOSCTRL + CODE 7AECH 002CH UNIT ?PR?SYSTEMRESETPROCESS?MCULIB + CODE 7B18H 002BH UNIT ?PR?INITGPIO?INITIAL + CODE 7B43H 002AH UNIT ?PR?_MEMORYSET?MCULIB + CODE 7B6DH 0027H UNIT ?PR?_MCUFLASHCHECKFLG?MCUFLASH + CODE 7B94H 0027H UNIT ?PR?_TWICHECKSTATUS?TWI + CODE 7BBBH 0026H UNIT ?PR?AFEENTERPD?AFE + CODE 7BE1H 0026H UNIT ?PR?CTOTURNONCHECK?BALANCE + CODE 7C07H 0026H UNIT ?PR?_MCUFLASHBLANKCHECK?MCUFLASH + CODE 7C2DH 0024H UNIT ?PR?INTERRUPTTIMER3APP?INTERRUPTAPP + CODE 7C51H 0022H UNIT ?PR?_MCUCLOCKSET?MCULIB + CODE 7C73H 0020H UNIT ?C_C51STARTUP + CODE 7C93H 001FH UNIT ?PR?PROTECTPROCESS?PROTECT + CODE 7CB2H 001FH UNIT ?PR?INTERRUPTUART0?UART + CODE 7CD1H 001EH UNIT ?PR?INITIRQ?INITIAL + CODE 7CEFH 001DH UNIT ?PR?E2PROMTWICHECK?EXTE2PROM + CODE 7D0CH 001DH UNIT ?PR?RTCTWICHECK?RTC + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 8 + + + CODE 7D29H 001DH UNIT ?PR?ISPPROCESS?BOOTAPP + CODE 7D46H 001CH UNIT ?PR?_CRC8CAL?TWI + CODE 7D62H 001AH UNIT ?PR?AFETWICHECK?AFE + CODE 7D7CH 0018H UNIT ?PR?AFERDSTATUS?AFE + CODE 7D94H 0017H UNIT ?PR?_AFEALARMDIS?AFE + CODE 7DABH 0017H UNIT ?PR?TWIINIT?TWI + CODE 7DC2H 0015H UNIT ?PR?_AFEMOSCTL?AFE + CODE 7DD7H 0015H UNIT ?PR?MCUFLASHWRWAITCHECK?MCUFLASH + CODE 7DECH 0014H UNIT ?PR?UART0CHECK?UARTAPP + CODE 7E00H 0014H UNIT ?PR?AFEINFOPROCESS?CALCULATE + CODE 7E14H 0013H UNIT ?PR?LEDAUTOOFF?LED + CODE 7E27H 0013H UNIT ?PR?AFECHGERCHECKEN?AFE + CODE 7E3AH 0013H UNIT ?PR?AFECHGERCHECKDIS?AFE + CODE 7E4DH 0013H UNIT ?PR?AFELOADCHECKEN?AFE + CODE 7E60H 0013H UNIT ?PR?AFELOADCHECKDIS?AFE + CODE 7E73H 0013H UNIT ?PR?AFEWDTEN?AFE + CODE 7E86H 0013H UNIT ?PR?AFEWDTDIS?AFE + CODE 7E99H 0013H UNIT ?PR?AFEADCEN?AFE + CODE 7EACH 0013H UNIT ?PR?AFEADCDIS?AFE + CODE 7EBFH 0013H UNIT ?PR?AFECADCEN?AFE + CODE 7ED2H 0013H UNIT ?PR?AFECADCDIS?AFE + CODE 7EE5H 0013H UNIT ?PR?AFETEMPADCEN?AFE + CODE 7EF8H 0013H UNIT ?PR?AFETEMPADCDIS?AFE + CODE 7F0BH 0012H UNIT ?PR?SYSTEMINTOPD?LOWPOWER + CODE 7F1DH 0012H UNIT ?PR?UART0HANDSHAKE?UARTAPP + CODE 7F2FH 0012H UNIT ?PR?_AFEALARMEN?AFE + CODE 7F41H 0010H UNIT ?PR?CALICURZERO?CALIBRATE + CODE 7F51H 000EH UNIT ?PR?_PUTCHAR?MAIN + CODE 7F5FH 000CH UNIT ?PR?MCUINTOIDLE?MCULIB + CODE 7F6BH 000CH UNIT ?PR?MCUINTOPD?MCULIB + CODE 7F77H 000AH UNIT ?PR?BALANCEPROCESS?BALANCE + CODE 7F81H 0006H UNIT ?CO?GASGAUGEV4_12 + + + +OVERLAY MAP OF MODULE: .\output\MCUCore_Load (MAIN) + + +SEGMENT BIT_GROUP DATA_GROUP XDATA_GROUP + +--> CALLED SEGMENT START LENGTH START LENGTH START LENGTH +------------------------------------------------------------------------------------------------------ +?PR?INTERRUPTINT4?INTERRUPT ----- ----- ----- ----- ----- ----- + +--> ?PR?_INTERRUPTINT4APP?INTERRUPTAPP + +?PR?_INTERRUPTINT4APP?INTERRUPTAPP ----- ----- ----- ----- ----- ----- + +--> ?PR?_MCUCLOCKSET?MCULIB + +?PR?_MCUCLOCKSET?MCULIB ----- ----- ----- ----- 02B7H 0001H + +*** NEW ROOT *************************************************** + +?PR?INTERRUPTTIMER3?INTERRUPT ----- ----- ----- ----- ----- ----- + +--> ?PR?INTERRUPTTIMER3APP?INTERRUPTAPP + +?PR?INTERRUPTTIMER3APP?INTERRUPTAPP ----- ----- ----- ----- ----- ----- + +--> ?PR?KEYSCAN?KEYSCAN + + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 9 + + +*** NEW ROOT *************************************************** + +?PR?INTERRUPTUART0?UART ----- ----- ----- ----- 02B6H 0001H + +*** NEW ROOT *************************************************** + +?C_C51STARTUP ----- ----- ----- ----- ----- ----- + +--> ?PR?MAIN?MAIN + +?PR?MAIN?MAIN ----- ----- ----- ----- ----- ----- + +--> ?PR?INITIAL?INITIAL + +--> ?CO?MAIN + +--> ?PR?PRINTF?PRINTF + +--> ?PR?AFEINFOPROCESS?CALCULATE + +--> ?PR?BALANCEPROCESS?BALANCE + +--> ?PR?PROTECTPROCESS?PROTECT + +--> ?PR?PORSELFTEST?PORSELFTEST + +--> ?PR?LOADCHECK?CHARGERLOAD + +--> ?PR?CHGERCHECK?CHARGERLOAD + +--> ?PR?MOSCTRL?MOSCTRL + +--> ?PR?PROTECTOCRECOVER?PROTECT + +--> ?PR?UART0CHECK?UARTAPP + +--> ?PR?GASGAUGEMANAGE?GASGAUGEV4_12 + +--> ?PR?AFERAMCHECK?AFE + +--> ?PR?AFETWICHECK?AFE + +--> ?PR?E2PROMTWICHECK?EXTE2PROM + +--> ?PR?RTCTWICHECK?RTC + +--> ?PR?RAMCHECKPROCESS?MCULIB + +--> ?PR?SYSPARAINIT?INITIAL + +--> ?PR?MCUFLASHWRWAITCHECK?MCUFLASH + +--> ?PR?E2PROMBKCHECK?EXTE2PROM + +--> ?PR?SYSTEMRESETPROCESS?MCULIB + +--> ?PR?ISPPROCESS?BOOTAPP + +--> ?PR?CALIPROCESS?CALIBRATE + +--> ?PR?MCUFLASHPROCESS?MCUFLASH + +--> ?PR?E2PROMBKPROCESS?EXTE2PROM + +?PR?INITIAL?INITIAL ----- ----- ----- ----- ----- ----- + +--> ?PR?_MCUCLOCKSET?MCULIB + +--> ?PR?INITGPIO?INITIAL + +--> ?PR?SYSPARAINIT?INITIAL + +--> ?PR?INITVAR?INITIAL + +--> ?PR?_MCUTIMER3SET?MCULIB + +--> ?PR?UART0INIT?UART + +--> ?PR?TWIINIT?TWI + +--> ?PR?_MCUPWM2SET?MCULIB + +--> ?PR?AFEINITREG?AFE + +--> ?PR?AFEINIT?AFE + +--> ?PR?AFECLRFLG?AFE + +--> ?PR?E2PROMINIT?EXTE2PROM + +--> ?PR?_RTCINITTIME?RTC + +--> ?PR?INITIRQ?INITIAL + +?PR?SYSPARAINIT?INITIAL ----- ----- ----- ----- ----- ----- + +--> ?PR?_MCUFLASHCHECKFLG?MCUFLASH + +--> ?PR?_MCUFLASHREAD?MCUFLASH + +--> ?PR?_MCUFLASHWRITE?MCUFLASH + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 10 + + + +?PR?_MCUFLASHCHECKFLG?MCUFLASH 0029H.5 0000H.1 ----- ----- ----- ----- + +?PR?_MCUFLASHREAD?MCUFLASH 0029H.5 0000H.1 0015H 0002H 02B7H 0004H + +?PR?_MCUFLASHWRITE?MCUFLASH 0029H.7 0000H.1 ----- ----- 02B9H 0004H + +--> ?PR?_MCUFLASHBLANKCHECK?MCUFLASH + +--> ?PR?_MCUFLASHWRSECTOR?MCUFLASH + +--> ?PR?_MCUFLASHDATACHECK?MCUFLASH + +?PR?_MCUFLASHBLANKCHECK?MCUFLASH 002AH.0 0000H.1 ----- ----- ----- ----- + +?PR?_MCUFLASHWRSECTOR?MCUFLASH 002AH.0 0000H.1 ----- ----- 02BDH 0004H + +?PR?_MCUFLASHDATACHECK?MCUFLASH 002AH.0 0000H.1 ----- ----- 02BDH 0004H + +?PR?INITVAR?INITIAL ----- ----- ----- ----- ----- ----- + +--> ?PR?_MEMORYSET?MCULIB + +?PR?_MEMORYSET?MCULIB ----- ----- ----- ----- 02C3H 0002H + +?PR?_MCUTIMER3SET?MCULIB ----- ----- ----- ----- 02B7H 0001H + +?PR?UART0INIT?UART ----- ----- ----- ----- 02B7H 0002H + +?PR?_MCUPWM2SET?MCULIB ----- ----- ----- ----- 02BCH 0003H + +?PR?AFEINIT?AFE 0029H.5 0000H.1 ----- ----- 02BAH 0004H + +--> ?PR?_AFEWRITEREG?AFE + +--> ?PR?_AFEREADREG?AFE + +?PR?_AFEWRITEREG?AFE 0029H.6 0000H.1 ----- ----- 02BEH 0006H + +--> ?PR?_TWIWRITE?TWI + +--> ?PR?_DELAY1MS?MCULIB + +--> ?PR?TWIINIT?TWI + +?PR?_TWIWRITE?TWI 002AH.1 0000H.1 ----- ----- 02F3H 000EH + +--> ?PR?_CRC8CAL?TWI + +--> ?PR?_TWICHECKSTATUS?TWI + +?PR?_CRC8CAL?TWI ----- ----- ----- ----- ----- ----- + +--> ?CO?TWI + +?PR?_TWICHECKSTATUS?TWI 002AH.2 0000H.1 ----- ----- ----- ----- + +?PR?_AFEREADREG?AFE 0029H.6 0000H.1 ----- ----- 02C1H 0005H + +--> ?PR?_TWIREAD?TWI + +--> ?PR?_DELAY1MS?MCULIB + +--> ?PR?TWIINIT?TWI + +?PR?_TWIREAD?TWI 002AH.0 0000H.1 ----- ----- 02E9H 003AH + +--> ?PR?_TWICHECKSTATUS?TWI + +--> ?PR?_CRC8CAL?TWI + +?PR?AFECLRFLG?AFE ----- ----- ----- ----- ----- ----- + +--> ?PR?_AFEREADREG?AFE + +--> ?PR?_AFEWRITEREG?AFE + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 11 + + + +?PR?E2PROMINIT?EXTE2PROM 0029H.5 0000H.1 ----- ----- 02B7H 0008H + +--> ?PR?_E2PROMREAD?EXTE2PROM + +?PR?_E2PROMREAD?EXTE2PROM 0029H.6 0000H.1 ----- ----- 02C3H 0006H + +--> ?PR?_TWIREAD?TWI + +--> ?PR?_DELAY1MS?MCULIB + +?PR?_RTCINITTIME?RTC 0029H.5 0000H.1 ----- ----- 02B7H 000CH + +--> ?PR?_MEMORYSET?MCULIB + +--> ?PR?_E2PROMREAD?EXTE2PROM + +--> ?PR?_MEMORYCOPY?MCULIB + +--> ?PR?_RTCREADTIME?RTC + +?PR?_MEMORYCOPY?MCULIB ----- ----- ----- ----- 02D9H 0002H + +?PR?_RTCREADTIME?RTC 0029H.6 0000H.1 ----- ----- 02D9H 000BH + +--> ?PR?_RTCREAD?RTC + +--> ?PR?_RTCMODIFYTIME?RTC + +?PR?_RTCREAD?RTC 0029H.7 0000H.1 ----- ----- 02E4H 0005H + +--> ?PR?_TWIREAD?TWI + +--> ?PR?_DELAY1MS?MCULIB + +?PR?_RTCMODIFYTIME?RTC 0029H.7 0000H.1 ----- ----- 02E4H 000AH + +--> ?PR?_RTCWRITE?RTC + +?PR?_RTCWRITE?RTC 002AH.0 0000H.1 ----- ----- 02EEH 0005H + +--> ?PR?_TWIWRITE?TWI + +--> ?PR?_DELAY1MS?MCULIB + +?PR?PRINTF?PRINTF 0029H.5 0001H.1 0015H 0005H 02B7H 0030H + +--> ?PR?_PUTCHAR?MAIN + +?PR?AFEINFOPROCESS?CALCULATE ----- ----- ----- ----- ----- ----- + +--> ?PR?AFERDFLG?AFE + +--> ?PR?AFECALCUVOL?CALCULATE + +--> ?PR?AFECALCUTEMPE?CALCULATE + +--> ?PR?AFECALCUCURR?CALCULATE + +?PR?AFERDFLG?AFE ----- ----- ----- ----- ----- ----- + +--> ?PR?_AFEREADREG?AFE + +--> ?PR?AFEINIT?AFE + +?PR?AFECALCUVOL?CALCULATE ----- ----- ----- ----- 02B7H 0009H + +--> ?PR?AFEGETVOL?CALCULATE + +?PR?AFEGETVOL?CALCULATE 0029H.5 0000H.1 ----- ----- 02C0H 0001H + +--> ?PR?_AFEREADREG?AFE + +?PR?AFECALCUTEMPE?CALCULATE ----- ----- ----- ----- ----- ----- + +--> ?PR?AFEGETTEMPE?CALCULATE + +--> ?PR?_CALCUTEMP?CALCULATE + +?PR?AFEGETTEMPE?CALCULATE 0029H.5 0000H.1 ----- ----- ----- ----- + +--> ?PR?_AFEREADREG?AFE + + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 12 + + +?PR?_CALCUTEMP?CALCULATE ----- ----- ----- ----- 02B7H 0007H + +--> ?CO?THERMISTOR + +?PR?AFECALCUCURR?CALCULATE ----- ----- ----- ----- 02B7H 0005H + +--> ?PR?_AFEREADREG?AFE + +--> ?PR?OFFSETCALCULATE?CALCULATE + +--> ?PR?_MCUPWM2SET?MCULIB + +?PR?OFFSETCALCULATE?CALCULATE ----- ----- ----- ----- 02BCH 0003H + +--> ?CO?CALCULATE + +?PR?BALANCEPROCESS?BALANCE ----- ----- ----- ----- ----- ----- + +--> ?PR?BALTURNONCHECK?BALANCE + +--> ?PR?CTOTURNONCHECK?BALANCE + +--> ?PR?BALPROCESS?BALANCE + +?PR?BALPROCESS?BALANCE ----- ----- ----- ----- 02B7H 0002H + +--> ?PR?_AFEBALCTL?AFE + +--> ?PR?CTOCHECKVOL?BALANCE + +?PR?_AFEBALCTL?AFE ----- ----- ----- ----- 02B9H 0002H + +--> ?PR?_AFEWRITEREG?AFE + +?PR?CTOCHECKVOL?BALANCE 0029H.5 0000H.1 ----- ----- ----- ----- + +?PR?PROTECTPROCESS?PROTECT ----- ----- ----- ----- ----- ----- + +--> ?PR?PROTECTOV?PROTECT + +--> ?PR?PROTECTUV?PROTECT + +--> ?PR?PROTECTOTC?PROTECT + +--> ?PR?PROTECTUTC?PROTECT + +--> ?PR?PROTECTOTD?PROTECT + +--> ?PR?PROTECTUTD?PROTECT + +--> ?PR?PROTECTOCC?PROTECT + +--> ?PR?PROTECTOCD1?PROTECT + +--> ?PR?PROTECTOCD2?PROTECT + +?PR?PROTECTOV?PROTECT ----- ----- ----- ----- ----- ----- + +--> ?PR?AFECLRFLG?AFE + +?PR?PORSELFTEST?PORSELFTEST ----- ----- ----- ----- ----- ----- + +--> ?PR?AFECALCUVOL?CALCULATE + +--> ?PR?AFECALCUTEMPE?CALCULATE + +--> ?PR?PORPROTECTOV?PORSELFTEST + +--> ?PR?PORPROTECTUV?PORSELFTEST + +--> ?PR?PORPROTECTOTC?PORSELFTEST + +--> ?PR?PORPROTECTUTC?PORSELFTEST + +--> ?PR?PORPROTECTOTD?PORSELFTEST + +--> ?PR?PORPROTECTUTD?PORSELFTEST + +--> ?PR?GASGAUGEINIT?GASGAUGEV4_12 + +?PR?GASGAUGEINIT?GASGAUGEV4_12 ----- ----- ----- ----- 02B7H 0002H + +--> ?PR?GASGAUGEVARIN?GASGAUGEINTER_V4_13 + +--> ?PR?GASGAUGEGETOCV?GASGAUGEV4_12 + +--> ?PR?_GASGAUGEINITSOC?GASGAUGEV4_12 + +--> ?PR?GASGAUGEVAROUT?GASGAUGEINTER_V4_13 + +?PR?GASGAUGEVARIN?GASGAUGEINTER_V4_13 0029H.5 0000H.1 ----- ----- ----- ----- + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 13 + + + +?PR?GASGAUGEGETOCV?GASGAUGEV4_12 ----- ----- ----- ----- 02B9H 0001H + +?PR?_GASGAUGEINITSOC?GASGAUGEV4_12 ----- ----- ----- ----- 02B9H 0002H + +?PR?GASGAUGEVAROUT?GASGAUGEINTER_V4_13 0029H.5 0000H.1 ----- ----- ----- ----- + +?PR?LOADCHECK?CHARGERLOAD ----- ----- ----- ----- ----- ----- + +--> ?PR?AFELOADCHECKEN?AFE + +--> ?PR?AFERDSTATUS?AFE + +--> ?PR?AFELOADCHECKDIS?AFE + +--> ?PR?AFECLRFLG?AFE + +?PR?AFELOADCHECKEN?AFE ----- ----- ----- ----- ----- ----- + +--> ?PR?_AFEWRITEREG?AFE + +?PR?AFERDSTATUS?AFE ----- ----- ----- ----- 02B7H 0002H + +--> ?PR?_AFEREADREG?AFE + +?PR?AFELOADCHECKDIS?AFE ----- ----- ----- ----- ----- ----- + +--> ?PR?_AFEWRITEREG?AFE + +?PR?CHGERCHECK?CHARGERLOAD ----- ----- ----- ----- ----- ----- + +--> ?PR?AFECHGERCHECKEN?AFE + +--> ?PR?AFERDSTATUS?AFE + +--> ?PR?AFECHGERCHECKDIS?AFE + +--> ?PR?AFECLRFLG?AFE + +?PR?AFECHGERCHECKEN?AFE ----- ----- ----- ----- ----- ----- + +--> ?PR?_AFEWRITEREG?AFE + +?PR?AFECHGERCHECKDIS?AFE ----- ----- ----- ----- ----- ----- + +--> ?PR?_AFEWRITEREG?AFE + +?PR?MOSCTRL?MOSCTRL ----- ----- ----- ----- ----- ----- + +--> ?PR?MOSSTATUSCHECK?MOSCTRL + +--> ?PR?_AFEMOSCTL?AFE + +?PR?_AFEMOSCTL?AFE ----- ----- ----- ----- ----- ----- + +--> ?PR?_AFEWRITEREG?AFE + +?PR?PROTECTOCRECOVER?PROTECT ----- ----- ----- ----- ----- ----- + +--> ?PR?AFECLRFLG?AFE + +?PR?GASGAUGEMANAGE?GASGAUGEV4_12 ----- ----- ----- ----- ----- ----- + +--> ?PR?GASGAUGEVARIN?GASGAUGEINTER_V4_13 + +--> ?PR?CORRECTCHGDFRC?GASGAUGEV4_12 + +--> ?PR?FCCUPDATE?GASGAUGEV4_12 + +--> ?PR?DATAFILTER?GASGAUGEV4_12 + +--> ?PR?GASGAUGEVAROUT?GASGAUGEINTER_V4_13 + +?PR?CORRECTCHGDFRC?GASGAUGEV4_12 ----- ----- ----- ----- 02B7H 0002H + +--> ?PR?GASGAUGEGETOCV?GASGAUGEV4_12 + +?PR?FCCUPDATE?GASGAUGEV4_12 ----- ----- ----- ----- 02B7H 0004H + +--> ?PR?_GETCYCLEGAIN?GASGAUGEV4_12 + + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 14 + + +?PR?DATAFILTER?GASGAUGEV4_12 0029H.5 0000H.1 ----- ----- 02B7H 0009H + +--> ?CO?GASGAUGEV4_12 + +?PR?AFERAMCHECK?AFE ----- ----- ----- ----- 02B7H 0003H + +--> ?PR?_AFEREADREG?AFE + +--> ?PR?AFEINIT?AFE + +?PR?E2PROMBKCHECK?EXTE2PROM ----- ----- ----- ----- ----- ----- + +--> ?PR?_RTCREADTIME?RTC + +--> ?PR?_MEMORYCOPY?MCULIB + +?PR?ISPPROCESS?BOOTAPP ----- ----- ----- ----- ----- ----- + +--> ?PR?AFEWDTDIS?AFE + +?PR?AFEWDTDIS?AFE ----- ----- ----- ----- ----- ----- + +--> ?PR?_AFEWRITEREG?AFE + +?PR?CALIPROCESS?CALIBRATE ----- ----- ----- ----- ----- ----- + +--> ?PR?CALIVOLTAGE?CALIBRATE + +--> ?PR?CALICURRENTGAIN?CALIBRATE + +--> ?PR?CALICURZERO?CALIBRATE + +--> ?PR?CALITS1?CALIBRATE + +--> ?PR?CALITS2?CALIBRATE + +--> ?PR?CALIRTCTIME?CALIBRATE + +?PR?CALIVOLTAGE?CALIBRATE ----- ----- ----- ----- 02B7H 0002H + +?PR?CALITS1?CALIBRATE ----- ----- ----- ----- ----- ----- + +--> ?PR?_CALCUTEMP?CALCULATE + +?PR?CALITS2?CALIBRATE ----- ----- ----- ----- ----- ----- + +--> ?PR?_CALCUTEMP?CALCULATE + +?PR?CALIRTCTIME?CALIBRATE ----- ----- ----- ----- ----- ----- + +--> ?PR?_RTCMODIFYTIME?RTC + +?PR?MCUFLASHPROCESS?MCUFLASH 0029H.5 0000H.2 ----- ----- 02B7H 0002H + +--> ?PR?_MCUFLASHWRITE?MCUFLASH + +--> ?PR?_MCUFLASHWRONEBYTE?MCUFLASH + +?PR?E2PROMBKPROCESS?EXTE2PROM ----- ----- ----- ----- 02B7H 0001H + +--> ?PR?E2PROMERASE?EXTE2PROM + +--> ?PR?UART0RDE2PROM?EXTE2PROM + +--> ?PR?UART2RDE2PROM?EXTE2PROM + +--> ?PR?UART0RDRTC?EXTE2PROM + +--> ?PR?UART1RDRTC?EXTE2PROM + +--> ?PR?UART2RDRTC?EXTE2PROM + +--> ?PR?E2PROMBKRTC?EXTE2PROM + +--> ?PR?_E2PROMBKDATA?EXTE2PROM + +?PR?E2PROMERASE?EXTE2PROM ----- ----- ----- ----- 02B8H 000AH + +--> ?PR?_MEMORYSET?MCULIB + +--> ?PR?_E2PROMWRITE?EXTE2PROM + +?PR?_E2PROMWRITE?EXTE2PROM 0029H.5 0000H.1 ----- ----- 02E1H 0006H + +--> ?PR?_TWIWRITE?TWI + +--> ?PR?_DELAY1MS?MCULIB + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 15 + + + +?PR?UART0RDE2PROM?EXTE2PROM ----- ----- ----- ----- ----- ----- + +--> ?PR?_E2PROMREAD?EXTE2PROM + +--> ?PR?_CRC8CAL?TWI + +?PR?UART2RDE2PROM?EXTE2PROM ----- ----- ----- ----- ----- ----- + +--> ?PR?_E2PROMREAD?EXTE2PROM + +--> ?PR?_CRC8CAL?TWI + +?PR?UART0RDRTC?EXTE2PROM ----- ----- ----- ----- ----- ----- + +--> ?PR?_RTCREADTIME?RTC + +--> ?PR?_MEMORYCOPY?MCULIB + +--> ?PR?_CRC8CAL?TWI + +?PR?UART1RDRTC?EXTE2PROM ----- ----- ----- ----- ----- ----- + +--> ?PR?_RTCREADTIME?RTC + +--> ?PR?_MEMORYCOPY?MCULIB + +--> ?PR?_CRC8CAL?TWI + +?PR?UART2RDRTC?EXTE2PROM ----- ----- ----- ----- ----- ----- + +--> ?PR?_RTCREADTIME?RTC + +--> ?PR?_MEMORYCOPY?MCULIB + +--> ?PR?_CRC8CAL?TWI + +?PR?E2PROMBKRTC?EXTE2PROM ----- ----- ----- ----- 02B8H 000AH + +--> ?PR?_RTCREADTIME?RTC + +--> ?PR?_MEMORYCOPY?MCULIB + +--> ?PR?_E2PROMWRITE?EXTE2PROM + +?PR?_E2PROMBKDATA?EXTE2PROM ----- ----- ----- ----- 02B8H 0021H + +--> ?PR?_MEMORYCOPY?MCULIB + +--> ?PR?_RTCREADTIME?RTC + +--> ?PR?_E2PROMWRITE?EXTE2PROM + +--> ?PR?E2PROMBKBOOT?EXTE2PROM + +?PR?E2PROMBKBOOT?EXTE2PROM ----- ----- ----- ----- 02D9H 0008H + +--> ?PR?_E2PROMWRITE?EXTE2PROM + + + +SYMBOL TABLE OF MODULE: .\output\MCUCore_Load (MAIN) + + VALUE TYPE NAME + ---------------------------------- + + ------- MODULE MAIN + C:0000H SYMBOL _ICE_DUMMY_ + D:0080H PUBLIC P0 + D:0090H PUBLIC P1 + D:00A0H PUBLIC P2 + D:00B0H PUBLIC P3 + D:00C0H PUBLIC P4 + D:0080H PUBLIC P5 + B:00A0H.0 PUBLIC P2_0 + B:00A0H.4 PUBLIC P2_4 + B:0098H.1 PUBLIC TI + C:30A6H PUBLIC main + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 16 + + + D:0099H PUBLIC SBUF + D:00B1H PUBLIC RSTSTAT + B:0098H.4 PUBLIC REN + C:7F51H PUBLIC _putchar + ------- PROC _PUTCHAR + D:0007H SYMBOL c + C:7F51H LINE# 13 + C:7F51H LINE# 14 + C:7F51H LINE# 15 + C:7F53H LINE# 16 + C:7F55H LINE# 17 + C:7F57H LINE# 18 + C:7F5AH LINE# 19 + C:7F5CH LINE# 20 + C:7F5EH LINE# 21 + C:7F5EH LINE# 22 + ------- ENDPROC _PUTCHAR + ------- PROC MAIN + C:30A6H LINE# 32 + C:30A6H LINE# 33 + C:30A6H LINE# 34 + C:30A9H LINE# 36 + C:30B2H LINE# 38 + C:30B2H LINE# 39 + C:30B2H LINE# 42 + C:30B5H LINE# 43 + C:30B5H LINE# 44 + C:30B8H LINE# 46 + C:30BAH LINE# 47 + C:30BDH LINE# 49 + C:30C0H LINE# 51 + C:30C3H LINE# 53 + C:30C6H LINE# 55 + C:30C9H LINE# 57 + C:30CCH LINE# 59 + C:30CFH LINE# 61 + C:30D2H LINE# 66 + C:30D5H LINE# 76 + C:30D5H LINE# 78 + C:30DBH LINE# 79 + C:30DBH LINE# 80 + C:30DDH LINE# 82 + C:30E6H LINE# 83 + C:3133H LINE# 84 + C:3180H LINE# 85 + C:31CDH LINE# 86 + C:321AH LINE# 87 + C:3267H LINE# 88 + C:32D8H LINE# 89 + C:32E1H LINE# 90 + C:331AH LINE# 92 + C:3335H LINE# 93 + C:3350H LINE# 95 + C:3352H LINE# 96 + C:3355H LINE# 98 + C:3358H LINE# 100 + C:335BH LINE# 101 + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 17 + + + C:335EH LINE# 102 + C:3361H LINE# 104 + C:3366H LINE# 105 + C:3366H LINE# 106 + C:3369H LINE# 107 + C:3369H LINE# 109 + C:336CH LINE# 111 + C:336FH LINE# 116 + C:336FH LINE# 118 + C:3372H LINE# 120 + C:3375H LINE# 122 + C:3378H LINE# 124 + C:337BH LINE# 126 + C:337EH LINE# 130 + C:3388H LINE# 131 + C:3390H LINE# 133 + ------- ENDPROC MAIN + ------- ENDMOD MAIN + + ------- MODULE INITIAL + C:0000H SYMBOL _ICE_DUMMY_ + D:0080H PUBLIC P0 + D:0090H PUBLIC P1 + D:00A0H PUBLIC P2 + D:00B0H PUBLIC P3 + C:7CD1H PUBLIC InitIRQ + D:00C0H PUBLIC P4 + D:0080H PUBLIC P5 + B:00A8H.7 PUBLIC EA + D:00A9H PUBLIC IEN1 + D:00E8H PUBLIC EXF0 + D:00D8H PUBLIC EXF1 + D:00E1H PUBLIC P0CR + D:00E2H PUBLIC P1CR + D:00E3H PUBLIC P2CR + D:00E4H PUBLIC P3CR + D:00BAH PUBLIC IENC + C:7646H PUBLIC InitVar + C:7B18H PUBLIC InitGPIO + B:00A8H.4 PUBLIC ES0 + B:00A8H.5 PUBLIC ET3 + D:0086H PUBLIC INSCON + B:0088H.7 PUBLIC TF3 + C:70A2H PUBLIC Initial + C:5CF1H PUBLIC SysParaInit + D:00E9H PUBLIC P0PCR + D:00EAH PUBLIC P1PCR + D:00EBH PUBLIC P2PCR + D:00ECH PUBLIC P3PCR + ------- PROC INITVAR + C:7646H LINE# 18 + C:7646H LINE# 19 + C:7646H LINE# 20 + C:764CH LINE# 21 + C:7657H LINE# 22 + C:7661H LINE# 23 + C:766BH LINE# 24 + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 18 + + + C:7673H LINE# 26 + C:7675H LINE# 27 + C:7677H LINE# 28 + C:767DH LINE# 29 + C:767FH LINE# 30 + C:7681H LINE# 32 + C:7687H LINE# 33 + ------- ENDPROC INITVAR + ------- PROC SYSPARAINIT + C:5CF1H LINE# 41 + C:5CF1H LINE# 42 + C:5CF1H LINE# 43 + C:5CFAH LINE# 44 + C:5CFAH LINE# 45 + C:5D06H LINE# 46 + C:5D0FH LINE# 47 + C:5D0FH LINE# 48 + C:5D17H LINE# 49 + C:5D17H LINE# 50 + C:5D19H LINE# 51 + C:5D22H LINE# 52 + C:5D22H LINE# 53 + C:5D2FH LINE# 54 + C:5D36H LINE# 55 + C:5D38H LINE# 57 + C:5D38H LINE# 58 + C:5D3BH LINE# 60 + C:5D3BH LINE# 62 + C:5D45H LINE# 63 + C:5D4FH LINE# 64 + C:5D5BH LINE# 65 + C:5D6AH LINE# 67 + C:5D72H LINE# 69 + C:5D7BH LINE# 70 + C:5D7BH LINE# 71 + C:5D7EH LINE# 72 + C:5D7FH LINE# 73 + C:5D8AH LINE# 74 + C:5D8AH LINE# 75 + C:5D8DH LINE# 76 + C:5D8EH LINE# 78 + C:5D8EH LINE# 79 + C:5D91H LINE# 80 + C:5D91H LINE# 81 + ------- ENDPROC SYSPARAINIT + ------- PROC INITIRQ + C:7CD1H LINE# 89 + C:7CD1H LINE# 90 + C:7CD1H LINE# 91 + C:7CD3H LINE# 93 + C:7CD5H LINE# 102 + C:7CDEH LINE# 103 + C:7CE0H LINE# 105 + C:7CE3H LINE# 106 + C:7CE6H LINE# 107 + C:7CE9H LINE# 108 + C:7CECH LINE# 110 + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 19 + + + C:7CEEH LINE# 111 + ------- ENDPROC INITIRQ + ------- PROC INITGPIO + C:7B18H LINE# 164 + C:7B18H LINE# 165 + C:7B18H LINE# 167 + C:7B1BH LINE# 168 + C:7B1EH LINE# 169 + C:7B21H LINE# 171 + C:7B24H LINE# 172 + C:7B27H LINE# 173 + C:7B2AH LINE# 175 + C:7B2DH LINE# 176 + C:7B30H LINE# 177 + C:7B33H LINE# 179 + C:7B36H LINE# 180 + C:7B39H LINE# 181 + C:7B3CH LINE# 185 + C:7B3FH LINE# 186 + C:7B42H LINE# 530 + ------- ENDPROC INITGPIO + ------- PROC INITIAL + C:70A2H LINE# 538 + C:70A2H LINE# 539 + C:70A2H LINE# 540 + C:70A7H LINE# 542 + C:70AAH LINE# 546 + C:70ADH LINE# 548 + C:70B0H LINE# 550 + C:70B9H LINE# 553 + C:70BCH LINE# 564 + C:70BFH LINE# 566 + C:70C8H LINE# 568 + C:70CBH LINE# 569 + C:70D0H LINE# 570 + C:70D0H LINE# 571 + C:70D2H LINE# 572 + C:70D2H LINE# 573 + C:70D5H LINE# 575 + C:70D8H LINE# 576 + C:70D8H LINE# 577 + C:70DDH LINE# 578 + C:70DDH LINE# 579 + C:70DFH LINE# 580 + C:70DFH LINE# 582 + C:70E8H LINE# 583 + C:70E8H LINE# 584 + C:70EAH LINE# 585 + C:70EAH LINE# 586 + C:70EAH LINE# 588 + C:70EDH LINE# 589 + ------- ENDPROC INITIAL + ------- ENDMOD INITIAL + + ------- MODULE INTERRUPTAPP + C:0000H SYMBOL _ICE_DUMMY_ + D:0080H PUBLIC P0 + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 20 + + + D:0090H PUBLIC P1 + D:00A0H PUBLIC P2 + X:049EH PUBLIC ucTimer1s + D:00B0H PUBLIC P3 + D:00C0H PUBLIC P4 + D:0080H PUBLIC P5 + C:102EH PUBLIC _InterruptINT4App + B:002DH.6 PUBLIC bTimer5msFlg + X:049FH PUBLIC ucTimer50ms + B:002DH.7 PUBLIC bTimer1sFlg + C:7C2DH PUBLIC InterruptTimer3App + B:002EH.0 PUBLIC bTimer50msFlg + ------- PROC _INTERRUPTINT4APP + D:0007H SYMBOL IntSource + C:102EH LINE# 24 + C:102EH LINE# 25 + C:102EH LINE# 26 + C:1032H LINE# 27 + C:1032H LINE# 28 + C:1038H LINE# 29 + C:1038H LINE# 30 + C:103DH LINE# 31 + C:103FH LINE# 32 + C:103FH LINE# 33 + C:1040H LINE# 34 + C:1044H LINE# 35 + C:1044H LINE# 36 + C:104AH LINE# 37 + C:104AH LINE# 38 + C:104FH LINE# 39 + C:1051H LINE# 40 + C:1051H LINE# 41 + C:1051H LINE# 42 + ------- ENDPROC _INTERRUPTINT4APP + ------- PROC INTERRUPTTIMER3APP + C:7C2DH LINE# 51 + C:7C2DH LINE# 52 + C:7C2DH LINE# 54 + C:7C2FH LINE# 56 + C:7C3AH LINE# 57 + C:7C3AH LINE# 58 + C:7C3CH LINE# 59 + C:7C3EH LINE# 60 + C:7C3EH LINE# 62 + C:7C49H LINE# 63 + C:7C49H LINE# 64 + C:7C4BH LINE# 65 + C:7C4DH LINE# 66 + C:7C4DH LINE# 68 + C:7C50H LINE# 69 + ------- ENDPROC INTERRUPTTIMER3APP + ------- ENDMOD INTERRUPTAPP + + ------- MODULE LED + C:0000H SYMBOL _ICE_DUMMY_ + D:0080H PUBLIC P0 + D:0090H PUBLIC P1 + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 21 + + + D:00A0H PUBLIC P2 + D:00B0H PUBLIC P3 + D:00C0H PUBLIC P4 + D:0080H PUBLIC P5 + C:7749H PUBLIC _LedGetDisNum + B:00A0H.1 PUBLIC P2_1 + B:00A0H.2 PUBLIC P2_2 + B:00A0H.3 PUBLIC P2_3 + X:03FCH PUBLIC ucLedChgFlickCnt + B:00B0H.5 PUBLIC P3_5 + X:03FDH PUBLIC ucLedBleFlickCnt + X:03FEH PUBLIC ucLedTimeCnt + B:002EH.4 PUBLIC bLedDisFlg + B:002EH.5 PUBLIC bLedDisBleFlg + C:7E14H PUBLIC LedAutoOff + C:6B5BH PUBLIC LedDisplay + ------- PROC _LEDGETDISNUM + D:0006H SYMBOL Rsoc + C:7749H LINE# 24 + C:7749H LINE# 25 + C:7749H LINE# 26 + C:7752H LINE# 27 + C:7752H LINE# 28 + C:7755H LINE# 29 + C:7755H LINE# 30 + C:775EH LINE# 31 + C:775EH LINE# 32 + C:7761H LINE# 33 + C:7761H LINE# 34 + C:776AH LINE# 35 + C:776AH LINE# 36 + C:776DH LINE# 37 + C:776DH LINE# 38 + C:7776H LINE# 39 + C:7776H LINE# 40 + C:7779H LINE# 41 + C:7779H LINE# 42 + C:7782H LINE# 43 + C:7782H LINE# 44 + C:7785H LINE# 45 + C:7785H LINE# 47 + C:7785H LINE# 48 + C:7787H LINE# 49 + C:7787H LINE# 50 + ------- ENDPROC _LEDGETDISNUM + ------- PROC LEDAUTOOFF + C:7E14H LINE# 59 + C:7E14H LINE# 60 + C:7E14H LINE# 61 + C:7E17H LINE# 62 + C:7E17H LINE# 63 + C:7E22H LINE# 64 + C:7E22H LINE# 65 + C:7E24H LINE# 66 + C:7E26H LINE# 67 + C:7E26H LINE# 68 + C:7E26H LINE# 69 + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 22 + + + ------- ENDPROC LEDAUTOOFF + ------- PROC LEDDISPLAY + ------- DO + D:0007H SYMBOL LedDisNum + ------- ENDDO + C:6B5BH LINE# 80 + C:6B5BH LINE# 81 + C:6B5BH LINE# 84 + C:6B5EH LINE# 85 + C:6B5EH LINE# 86 + C:6B69H LINE# 87 + C:6B69H LINE# 88 + C:6B6BH LINE# 89 + C:6B70H LINE# 90 + C:6B70H LINE# 91 + C:6B72H LINE# 93 + C:6B72H LINE# 94 + C:6B74H LINE# 95 + C:6B74H LINE# 97 + C:6B77H LINE# 98 + C:6B77H LINE# 99 + C:6B82H LINE# 100 + C:6B82H LINE# 101 + C:6B84H LINE# 103 + C:6B84H LINE# 104 + C:6B84H LINE# 106 + C:6B84H LINE# 108 + C:6B84H LINE# 110 + C:6B87H LINE# 111 + C:6B87H LINE# 112 + C:6B92H LINE# 113 + C:6B92H LINE# 114 + C:6B92H LINE# 116 + C:6B92H LINE# 117 + C:6B97H LINE# 118 + C:6B97H LINE# 120 + C:6B97H LINE# 121 + C:6B9BH LINE# 122 + C:6B9BH LINE# 124 + C:6B9DH LINE# 125 + C:6B9FH LINE# 126 + C:6BA3H LINE# 127 + C:6BA3H LINE# 129 + C:6BA5H LINE# 130 + C:6BA7H LINE# 131 + C:6BA9H LINE# 132 + C:6BADH LINE# 133 + C:6BADH LINE# 135 + C:6BAFH LINE# 136 + C:6BB1H LINE# 137 + C:6BB3H LINE# 138 + C:6BB3H LINE# 139 + C:6BB3H LINE# 140 + C:6BB3H LINE# 142 + C:6BB3H LINE# 143 + C:6BB3H LINE# 145 + C:6BB3H LINE# 147 + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 23 + + + C:6BB3H LINE# 149 + C:6BB6H LINE# 150 + ------- ENDPROC LEDDISPLAY + ------- ENDMOD LED + + ------- MODULE KEYAPP + C:0000H SYMBOL _ICE_DUMMY_ + D:0080H PUBLIC P0 + D:0090H PUBLIC P1 + D:00A0H PUBLIC P2 + D:00B0H PUBLIC P3 + D:00C0H PUBLIC P4 + D:0080H PUBLIC P5 + D:00B7H PUBLIC PWM2CON + C:7A5FH PUBLIC KeyProcess + B:0080H.3 PUBLIC P0_3 + C:67F0H PUBLIC KeySwitchSpeed + X:03FFH PUBLIC ucDsgingSpeed + ------- PROC KEYSWITCHSPEED + C:67F0H LINE# 20 + C:67F0H LINE# 21 + C:67F0H LINE# 22 + C:67F2H LINE# 23 + C:67F4H LINE# 24 + C:67F6H LINE# 25 + C:67F9H LINE# 26 + C:67F9H LINE# 27 + C:67FFH LINE# 28 + C:67FFH LINE# 29 + C:6801H LINE# 30 + C:6803H LINE# 31 + C:6813H LINE# 32 + C:6816H LINE# 33 + C:6817H LINE# 34 + C:681EH LINE# 35 + C:681EH LINE# 36 + C:6821H LINE# 37 + C:6823H LINE# 38 + C:6830H LINE# 39 + C:6833H LINE# 40 + C:6834H LINE# 42 + C:6834H LINE# 43 + C:6839H LINE# 44 + C:683BH LINE# 45 + C:684BH LINE# 46 + C:684EH LINE# 47 + C:684EH LINE# 48 + C:684FH LINE# 50 + C:684FH LINE# 51 + C:6851H LINE# 52 + C:6853H LINE# 53 + C:6855H LINE# 54 + C:6855H LINE# 55 + ------- ENDPROC KEYSWITCHSPEED + ------- PROC KEYPROCESS + C:7A5FH LINE# 64 + C:7A5FH LINE# 65 + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 24 + + + C:7A5FH LINE# 66 + C:7A62H LINE# 67 + C:7A62H LINE# 68 + C:7A64H LINE# 69 + C:7A75H LINE# 70 + C:7A75H LINE# 71 + C:7A75H LINE# 72 + C:7A78H LINE# 73 + C:7A79H LINE# 75 + C:7A79H LINE# 76 + C:7A7BH LINE# 77 + C:7A80H LINE# 78 + C:7A81H LINE# 80 + C:7A81H LINE# 81 + C:7A83H LINE# 82 + C:7A84H LINE# 84 + C:7A84H LINE# 85 + C:7A86H LINE# 86 + C:7A89H LINE# 87 + C:7A89H LINE# 88 + C:7A8BH LINE# 89 + C:7A8CH LINE# 91 + C:7A8CH LINE# 92 + C:7A8EH LINE# 93 + C:7A8EH LINE# 94 + C:7A8EH LINE# 96 + C:7A8EH LINE# 97 + C:7A8EH LINE# 98 + C:7A8EH LINE# 99 + C:7A8EH LINE# 100 + ------- ENDPROC KEYPROCESS + ------- ENDMOD KEYAPP + + ------- MODULE LOWPOWER + C:0000H SYMBOL _ICE_DUMMY_ + D:0080H PUBLIC P0 + D:0090H PUBLIC P1 + X:053CH PUBLIC ucSleepTimerCnt + D:00A0H PUBLIC P2 + D:00B0H PUBLIC P3 + D:00C0H PUBLIC P4 + D:0080H PUBLIC P5 + B:00A8H.7 PUBLIC EA + B:00C8H.6 PUBLIC ENTWI + D:00B7H PUBLIC PWM2CON + B:002CH.6 PUBLIC bPDFlg + B:0080H.3 PUBLIC P0_3 + D:00D8H PUBLIC EXF1 + B:00A0H.5 PUBLIC P2_5 + X:053DH PUBLIC ucPDTimerCnt + C:78EDH PUBLIC SystemIntoSleep + C:5F5CH PUBLIC LowPowerCheck + B:002CH.7 PUBLIC bPCEnterPDFlg + C:7709H PUBLIC LowPowerProcess + C:76C9H PUBLIC WakeUpProcess + D:00B1H PUBLIC RSTSTAT + C:7F0BH PUBLIC SystemIntoPD + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 25 + + + B:00A8H.4 PUBLIC ES0 + B:00A8H.5 PUBLIC ET3 + X:053EH PUBLIC ucResetFlag + B:002DH.0 PUBLIC bWakeupFlg + B:002DH.1 PUBLIC bSleepFlg + ------- PROC WAKEUPPROCESS + C:76C9H LINE# 26 + C:76C9H LINE# 27 + C:76C9H LINE# 28 + C:76CCH LINE# 29 + C:76CCH LINE# 30 + C:76CEH LINE# 31 + C:76D1H LINE# 32 + C:76D1H LINE# 33 + C:76D6H LINE# 34 + C:76D8H LINE# 36 + C:76DAH LINE# 37 + C:76DFH LINE# 38 + C:76E4H LINE# 41 + C:76E6H LINE# 43 + C:76E8H LINE# 44 + C:76EAH LINE# 46 + C:76EFH LINE# 47 + C:76F2H LINE# 48 + C:76F5H LINE# 49 + C:76F5H LINE# 50 + C:76FAH LINE# 51 + C:76FCH LINE# 52 + C:7700H LINE# 53 + C:7704H LINE# 54 + C:7708H LINE# 55 + C:7708H LINE# 56 + ------- ENDPROC WAKEUPPROCESS + ------- PROC SYSTEMINTOPD + C:7F0BH LINE# 65 + C:7F0BH LINE# 66 + C:7F0BH LINE# 67 + C:7F0BH LINE# 68 + C:7F0BH LINE# 69 + C:7F0EH LINE# 71 + C:7F10H LINE# 73 + C:7F12H LINE# 74 + C:7F17H LINE# 76 + C:7F1AH LINE# 77 + ------- ENDPROC SYSTEMINTOPD + ------- PROC SYSTEMINTOSLEEP + C:78EDH LINE# 87 + C:78EDH LINE# 88 + C:78EDH LINE# 90 + C:78EFH LINE# 91 + C:78F1H LINE# 93 + C:78F4H LINE# 94 + C:78F7H LINE# 95 + C:78FCH LINE# 96 + C:78FEH LINE# 97 + C:7901H LINE# 98 + C:7904H LINE# 99 + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 26 + + + C:7904H LINE# 100 + C:7906H LINE# 101 + C:7908H LINE# 103 + C:7908H LINE# 104 + C:790AH LINE# 105 + C:790AH LINE# 106 + C:790FH LINE# 108 + C:7911H LINE# 110 + C:7913H LINE# 118 + C:7915H LINE# 119 + C:7918H LINE# 120 + C:791DH LINE# 121 + C:791FH LINE# 123 + C:7922H LINE# 124 + ------- ENDPROC SYSTEMINTOSLEEP + ------- PROC LOWPOWERCHECK + C:5F5CH LINE# 135 + C:5F5CH LINE# 136 + C:5F5CH LINE# 137 + C:5F68H LINE# 138 + C:5F68H LINE# 139 + C:5F6AH LINE# 140 + C:5F6CH LINE# 141 + C:5F6DH LINE# 142 + C:5F70H LINE# 143 + C:5F70H LINE# 144 + C:5F7FH LINE# 145 + C:5F7FH LINE# 146 + C:5F81H LINE# 147 + C:5F83H LINE# 148 + C:5F83H LINE# 149 + C:5F84H LINE# 150 + C:5F87H LINE# 151 + C:5F87H LINE# 152 + C:5F8DH LINE# 153 + C:5F8DH LINE# 154 + C:5F90H LINE# 155 + C:5F90H LINE# 156 + C:5F9FH LINE# 157 + C:5F9FH LINE# 158 + C:5FA1H LINE# 159 + C:5FA3H LINE# 160 + C:5FA3H LINE# 161 + C:5FA4H LINE# 163 + C:5FA4H LINE# 164 + C:5FA9H LINE# 165 + C:5FC1H LINE# 166 + C:5FC1H LINE# 167 + C:5FCFH LINE# 168 + C:5FCFH LINE# 169 + C:5FD1H LINE# 170 + C:5FD3H LINE# 171 + C:5FD3H LINE# 172 + C:5FD4H LINE# 174 + C:5FD4H LINE# 175 + C:5FD9H LINE# 176 + C:5FD9H LINE# 177 + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 27 + + + C:5FD9H LINE# 178 + C:5FDAH LINE# 180 + C:5FDAH LINE# 181 + C:5FDFH LINE# 182 + C:5FE1H LINE# 183 + C:5FE1H LINE# 184 + C:5FE2H LINE# 186 + C:5FE2H LINE# 187 + C:5FE7H LINE# 188 + C:5FE9H LINE# 189 + C:5FE9H LINE# 190 + ------- ENDPROC LOWPOWERCHECK + ------- PROC LOWPOWERPROCESS + C:7709H LINE# 199 + C:7709H LINE# 200 + C:7709H LINE# 201 + C:770FH LINE# 202 + C:770FH LINE# 203 + C:7711H LINE# 204 + C:7729H LINE# 205 + C:7729H LINE# 206 + C:772BH LINE# 207 + C:772EH LINE# 208 + C:772EH LINE# 209 + C:7730H LINE# 210 + C:7732H LINE# 211 + C:7735H LINE# 212 + C:7735H LINE# 213 + C:7737H LINE# 214 + C:773AH LINE# 215 + C:773DH LINE# 216 + C:773FH LINE# 217 + C:7742H LINE# 218 + C:7742H LINE# 219 + C:7745H LINE# 220 + C:7745H LINE# 222 + C:7748H LINE# 223 + ------- ENDPROC LOWPOWERPROCESS + ------- ENDMOD LOWPOWER + + ------- MODULE UARTAPP + C:0000H SYMBOL _ICE_DUMMY_ + D:0080H PUBLIC P0 + C:46AEH PUBLIC Uart0RdCmdProcess + D:0090H PUBLIC P1 + C:78B6H PUBLIC Uart0ReadSubClassID + D:00A0H PUBLIC P2 + D:00B0H PUBLIC P3 + D:00C0H PUBLIC P4 + B:0028H.3 PUBLIC bUart0SndAckFlg + D:0080H PUBLIC P5 + B:0028H.4 PUBLIC bUart1SndAckFlg + B:0028H.5 PUBLIC bUart2SndAckFlg + X:03EFH PUBLIC ucSubClassID + C:5E2EH PUBLIC _InterruptUart0AppRx + C:5B07H PUBLIC Uart0WrCmdProcess + C:59B1H PUBLIC InterruptUart0AppTx + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 28 + + + X:03F0H PUBLIC ucUartErrCode + C:6E26H PUBLIC Uart0CaliVoltage + C:7266H PUBLIC Uart0CaliTS1 + C:72AFH PUBLIC Uart0CaliTS2 + C:7341H PUBLIC Page1WrRdFuncTable + C:7365H PUBLIC Page2WrRdFuncTable + C:7DECH PUBLIC Uart0Check + D:0099H PUBLIC SBUF + C:532FH PUBLIC Uart0CaliCurrent + C:6DD2H PUBLIC Uart0CaliRTC + X:03F1H PUBLIC ucUart0SndLength + X:03F2H PUBLIC ucUart1SndLength + X:03F3H PUBLIC ucUart2SndLength + D:00B1H PUBLIC RSTSTAT + X:03F4H PUBLIC ucUart0TimeoutCnt + X:03F5H PUBLIC ucUart1TimeoutCnt + X:03F6H PUBLIC ucUart2TimeoutCnt + X:0400H PUBLIC ucUart0Buf + X:04A0H PUBLIC ucUart1Buf + X:0540H PUBLIC ucUart2Buf + B:0028H.6 PUBLIC bUart0ReadFlg + B:0028H.7 PUBLIC bUart1ReadFlg + B:0029H.0 PUBLIC bUart2ReadFlg + C:4547H PUBLIC Uart0IapCheckHandshake + B:0029H.1 PUBLIC bUart0WriteFlg + C:68BCH PUBLIC _Uart0ReadInfo + C:7F1DH PUBLIC Uart0Handshake + B:0029H.2 PUBLIC bUart1WriteFlg + B:0029H.3 PUBLIC bUart2WriteFlg + C:74EFH PUBLIC Uart0WriteManufacture + C:7923H PUBLIC Uart0CaliCurOffset + B:0098H.4 PUBLIC REN + B:0029H.4 PUBLIC bISPFlg + C:6486H PUBLIC _Uart0WriteInfo + X:03F7H PUBLIC ucUart0BufPT + X:03F8H PUBLIC ucUart1BufPT + X:03F9H PUBLIC ucUart2BufPT + D:009AH PUBLIC SADDR + X:03FAH PUBLIC uiReceCheckSum + ------- PROC UART0HANDSHAKE + C:7F1DH LINE# 110 + C:7F1DH LINE# 111 + C:7F1DH LINE# 112 + C:7F23H LINE# 113 + C:7F23H LINE# 114 + C:7F28H LINE# 115 + C:7F29H LINE# 117 + C:7F29H LINE# 118 + C:7F2EH LINE# 119 + C:7F2EH LINE# 120 + ------- ENDPROC UART0HANDSHAKE + ------- PROC _UART0WRITEINFO + X:05EEH SYMBOL ptr + ------- DO + D:0007H SYMBOL i + ------- ENDDO + C:6486H LINE# 170 + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 29 + + + C:648EH LINE# 171 + C:648EH LINE# 174 + C:64AFH LINE# 175 + C:64AFH LINE# 176 + C:64BAH LINE# 177 + C:64BAH LINE# 178 + C:64BDH LINE# 179 + C:64D6H LINE# 180 + C:64E0H LINE# 181 + C:64E3H LINE# 182 + C:64E5H LINE# 183 + C:64EAH LINE# 185 + C:64EFH LINE# 186 + C:64F0H LINE# 188 + C:64F0H LINE# 189 + C:64F5H LINE# 190 + C:64F5H LINE# 191 + ------- ENDPROC _UART0WRITEINFO + ------- PROC _UART0READINFO + D:0006H SYMBOL ptr + ------- DO + D:0005H SYMBOL i + ------- ENDDO + C:68BCH LINE# 263 + C:68BCH LINE# 264 + C:68BCH LINE# 267 + C:68C5H LINE# 268 + C:68C5H LINE# 269 + C:68C7H LINE# 270 + C:68C7H LINE# 271 + C:68D3H LINE# 272 + C:68D3H LINE# 273 + C:68D6H LINE# 274 + C:68E8H LINE# 275 + C:68EDH LINE# 276 + C:68F0H LINE# 277 + C:690CH LINE# 279 + C:691EH LINE# 280 + ------- ENDPROC _UART0READINFO + ------- PROC UART0WRITEMANUFACTURE + C:74EFH LINE# 346 + C:74EFH LINE# 347 + C:74EFH LINE# 348 + C:7510H LINE# 349 + C:7510H LINE# 350 + C:7518H LINE# 351 + C:7518H LINE# 352 + C:751EH LINE# 353 + C:7520H LINE# 354 + C:7524H LINE# 355 + C:7524H LINE# 356 + C:7526H LINE# 357 + C:7526H LINE# 358 + C:7528H LINE# 359 + C:752DH LINE# 360 + C:752EH LINE# 362 + C:752EH LINE# 363 + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 30 + + + C:7533H LINE# 364 + C:7533H LINE# 365 + ------- ENDPROC UART0WRITEMANUFACTURE + ------- PROC UART0READSUBCLASSID + C:78B6H LINE# 437 + C:78B6H LINE# 438 + C:78B6H LINE# 439 + C:78D7H LINE# 440 + C:78D7H LINE# 441 + C:78DFH LINE# 443 + C:78E1H LINE# 444 + C:78E6H LINE# 445 + C:78E7H LINE# 447 + C:78E7H LINE# 448 + C:78ECH LINE# 449 + C:78ECH LINE# 450 + ------- ENDPROC UART0READSUBCLASSID + ------- PROC UART0RDCMDPROCESS + ------- DO + X:05F0H SYMBOL rdaddr + ------- ENDDO + C:46AEH LINE# 506 + C:46AEH LINE# 507 + C:46AEH LINE# 510 + C:4702H LINE# 511 + C:4702H LINE# 512 + C:4702H LINE# 513 + C:4702H LINE# 514 + C:4702H LINE# 515 + C:4702H LINE# 516 + C:4702H LINE# 517 + C:4702H LINE# 518 + C:4702H LINE# 519 + C:4702H LINE# 520 + C:4702H LINE# 521 + C:4702H LINE# 522 + C:4712H LINE# 523 + C:4713H LINE# 525 + C:4713H LINE# 526 + C:471AH LINE# 527 + C:471BH LINE# 529 + C:471BH LINE# 530 + C:4722H LINE# 531 + C:4723H LINE# 533 + C:4723H LINE# 534 + C:472AH LINE# 535 + C:472BH LINE# 537 + C:472BH LINE# 538 + C:4732H LINE# 539 + C:4733H LINE# 541 + C:4733H LINE# 542 + C:473AH LINE# 543 + C:473BH LINE# 545 + C:473BH LINE# 546 + C:4742H LINE# 547 + C:4743H LINE# 549 + C:4743H LINE# 550 + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 31 + + + C:474AH LINE# 551 + C:474BH LINE# 553 + C:474BH LINE# 554 + C:4752H LINE# 555 + C:4753H LINE# 557 + C:4753H LINE# 558 + C:475AH LINE# 559 + C:475BH LINE# 561 + C:475BH LINE# 562 + C:4762H LINE# 563 + C:4763H LINE# 565 + C:4763H LINE# 566 + C:476AH LINE# 567 + C:476BH LINE# 569 + C:476BH LINE# 570 + C:4772H LINE# 571 + C:4773H LINE# 573 + C:4773H LINE# 574 + C:477AH LINE# 575 + C:477BH LINE# 577 + C:477BH LINE# 578 + C:4782H LINE# 579 + C:4783H LINE# 581 + C:4783H LINE# 582 + C:478CH LINE# 583 + C:478CH LINE# 584 + C:478EH LINE# 585 + C:4794H LINE# 586 + C:4795H LINE# 587 + C:47A3H LINE# 588 + C:47A3H LINE# 589 + C:47A5H LINE# 590 + C:47ABH LINE# 591 + C:47ACH LINE# 592 + C:47B3H LINE# 593 + C:47B3H LINE# 594 + C:47D1H LINE# 595 + C:47D4H LINE# 596 + C:47D5H LINE# 597 + C:47DCH LINE# 598 + C:47DCH LINE# 599 + C:47FAH LINE# 600 + C:47FDH LINE# 601 + C:47FDH LINE# 602 + C:47FDH LINE# 603 + C:47FDH LINE# 604 + ------- ENDPROC UART0RDCMDPROCESS + ------- PROC UART0CALIVOLTAGE + C:6E26H LINE# 830 + C:6E26H LINE# 831 + C:6E26H LINE# 832 + C:6E47H LINE# 833 + C:6E47H LINE# 834 + C:6E5AH LINE# 836 + C:6E5DH LINE# 837 + C:6E5DH LINE# 838 + C:6E62H LINE# 839 + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 32 + + + C:6E63H LINE# 841 + C:6E63H LINE# 842 + C:6E65H LINE# 843 + C:6E6CH LINE# 844 + C:6E71H LINE# 845 + C:6E71H LINE# 846 + C:6E72H LINE# 848 + C:6E72H LINE# 849 + C:6E77H LINE# 850 + C:6E77H LINE# 851 + ------- ENDPROC UART0CALIVOLTAGE + ------- PROC UART0CALICURRENT + C:532FH LINE# 923 + C:532FH LINE# 924 + C:532FH LINE# 925 + C:5353H LINE# 926 + C:5353H LINE# 930 + C:53BBH LINE# 932 + C:53D1H LINE# 933 + C:53D1H LINE# 934 + C:53D6H LINE# 935 + C:53D7H LINE# 937 + C:53D7H LINE# 938 + C:53D9H LINE# 939 + C:53E0H LINE# 940 + C:53E5H LINE# 941 + C:53E5H LINE# 942 + C:53E6H LINE# 944 + C:53E6H LINE# 945 + C:53EBH LINE# 946 + C:53EBH LINE# 947 + ------- ENDPROC UART0CALICURRENT + ------- PROC UART0CALICUROFFSET + C:7923H LINE# 950 + C:7923H LINE# 951 + C:7923H LINE# 952 + C:7944H LINE# 953 + C:7944H LINE# 954 + C:7946H LINE# 955 + C:794DH LINE# 957 + C:7952H LINE# 958 + C:7953H LINE# 960 + C:7953H LINE# 961 + C:7958H LINE# 962 + C:7958H LINE# 963 + ------- ENDPROC UART0CALICUROFFSET + ------- PROC UART0CALITS1 + C:7266H LINE# 1073 + C:7266H LINE# 1074 + C:7266H LINE# 1075 + C:7287H LINE# 1076 + C:7287H LINE# 1077 + C:7289H LINE# 1078 + C:729CH LINE# 1079 + C:72A3H LINE# 1081 + C:72A8H LINE# 1082 + C:72A9H LINE# 1084 + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 33 + + + C:72A9H LINE# 1085 + C:72AEH LINE# 1086 + C:72AEH LINE# 1087 + ------- ENDPROC UART0CALITS1 + ------- PROC UART0CALITS2 + C:72AFH LINE# 1090 + C:72AFH LINE# 1091 + C:72AFH LINE# 1092 + C:72D0H LINE# 1093 + C:72D0H LINE# 1094 + C:72D2H LINE# 1095 + C:72E5H LINE# 1096 + C:72ECH LINE# 1098 + C:72F1H LINE# 1099 + C:72F2H LINE# 1101 + C:72F2H LINE# 1102 + C:72F7H LINE# 1103 + C:72F7H LINE# 1104 + ------- ENDPROC UART0CALITS2 + ------- PROC UART0CALIRTC + ------- DO + D:0007H SYMBOL i + ------- ENDDO + C:6DD2H LINE# 1196 + C:6DD2H LINE# 1197 + C:6DD2H LINE# 1200 + C:6DF3H LINE# 1201 + C:6DF3H LINE# 1202 + C:6DF4H LINE# 1203 + C:6DF4H LINE# 1204 + C:6E0CH LINE# 1205 + C:6E11H LINE# 1206 + C:6E13H LINE# 1207 + C:6E1AH LINE# 1208 + C:6E1FH LINE# 1209 + C:6E20H LINE# 1211 + C:6E20H LINE# 1212 + C:6E25H LINE# 1213 + C:6E25H LINE# 1214 + ------- ENDPROC UART0CALIRTC + ------- PROC UART0WRCMDPROCESS + ------- DO + X:05F2H SYMBOL rdaddr + ------- ENDDO + C:5B07H LINE# 1280 + C:5B07H LINE# 1281 + C:5B07H LINE# 1283 + C:5B33H LINE# 1284 + C:5B33H LINE# 1285 + C:5B33H LINE# 1286 + C:5B36H LINE# 1287 + C:5B37H LINE# 1288 + C:5B37H LINE# 1289 + C:5B3AH LINE# 1290 + C:5B3BH LINE# 1291 + C:5B3BH LINE# 1292 + C:5B3EH LINE# 1293 + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 34 + + + C:5B3FH LINE# 1294 + C:5B3FH LINE# 1295 + C:5B42H LINE# 1296 + C:5B43H LINE# 1297 + C:5B43H LINE# 1298 + C:5B46H LINE# 1299 + C:5B47H LINE# 1300 + C:5B47H LINE# 1301 + C:5B4AH LINE# 1302 + C:5B4BH LINE# 1303 + C:5B4BH LINE# 1304 + C:5B4EH LINE# 1305 + C:5B4FH LINE# 1307 + C:5B4FH LINE# 1308 + C:5B52H LINE# 1309 + C:5B53H LINE# 1310 + C:5B53H LINE# 1311 + C:5B71H LINE# 1312 + C:5B74H LINE# 1313 + C:5B75H LINE# 1314 + C:5B75H LINE# 1315 + C:5B93H LINE# 1316 + C:5B96H LINE# 1317 + C:5B97H LINE# 1319 + C:5B97H LINE# 1320 + C:5B9EH LINE# 1321 + C:5B9EH LINE# 1322 + C:5BA0H LINE# 1323 + C:5BA2H LINE# 1324 + C:5BA7H LINE# 1325 + C:5BA8H LINE# 1327 + C:5BA8H LINE# 1328 + C:5BADH LINE# 1329 + C:5BADH LINE# 1330 + C:5BADH LINE# 1331 + C:5BADH LINE# 1332 + ------- ENDPROC UART0WRCMDPROCESS + ------- PROC UART0IAPCHECKHANDSHAKE + ------- DO + D:0007H SYMBOL i + D:0007H SYMBOL databak + X:05F4H SYMBOL checksum + ------- ENDDO + C:4547H LINE# 1466 + C:4547H LINE# 1467 + C:4547H LINE# 1469 + C:454EH LINE# 1471 + C:4556H LINE# 1472 + C:4556H LINE# 1473 + C:455EH LINE# 1474 + C:455EH LINE# 1475 + C:4563H LINE# 1476 + C:4564H LINE# 1478 + C:4564H LINE# 1479 + C:456BH LINE# 1480 + C:456FH LINE# 1481 + C:456FH LINE# 1482 + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 35 + + + C:4570H LINE# 1484 + C:4570H LINE# 1485 + C:458BH LINE# 1486 + C:458BH LINE# 1487 + C:459EH LINE# 1488 + C:459EH LINE# 1489 + C:45B6H LINE# 1490 + C:45B6H LINE# 1491 + C:45BEH LINE# 1492 + C:45BEH LINE# 1493 + C:45C9H LINE# 1494 + C:45C9H LINE# 1495 + C:45CEH LINE# 1496 + C:45CEH LINE# 1497 + C:45CFH LINE# 1498 + C:45D7H LINE# 1499 + C:45D7H LINE# 1500 + C:45E2H LINE# 1501 + C:45E2H LINE# 1502 + C:45E9H LINE# 1503 + C:45E9H LINE# 1504 + C:45E9H LINE# 1505 + C:45EAH LINE# 1507 + C:45EAH LINE# 1508 + C:45EFH LINE# 1509 + C:461EH LINE# 1510 + C:461EH LINE# 1511 + C:4625H LINE# 1512 + C:4625H LINE# 1514 + C:462CH LINE# 1515 + C:462CH LINE# 1516 + C:4630H LINE# 1517 + C:4632H LINE# 1519 + C:4632H LINE# 1520 + C:4634H LINE# 1521 + C:4639H LINE# 1522 + C:4639H LINE# 1524 + C:463EH LINE# 1525 + C:4644H LINE# 1527 + C:4649H LINE# 1528 + C:464FH LINE# 1529 + C:4652H LINE# 1531 + C:466BH LINE# 1532 + C:466BH LINE# 1533 + C:4680H LINE# 1534 + C:4683H LINE# 1536 + C:4697H LINE# 1537 + C:46A8H LINE# 1539 + C:46ADH LINE# 1540 + C:46ADH LINE# 1541 + C:46ADH LINE# 1542 + ------- ENDPROC UART0IAPCHECKHANDSHAKE + ------- PROC _INTERRUPTUART0APPRX + D:0007H SYMBOL RxData + C:5E2EH LINE# 1729 + C:5E2EH LINE# 1730 + C:5E2EH LINE# 1731 + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 36 + + + C:5E3DH LINE# 1732 + C:5E43H LINE# 1733 + C:5E49H LINE# 1734 + C:5E49H LINE# 1735 + C:5E4BH LINE# 1736 + C:5E4BH LINE# 1737 + C:5E53H LINE# 1738 + C:5E53H LINE# 1739 + C:5E5DH LINE# 1740 + C:5E5DH LINE# 1741 + C:5E61H LINE# 1742 + C:5E61H LINE# 1743 + C:5E63H LINE# 1744 + C:5E65H LINE# 1745 + C:5E67H LINE# 1747 + C:5E67H LINE# 1748 + C:5E69H LINE# 1749 + C:5E6BH LINE# 1750 + C:5E6BH LINE# 1751 + C:5E6DH LINE# 1752 + C:5E75H LINE# 1753 + C:5E75H LINE# 1754 + C:5E7AH LINE# 1755 + C:5E7AH LINE# 1756 + C:5E7AH LINE# 1758 + C:5E7DH LINE# 1759 + C:5E7DH LINE# 1760 + C:5E85H LINE# 1761 + C:5E85H LINE# 1762 + C:5E88H LINE# 1763 + C:5E88H LINE# 1764 + C:5E8AH LINE# 1765 + C:5E8DH LINE# 1766 + C:5E8DH LINE# 1767 + C:5EA6H LINE# 1768 + C:5EA6H LINE# 1769 + C:5EA9H LINE# 1770 + C:5EABH LINE# 1771 + C:5EB0H LINE# 1772 + C:5EB0H LINE# 1773 + C:5EB2H LINE# 1775 + C:5EB2H LINE# 1776 + C:5EB5H LINE# 1777 + C:5EB5H LINE# 1778 + C:5EB7H LINE# 1780 + C:5EBCH LINE# 1781 + C:5EC0H LINE# 1782 + C:5EC4H LINE# 1783 + ------- ENDPROC _INTERRUPTUART0APPRX + ------- PROC INTERRUPTUART0APPTX + C:59B1H LINE# 1792 + C:59B1H LINE# 1793 + C:59B1H LINE# 1794 + C:59C1H LINE# 1795 + C:59C1H LINE# 1796 + C:59DAH LINE# 1797 + C:59DAH LINE# 1798 + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 37 + + + C:59DCH LINE# 1799 + C:59DEH LINE# 1800 + C:59E0H LINE# 1801 + C:59E4H LINE# 1802 + C:59E6H LINE# 1803 + C:59E8H LINE# 1804 + C:59EAH LINE# 1805 + C:59ECH LINE# 1806 + C:59EEH LINE# 1808 + C:59EEH LINE# 1809 + C:59F4H LINE# 1810 + C:5A03H LINE# 1811 + C:5A03H LINE# 1812 + C:5A05H LINE# 1813 + C:5A22H LINE# 1814 + C:5A22H LINE# 1815 + C:5A24H LINE# 1816 + C:5A29H LINE# 1817 + C:5A2BH LINE# 1818 + C:5A2FH LINE# 1819 + C:5A31H LINE# 1820 + C:5A33H LINE# 1821 + C:5A35H LINE# 1822 + C:5A37H LINE# 1823 + C:5A39H LINE# 1825 + C:5A39H LINE# 1826 + C:5A3FH LINE# 1827 + C:5A4EH LINE# 1828 + C:5A4EH LINE# 1830 + C:5A53H LINE# 1831 + C:5A57H LINE# 1832 + C:5A5BH LINE# 1833 + ------- ENDPROC INTERRUPTUART0APPTX + ------- PROC UART0CHECK + C:7DECH LINE# 1842 + C:7DECH LINE# 1843 + C:7DECH LINE# 1844 + C:7DF7H LINE# 1845 + C:7DF7H LINE# 1846 + C:7DF9H LINE# 1847 + C:7DFDH LINE# 1848 + C:7DFFH LINE# 1849 + C:7DFFH LINE# 1850 + ------- ENDPROC UART0CHECK + ------- ENDMOD UARTAPP + + ------- MODULE MEMORY + C:0000H SYMBOL _ICE_DUMMY_ + B:0020H.2 PUBLIC bOCRC_EN + X:0024H PUBLIC E2uiLearnLowTempe + D:0080H PUBLIC P0 + D:0022H PUBLIC uiBatStatus + D:0090H PUBLIC P1 + X:001EH PUBLIC E2ulCycleThreshold + D:00A0H PUBLIC P2 + D:00B0H PUBLIC P3 + B:0025H.6 PUBLIC bFastDischarge + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 38 + + + D:00C0H PUBLIC P4 + D:0080H PUBLIC P5 + B:0023H.0 PUBLIC bOV + X:002AH PUBLIC E2ucLowPowerDeley + B:0023H.1 PUBLIC bUV + X:00B3H PUBLIC E2ulCycleThresholdCount + B:0025H.5 PUBLIC bMidDischarge + B:0020H.6 PUBLIC bOCPM + B:0025H.2 PUBLIC bCHGING + X:006DH PUBLIC E2slOCCCurrent + X:00C5H PUBLIC E2siTS0Offset + X:0087H PUBLIC E2ucLoadRDelay + X:00C7H PUBLIC E2siTS1Offset + X:0071H PUBLIC E2ucOCCDelay + X:00ABH PUBLIC E2ulDfRC + B:0025H.4 PUBLIC bSlowDischarge + B:0021H.3 PUBLIC bLEDNum0 + B:0021H.4 PUBLIC bLEDNum1 + X:00BCH PUBLIC E2uiAFEOVvol + X:002FH PUBLIC E2ucRamCheckFlg0 + X:006AH PUBLIC E2siChgEndCurr + X:0061H PUBLIC E2ucRamCheckFlg1 + B:0025H.3 PUBLIC bDSGING + X:0073H PUBLIC E2ucRamCheckFlg2 + X:008CH PUBLIC E2ucDSG1PWMRatioH + X:0088H PUBLIC E2ucRamCheckFlg3 + X:0064H PUBLIC E2uiOVRvol + X:002CH PUBLIC E2siChgBKCur + X:00B9H PUBLIC E2ucDsgEndFlg + X:008DH PUBLIC E2ucRamCheckFlg5 + X:0053H PUBLIC E2ucDeviceChem + X:0098H PUBLIC E2ucRamCheckFlg6 + B:0022H.5 PUBLIC bAFE_SC + B:0025H.0 PUBLIC bCHGMOS + B:0020H.3 PUBLIC bBAL_EN + X:001AH PUBLIC E2ulFCC + X:00A1H PUBLIC E2ucRamCheckFlg7 + X:008BH PUBLIC E2ucDSG1PWMRatioL + X:00A9H PUBLIC E2ucRamCheckFlg8 + X:00BAH PUBLIC E2ucRamCheckFlg9 + X:0076H PUBLIC E2uiUVRvol + X:0047H PUBLIC E2ucDeviceName + X:0090H PUBLIC E2uiTempOTCR + X:009BH PUBLIC E2uiTempOTDR + B:0021H.5 PUBLIC bTempNum + X:00C3H PUBLIC E2siCadcOffset + X:0097H PUBLIC E2ucTempRDelay + D:0026H PUBLIC ucAFEStatus + X:00AFH PUBLIC E2slDsgEndCurr + X:0094H PUBLIC E2uiTempUTCR + B:0020H.7 PUBLIC bEnEEPRomBK + X:00BFH PUBLIC E2uiVPackGain + X:00BEH PUBLIC E2ucRamCheckFlgA + X:00A4H PUBLIC E2uiBalanceVolDiff + X:009FH PUBLIC E2uiTempUTDR + X:00CAH PUBLIC E2ucRamCheckFlgB + B:0025H.1 PUBLIC bDSGMOS + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 39 + + + X:01FEH PUBLIC E2uiCheckFlag + X:00A2H PUBLIC E2uiBalanceVol + B:0022H.4 PUBLIC bAFE_OV + X:0068H PUBLIC E2uiChgEndVol + X:00AAH PUBLIC E2ucSOC + X:0035H PUBLIC E2ucMNFName + B:0023H.2 PUBLIC bOCC + D:0020H PUBLIC uiPackConfig + X:0067H PUBLIC E2ucOVRDelay + X:002EH PUBLIC E2ucRTCBKDelay + X:0041H PUBLIC E2ulMNFDate + B:0020H.5 PUBLIC bCTO_EN + X:00B7H PUBLIC E2uiLastCCount + X:0002H PUBLIC E2uiVOC + X:0079H PUBLIC E2ucUVRDelay + X:007AH PUBLIC E2uiDsgEndVol + X:00C9H PUBLIC E2ucCalibrated + B:0026H.4 PUBLIC bAfeCHG + X:00C1H PUBLIC E2siCadcGain + B:0026H.2 PUBLIC bAfeChging + X:00CBH PUBLIC Reserved + B:0021H.0 PUBLIC bCellNum1 + X:007DH PUBLIC E2slOCD1Current + B:0022H.6 PUBLIC bCTO + B:0022H.0 PUBLIC bOTC + B:0021H.1 PUBLIC bCellNum2 + X:0082H PUBLIC E2slOCD2Current + B:0022H.1 PUBLIC bOTD + B:0021H.2 PUBLIC bCellNum3 + X:0081H PUBLIC E2ucOCD1Delay + X:0086H PUBLIC E2ucOCD2Delay + X:00A6H PUBLIC E2siBalCurrent + B:0024H.2 PUBLIC bVDQ + B:0026H.5 PUBLIC bAfeDSG + B:0022H.2 PUBLIC bUTC + X:0062H PUBLIC E2uiOVvol + X:0028H PUBLIC E2siDfilterCur + B:0026H.3 PUBLIC bAfeDsging + B:0022H.3 PUBLIC bUTD + X:0000H PUBLIC E2uiPackConfigMap + X:0074H PUBLIC E2uiUVvol + X:0022H PUBLIC E2uiCycleCount + X:008EH PUBLIC E2uiTempOTC + X:0099H PUBLIC E2uiTempOTD + X:0026H PUBLIC E2Reserve + B:0021H.6 PUBLIC bChgerLock + X:0096H PUBLIC E2ucTempDelay + B:0026H.0 PUBLIC bAfeChger + X:0092H PUBLIC E2uiTempUTC + X:009DH PUBLIC E2uiTempUTD + X:0034H PUBLIC E2ucID + X:00BBH PUBLIC E2ucAFEProtectConfig + X:0032H PUBLIC E2uiHWVersion + X:005FH PUBLIC E2uiChemID + X:002BH PUBLIC E2ucChgBKDelay + X:0066H PUBLIC E2ucOVDelay + D:0024H PUBLIC uiPackStatus + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 40 + + + B:0023H.3 PUBLIC bOCD1 + B:0023H.4 PUBLIC bOCD2 + B:0024H.0 PUBLIC bFC + B:0020H.4 PUBLIC bPF_EN + X:0072H PUBLIC E2ucOCCRDelay + X:0016H PUBLIC E2ulDesignCapacity + B:0024H.1 PUBLIC bFD + B:0020H.0 PUBLIC bSC_EN + X:0045H PUBLIC E2uiSerialNum + X:0030H PUBLIC E2uiSWVersion + X:00A8H PUBLIC E2ucBalanceDelay + X:0089H PUBLIC E2uiDSG1PWMFreq + X:0078H PUBLIC E2ucUVDelay + X:006CH PUBLIC E2ucChgEndDelay + B:0021H.7 PUBLIC bLoadLock + B:0026H.1 PUBLIC bAfeLoad + I:00A0H PUBLIC STACK + B:0020H.1 PUBLIC bOV_EN + X:007CH PUBLIC E2ucDsgEndDelay + ------- ENDMOD MEMORY + + ------- MODULE AFE + C:0000H SYMBOL _ICE_DUMMY_ + X:0200H PUBLIC uiVadcVmax + D:000FH PUBLIC uiCellVmin + D:0080H PUBLIC P0 + D:0011H PUBLIC uiCellVmax + D:0090H PUBLIC P1 + D:00A0H PUBLIC P2 + D:00B0H PUBLIC P3 + C:618AH PUBLIC AFEInitReg + X:0202H PUBLIC uiTempeMin + D:00C0H PUBLIC P4 + D:0080H PUBLIC P5 + X:0204H PUBLIC uiTempeMax + B:002BH.4 PUBLIC bCADCFlg + C:7E99H PUBLIC AfeADCEn + C:7804H PUBLIC AFEClrFlg + C:7D7CH PUBLIC AFERdStatus + D:0013H PUBLIC ucCellNum + X:0206H PUBLIC Info + C:7EF8H PUBLIC AfeTempADCDis + X:023CH PUBLIC slCadcCurBuf + B:002BH.5 PUBLIC bAfeErr + B:002BH.6 PUBLIC bVADCFlg + C:77C7H PUBLIC AFERdFlg + C:7D94H PUBLIC _AfeAlarmDis + C:7E86H PUBLIC AfeWDTDis + B:002BH.7 PUBLIC bAfeI2CRWErrFlg + C:7DC2H PUBLIC _AFEMosCtl + C:7EE5H PUBLIC AfeTempADCEn + X:027CH PUBLIC ucTempeMiddle + C:7F2FH PUBLIC _AfeAlarmEn + C:7E73H PUBLIC AfeWDTEn + X:027DH PUBLIC slCadcCurrent + X:0281H PUBLIC slCadcCurAverage + C:7ED2H PUBLIC AfeCADCDis + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 41 + + + C:7E3AH PUBLIC AFEChgerCheckDis + C:7788H PUBLIC _AfeBalCtl + X:0285H PUBLIC AFE + C:7EBFH PUBLIC AfeCADCEn + C:7E27H PUBLIC AFEChgerCheckEn + C:691FH PUBLIC AFERamCheck + C:7E60H PUBLIC AFELoadCheckDis + D:00C8H PUBLIC TWICON + X:02A3H PUBLIC REG + C:7BBBH PUBLIC AFEEnterPD + C:6103H PUBLIC AFEInit + C:7D62H PUBLIC AFETwiCheck + C:7E4DH PUBLIC AFELoadCheckEn + C:671CH PUBLIC _AFEReadReg + X:02B1H PUBLIC ucAfeI2CErrDelayCnt + X:02B2H PUBLIC ucCadcCnt + C:7EACH PUBLIC AfeADCDis + D:0014H PUBLIC ucCellNumOffset + C:5A5CH PUBLIC _AFEWriteReg + B:002CH.0 PUBLIC bAfeAlarmFlg + X:02B3H PUBLIC uiVadcVmin + ------- PROC AFETWICHECK + C:7D62H LINE# 43 + C:7D62H LINE# 44 + C:7D62H LINE# 45 + C:7D65H LINE# 46 + C:7D65H LINE# 47 + C:7D70H LINE# 48 + C:7D70H LINE# 49 + C:7D72H LINE# 50 + C:7D75H LINE# 51 + C:7D75H LINE# 52 + C:7D76H LINE# 54 + C:7D76H LINE# 55 + C:7D7BH LINE# 56 + C:7D7BH LINE# 57 + ------- ENDPROC AFETWICHECK + ------- PROC _AFEWRITEREG + X:02BEH SYMBOL Reg + X:02BFH SYMBOL Length + X:02C0H SYMBOL WrBuf + ------- DO + B:0029H.6 SYMBOL Result + X:02C2H SYMBOL Times + X:02C3H SYMBOL i + ------- ENDDO + C:5A5CH LINE# 67 + C:5A6AH LINE# 68 + C:5A6AH LINE# 69 + C:5A6CH LINE# 70 + C:5A6FH LINE# 73 + C:5A75H LINE# 74 + C:5A75H LINE# 75 + C:5A84H LINE# 76 + C:5A84H LINE# 77 + C:5A91H LINE# 78 + C:5A91H LINE# 80 + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 42 + + + C:5A91H LINE# 81 + C:5AB8H LINE# 82 + C:5AB8H LINE# 88 + C:5ABBH LINE# 89 + C:5ABBH LINE# 90 + C:5ABDH LINE# 91 + C:5ABFH LINE# 93 + C:5ABFH LINE# 94 + C:5AC2H LINE# 95 + C:5AC7H LINE# 96 + C:5ACAH LINE# 97 + C:5ACDH LINE# 98 + C:5ACDH LINE# 99 + C:5ACFH LINE# 100 + C:5AD8H LINE# 101 + C:5AD8H LINE# 102 + C:5ADAH LINE# 103 + C:5ADCH LINE# 105 + C:5ADCH LINE# 106 + C:5AE1H LINE# 107 + C:5AE7H LINE# 108 + C:5AF1H LINE# 109 + C:5AF1H LINE# 110 + C:5AF6H LINE# 111 + C:5AFFH LINE# 112 + C:5AFFH LINE# 113 + C:5B04H LINE# 115 + C:5B06H LINE# 116 + ------- ENDPROC _AFEWRITEREG + ------- PROC _AFEREADREG + X:02C1H SYMBOL Reg + X:02C2H SYMBOL Length + X:02C3H SYMBOL RdBuf + ------- DO + B:0029H.6 SYMBOL Result + X:02C5H SYMBOL Times + ------- ENDDO + C:671CH LINE# 126 + C:672AH LINE# 127 + C:672AH LINE# 128 + C:672CH LINE# 129 + C:672FH LINE# 131 + C:6732H LINE# 132 + C:6732H LINE# 133 + C:673FH LINE# 134 + C:673FH LINE# 136 + C:6768H LINE# 140 + C:676BH LINE# 141 + C:676BH LINE# 142 + C:676DH LINE# 143 + C:676FH LINE# 145 + C:676FH LINE# 146 + C:6772H LINE# 147 + C:6777H LINE# 148 + C:677AH LINE# 149 + C:677DH LINE# 150 + C:677DH LINE# 151 + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 43 + + + C:677FH LINE# 152 + C:677FH LINE# 153 + C:6784H LINE# 155 + C:6786H LINE# 156 + ------- ENDPROC _AFEREADREG + ------- PROC AFECLRFLG + C:7804H LINE# 165 + C:7804H LINE# 166 + C:7804H LINE# 167 + C:7811H LINE# 168 + C:7811H LINE# 169 + C:781BH LINE# 170 + C:781BH LINE# 171 + C:7822H LINE# 172 + C:782DH LINE# 173 + C:7834H LINE# 174 + C:783FH LINE# 175 + C:783FH LINE# 176 + C:783FH LINE# 177 + ------- ENDPROC AFECLRFLG + ------- PROC AFEINITREG + ------- DO + D:0004H SYMBOL TempVar + ------- ENDDO + C:618AH LINE# 186 + C:618AH LINE# 187 + C:618AH LINE# 190 + C:618FH LINE# 191 + C:6193H LINE# 192 + C:6196H LINE# 193 + C:619AH LINE# 194 + C:619DH LINE# 195 + C:619FH LINE# 196 + C:61A3H LINE# 197 + C:61A7H LINE# 198 + C:61ABH LINE# 199 + C:61AFH LINE# 200 + C:61B2H LINE# 202 + C:61B5H LINE# 203 + C:61B5H LINE# 204 + C:61BCH LINE# 205 + C:61CEH LINE# 206 + C:61CEH LINE# 207 + C:61D1H LINE# 208 + C:61D1H LINE# 209 + C:61D8H LINE# 210 + C:61EAH LINE# 211 + C:6207H LINE# 212 + C:620CH LINE# 213 + C:620FH LINE# 214 + C:620FH LINE# 215 + ------- ENDPROC AFEINITREG + ------- PROC AFEINIT + ------- DO + X:02BAH SYMBOL RdBuf + X:02BCH SYMBOL i + B:0029H.5 SYMBOL Result + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 44 + + + X:02BDH SYMBOL j + ------- ENDDO + C:6103H LINE# 225 + C:6103H LINE# 226 + C:6103H LINE# 229 + C:6105H LINE# 230 + C:610BH LINE# 232 + C:6115H LINE# 233 + C:6115H LINE# 234 + C:6122H LINE# 235 + C:6122H LINE# 236 + C:6132H LINE# 237 + C:6132H LINE# 238 + C:613BH LINE# 240 + C:6169H LINE# 241 + C:6169H LINE# 242 + C:6171H LINE# 243 + C:6171H LINE# 244 + C:6173H LINE# 245 + C:6175H LINE# 246 + C:6175H LINE# 247 + C:6175H LINE# 248 + C:617EH LINE# 249 + C:617EH LINE# 251 + C:617EH LINE# 252 + C:6180H LINE# 253 + C:6180H LINE# 254 + C:6183H LINE# 255 + C:6183H LINE# 256 + C:6185H LINE# 257 + C:6185H LINE# 258 + C:6187H LINE# 259 + C:6189H LINE# 261 + ------- ENDPROC AFEINIT + ------- PROC AFERDFLG + C:77C7H LINE# 272 + C:77C7H LINE# 273 + C:77C7H LINE# 274 + C:77D4H LINE# 275 + C:77D4H LINE# 276 + C:77DCH LINE# 277 + C:77DCH LINE# 278 + C:77DEH LINE# 279 + C:77DEH LINE# 281 + C:77E2H LINE# 282 + C:77E2H LINE# 283 + C:77E4H LINE# 284 + C:77E4H LINE# 286 + C:77EFH LINE# 287 + C:77EFH LINE# 288 + C:77F1H LINE# 289 + C:77F3H LINE# 290 + C:77F3H LINE# 291 + C:77F7H LINE# 292 + C:77F7H LINE# 293 + C:77F9H LINE# 294 + C:77F9H LINE# 296 + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 45 + + + C:7800H LINE# 297 + C:7800H LINE# 298 + C:7803H LINE# 299 + C:7803H LINE# 300 + C:7803H LINE# 301 + ------- ENDPROC AFERDFLG + ------- PROC AFERDSTATUS + ------- DO + X:02B7H SYMBOL RegTemp + ------- ENDDO + C:7D7CH LINE# 310 + C:7D7CH LINE# 311 + C:7D7CH LINE# 313 + C:7D89H LINE# 314 + C:7D89H LINE# 315 + C:7D93H LINE# 316 + C:7D93H LINE# 317 + ------- ENDPROC AFERDSTATUS + ------- PROC AFERAMCHECK + ------- DO + X:02B7H SYMBOL RdBuf + X:02B9H SYMBOL i + ------- ENDDO + C:691FH LINE# 326 + C:691FH LINE# 327 + C:691FH LINE# 331 + C:692FH LINE# 332 + C:692FH LINE# 333 + C:6938H LINE# 335 + C:6966H LINE# 336 + C:6966H LINE# 337 + C:696EH LINE# 338 + C:696EH LINE# 339 + C:6973H LINE# 340 + C:6973H LINE# 341 + C:6975H LINE# 342 + C:6975H LINE# 343 + C:6976H LINE# 344 + C:6976H LINE# 345 + C:6976H LINE# 346 + C:697FH LINE# 347 + ------- ENDPROC AFERAMCHECK + ------- PROC AFEENTERPD + C:7BBBH LINE# 356 + C:7BBBH LINE# 357 + C:7BBBH LINE# 358 + C:7BC1H LINE# 359 + C:7BCEH LINE# 360 + C:7BCEH LINE# 361 + C:7BD5H LINE# 362 + C:7BE0H LINE# 363 + C:7BE0H LINE# 364 + ------- ENDPROC AFEENTERPD + ------- PROC _AFEMOSCTL + D:0007H SYMBOL MosStatus + C:7DC2H LINE# 373 + C:7DC2H LINE# 374 + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 46 + + + C:7DC2H LINE# 375 + C:7DC9H LINE# 376 + C:7DCBH LINE# 377 + C:7DD6H LINE# 378 + ------- ENDPROC _AFEMOSCTL + ------- PROC AFECHGERCHECKEN + C:7E27H LINE# 388 + C:7E27H LINE# 389 + C:7E27H LINE# 390 + C:7E2EH LINE# 391 + C:7E39H LINE# 392 + ------- ENDPROC AFECHGERCHECKEN + ------- PROC AFECHGERCHECKDIS + C:7E3AH LINE# 395 + C:7E3AH LINE# 396 + C:7E3AH LINE# 397 + C:7E41H LINE# 398 + C:7E4CH LINE# 399 + ------- ENDPROC AFECHGERCHECKDIS + ------- PROC AFELOADCHECKEN + C:7E4DH LINE# 402 + C:7E4DH LINE# 403 + C:7E4DH LINE# 404 + C:7E54H LINE# 405 + C:7E5FH LINE# 406 + ------- ENDPROC AFELOADCHECKEN + ------- PROC AFELOADCHECKDIS + C:7E60H LINE# 409 + C:7E60H LINE# 410 + C:7E60H LINE# 411 + C:7E67H LINE# 412 + C:7E72H LINE# 413 + ------- ENDPROC AFELOADCHECKDIS + ------- PROC _AFEBALCTL + X:02B9H SYMBOL BalChTemp + C:7788H LINE# 422 + C:7790H LINE# 423 + C:7790H LINE# 424 + C:77A4H LINE# 425 + C:77B1H LINE# 426 + C:77B1H LINE# 427 + C:77BBH LINE# 428 + C:77C6H LINE# 429 + C:77C6H LINE# 430 + ------- ENDPROC _AFEBALCTL + ------- PROC AFEWDTEN + C:7E73H LINE# 439 + C:7E73H LINE# 440 + C:7E73H LINE# 441 + C:7E7AH LINE# 442 + C:7E85H LINE# 443 + ------- ENDPROC AFEWDTEN + ------- PROC AFEWDTDIS + C:7E86H LINE# 446 + C:7E86H LINE# 447 + C:7E86H LINE# 448 + C:7E8DH LINE# 449 + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 47 + + + C:7E98H LINE# 450 + ------- ENDPROC AFEWDTDIS + ------- PROC AFEADCEN + C:7E99H LINE# 459 + C:7E99H LINE# 460 + C:7E99H LINE# 461 + C:7EA0H LINE# 462 + C:7EABH LINE# 463 + ------- ENDPROC AFEADCEN + ------- PROC AFEADCDIS + C:7EACH LINE# 466 + C:7EACH LINE# 467 + C:7EACH LINE# 468 + C:7EB3H LINE# 469 + C:7EBEH LINE# 470 + ------- ENDPROC AFEADCDIS + ------- PROC AFECADCEN + C:7EBFH LINE# 472 + C:7EBFH LINE# 473 + C:7EBFH LINE# 474 + C:7EC6H LINE# 475 + C:7ED1H LINE# 476 + ------- ENDPROC AFECADCEN + ------- PROC AFECADCDIS + C:7ED2H LINE# 479 + C:7ED2H LINE# 480 + C:7ED2H LINE# 481 + C:7ED9H LINE# 482 + C:7EE4H LINE# 483 + ------- ENDPROC AFECADCDIS + ------- PROC AFETEMPADCEN + C:7EE5H LINE# 485 + C:7EE5H LINE# 486 + C:7EE5H LINE# 487 + C:7EECH LINE# 488 + C:7EF7H LINE# 489 + ------- ENDPROC AFETEMPADCEN + ------- PROC AFETEMPADCDIS + C:7EF8H LINE# 492 + C:7EF8H LINE# 493 + C:7EF8H LINE# 494 + C:7EFFH LINE# 495 + C:7F0AH LINE# 496 + ------- ENDPROC AFETEMPADCDIS + ------- PROC _AFEALARMEN + D:0007H SYMBOL AlarmFlg + C:7F2FH LINE# 505 + C:7F2FH LINE# 506 + C:7F2FH LINE# 507 + C:7F35H LINE# 508 + C:7F40H LINE# 509 + ------- ENDPROC _AFEALARMEN + ------- PROC _AFEALARMDIS + D:0007H SYMBOL AlarmFlg + C:7D94H LINE# 511 + C:7D94H LINE# 512 + C:7D94H LINE# 513 + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 48 + + + C:7D9FH LINE# 514 + C:7DAAH LINE# 515 + ------- ENDPROC _AFEALARMDIS + ------- ENDMOD AFE + + ------- MODULE BALANCE + C:0000H SYMBOL _ICE_DUMMY_ + D:0080H PUBLIC P0 + D:0090H PUBLIC P1 + D:00A0H PUBLIC P2 + B:002CH.1 PUBLIC bBalancingFlg + D:00B0H PUBLIC P3 + D:00C0H PUBLIC P4 + B:002CH.2 PUBLIC bCellOpenDecFlag + D:0080H PUBLIC P5 + C:7F77H PUBLIC BalanceProcess + X:0536H PUBLIC ucBalanceStep + X:0537H PUBLIC ucCellOpenDecCnt + X:0538H PUBLIC ucCtoCnt + B:002CH.3 PUBLIC bBalanceFlg + C:7BE1H PUBLIC CTOTurnOnCheck + X:0539H PUBLIC ucBalanceTimeCnt + B:002CH.4 PUBLIC bBalanceOddFlg + X:053AH PUBLIC uiBalanceChannel + B:002CH.5 PUBLIC bCTOValidFlg + C:4945H PUBLIC BalTurnOnCheck + C:5798H PUBLIC BalProcess + C:7959H PUBLIC CTOCheckVol + ------- PROC BALTURNONCHECK + ------- DO + D:0005H SYMBOL i + ------- ENDDO + C:4945H LINE# 32 + C:4945H LINE# 33 + C:4945H LINE# 36 + C:4951H LINE# 37 + C:4951H LINE# 38 + C:4957H LINE# 39 + C:4957H LINE# 40 + C:495EH LINE# 41 + C:498EH LINE# 44 + C:498EH LINE# 45 + C:4990H LINE# 46 + C:4995H LINE# 47 + C:4996H LINE# 49 + C:4996H LINE# 50 + C:49E0H LINE# 51 + C:49E0H LINE# 52 + C:49E3H LINE# 53 + C:49E3H LINE# 54 + C:49E9H LINE# 55 + C:49E9H LINE# 56 + C:4A05H LINE# 57 + C:4A05H LINE# 58 + C:4A1BH LINE# 59 + C:4A1BH LINE# 60 + C:4A60H LINE# 61 + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 49 + + + C:4A60H LINE# 62 + C:4A7BH LINE# 63 + C:4A7BH LINE# 64 + C:4A7EH LINE# 65 + C:4A80H LINE# 66 + C:4A80H LINE# 67 + C:4A81H LINE# 69 + C:4A81H LINE# 70 + C:4A83H LINE# 71 + C:4A88H LINE# 72 + C:4A88H LINE# 73 + C:4A88H LINE# 74 + C:4A88H LINE# 75 + C:4A88H LINE# 76 + ------- ENDPROC BALTURNONCHECK + ------- PROC CTOCHECKVOL + ------- DO + B:0029H.5 SYMBOL bResult + ------- ENDDO + C:7959H LINE# 87 + C:7959H LINE# 88 + C:7959H LINE# 89 + C:795BH LINE# 91 + C:795EH LINE# 92 + C:795EH LINE# 93 + C:7961H LINE# 94 + C:7961H LINE# 95 + C:7964H LINE# 96 + C:7964H LINE# 97 + C:7973H LINE# 98 + C:7973H LINE# 99 + C:7975H LINE# 100 + C:7980H LINE# 101 + C:7980H LINE# 102 + C:7982H LINE# 103 + C:7982H LINE# 104 + C:7984H LINE# 106 + C:7984H LINE# 107 + C:7986H LINE# 108 + C:798BH LINE# 109 + C:798BH LINE# 110 + C:798BH LINE# 111 + C:798BH LINE# 128 + C:798BH LINE# 130 + C:798DH LINE# 131 + ------- ENDPROC CTOCHECKVOL + ------- PROC BALPROCESS + ------- DO + X:02B7H SYMBOL BalChTemp + ------- ENDDO + C:5798H LINE# 144 + C:5798H LINE# 145 + C:5798H LINE# 150 + C:57B6H LINE# 151 + C:57B6H LINE# 152 + C:57B8H LINE# 153 + C:57B8H LINE# 155 + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 50 + + + C:57D0H LINE# 156 + C:57D0H LINE# 157 + C:57D0H LINE# 158 + C:57D6H LINE# 159 + C:57D6H LINE# 160 + C:57D9H LINE# 161 + C:57D9H LINE# 162 + C:57ECH LINE# 163 + C:57EEH LINE# 165 + C:57EEH LINE# 166 + C:5801H LINE# 167 + C:5801H LINE# 168 + C:580CH LINE# 169 + C:5812H LINE# 170 + C:5814H LINE# 171 + C:5814H LINE# 172 + C:5815H LINE# 174 + C:5815H LINE# 175 + C:581BH LINE# 176 + C:581CH LINE# 178 + C:581CH LINE# 179 + C:5821H LINE# 180 + C:5821H LINE# 181 + C:5827H LINE# 182 + C:582DH LINE# 183 + C:582FH LINE# 184 + C:582FH LINE# 185 + C:5830H LINE# 187 + C:5830H LINE# 188 + C:5835H LINE# 189 + C:5835H LINE# 190 + C:583BH LINE# 191 + C:583CH LINE# 193 + C:583CH LINE# 194 + C:5842H LINE# 195 + C:5844H LINE# 196 + C:5844H LINE# 197 + C:5845H LINE# 199 + C:5845H LINE# 200 + C:584BH LINE# 201 + C:584DH LINE# 202 + C:584FH LINE# 203 + C:5851H LINE# 204 + C:5851H LINE# 205 + C:5851H LINE# 206 + ------- ENDPROC BALPROCESS + ------- PROC CTOTURNONCHECK + C:7BE1H LINE# 215 + C:7BE1H LINE# 216 + C:7BE1H LINE# 220 + C:7BE7H LINE# 222 + C:7BE7H LINE# 223 + C:7BF2H LINE# 224 + C:7BF2H LINE# 225 + C:7BF5H LINE# 226 + C:7BF8H LINE# 227 + C:7BF8H LINE# 228 + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 51 + + + C:7BFAH LINE# 229 + C:7BFCH LINE# 230 + C:7C06H LINE# 231 + C:7C06H LINE# 232 + C:7C06H LINE# 233 + C:7C06H LINE# 234 + ------- ENDPROC CTOTURNONCHECK + ------- PROC BALANCEPROCESS + C:7F77H LINE# 242 + C:7F77H LINE# 243 + C:7F77H LINE# 244 + C:7F7AH LINE# 246 + C:7F7DH LINE# 248 + C:7F80H LINE# 249 + ------- ENDPROC BALANCEPROCESS + ------- ENDMOD BALANCE + + ------- MODULE CALCULATE + C:0000H SYMBOL _ICE_DUMMY_ + C:5852H PUBLIC OffsetCalculate + D:0080H PUBLIC P0 + D:0090H PUBLIC P1 + D:00A0H PUBLIC P2 + D:00B0H PUBLIC P3 + C:380CH PUBLIC _CalcuTemp + D:00C0H PUBLIC P4 + D:0080H PUBLIC P5 + C:79F8H PUBLIC siCurTempOffset + C:40EFH PUBLIC AfeCalcuCurr + C:4BCBH PUBLIC AfeCalcuVol + C:7389H PUBLIC AfeGetTempe + X:05F6H PUBLIC ucChgingCheckCnt + C:7E00H PUBLIC AFEInfoProcess + X:05F7H PUBLIC ucDsgingCheckCnt + B:00A8H.4 PUBLIC ES0 + C:71D2H PUBLIC AfeGetVol + C:4F22H PUBLIC AfeCalcuTempe + ------- PROC _CALCUTEMP + D:0082H SYMBOL getdata + ------- DO + X:02B7H SYMBOL i + X:02B8H SYMBOL Temperature + X:02BAH SYMBOL Tempcalcu + ------- ENDDO + C:380CH LINE# 22 + C:3810H LINE# 23 + C:3810H LINE# 31 + C:383EH LINE# 32 + C:3850H LINE# 33 + C:3850H LINE# 34 + C:386DH LINE# 35 + C:386DH LINE# 38 + C:3886H LINE# 39 + C:3886H LINE# 40 + C:3890H LINE# 41 + C:3893H LINE# 42 + C:38ACH LINE# 43 + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 52 + + + C:38ACH LINE# 44 + C:38B6H LINE# 45 + C:38B9H LINE# 47 + C:38B9H LINE# 48 + C:38C1H LINE# 49 + C:38E0H LINE# 50 + C:38E0H LINE# 51 + C:38F3H LINE# 52 + C:38F3H LINE# 53 + C:3913H LINE# 54 + C:3913H LINE# 55 + C:3913H LINE# 56 + C:3913H LINE# 57 + C:391BH LINE# 58 + C:391BH LINE# 60 + C:391BH LINE# 61 + C:392EH LINE# 62 + C:392EH LINE# 63 + C:394EH LINE# 64 + C:394EH LINE# 65 + C:394EH LINE# 66 + C:394EH LINE# 67 + C:3956H LINE# 68 + C:395CH LINE# 69 + C:395CH LINE# 70 + C:3964H LINE# 72 + C:39F3H LINE# 73 + C:39F3H LINE# 74 + C:39FBH LINE# 75 + ------- ENDPROC _CALCUTEMP + ------- PROC AFEGETVOL + ------- DO + X:02C0H SYMBOL i + B:0029H.5 SYMBOL Result + ------- ENDDO + C:71D2H LINE# 84 + C:71D2H LINE# 85 + C:71D2H LINE# 87 + C:71D4H LINE# 89 + C:71F1H LINE# 90 + C:71F1H LINE# 91 + C:720CH LINE# 92 + C:720CH LINE# 93 + C:720EH LINE# 94 + C:7211H LINE# 95 + C:7211H LINE# 96 + C:7219H LINE# 98 + C:721BH LINE# 99 + ------- ENDPROC AFEGETVOL + ------- PROC AFEGETTEMPE + ------- DO + B:0029H.5 SYMBOL Result + ------- ENDDO + C:7389H LINE# 101 + C:7389H LINE# 102 + C:7389H LINE# 103 + C:738BH LINE# 105 + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 53 + + + C:7398H LINE# 106 + C:7398H LINE# 107 + C:739AH LINE# 108 + C:739AH LINE# 109 + C:73A7H LINE# 110 + C:73A7H LINE# 111 + C:73A9H LINE# 112 + C:73A9H LINE# 114 + C:73B6H LINE# 115 + C:73B6H LINE# 116 + C:73B8H LINE# 117 + C:73B8H LINE# 118 + C:73BFH LINE# 119 + C:73BFH LINE# 120 + C:73CCH LINE# 121 + C:73CCH LINE# 122 + C:73CEH LINE# 123 + C:73CEH LINE# 124 + C:73CEH LINE# 126 + C:73D0H LINE# 127 + ------- ENDPROC AFEGETTEMPE + ------- PROC AFECALCUTEMPE + ------- DO + D:0006H SYMBOL TempeData + ------- ENDDO + C:4F22H LINE# 136 + C:4F22H LINE# 137 + C:4F22H LINE# 140 + C:4F2AH LINE# 141 + C:4F2AH LINE# 142 + C:4F41H LINE# 144 + C:4F43H LINE# 152 + C:4F4AH LINE# 154 + C:4F4CH LINE# 162 + C:4F6BH LINE# 164 + C:4F6DH LINE# 172 + C:4F74H LINE# 175 + C:4F76H LINE# 184 + C:4F7DH LINE# 185 + C:4F7DH LINE# 186 + C:4F9CH LINE# 188 + C:4F9EH LINE# 196 + C:4FA5H LINE# 198 + C:4FA7H LINE# 206 + C:4FA7H LINE# 208 + C:4FB7H LINE# 209 + C:4FBFH LINE# 210 + C:4FC2H LINE# 211 + C:4FC2H LINE# 212 + C:4FD9H LINE# 214 + C:4FDBH LINE# 222 + C:4FE2H LINE# 224 + C:4FE4H LINE# 233 + C:4FF1H LINE# 234 + C:4FF1H LINE# 235 + C:4FF6H LINE# 236 + C:4FF7H LINE# 238 + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 54 + + + C:4FF7H LINE# 239 + C:4FFFH LINE# 240 + C:4FFFH LINE# 241 + C:4FFFH LINE# 242 + C:4FFFH LINE# 243 + ------- ENDPROC AFECALCUTEMPE + ------- PROC AFECALCUVOL + ------- DO + X:02B7H SYMBOL i + X:02B8H SYMBOL TempPackVol + X:02BCH SYMBOL TempCellVol + ------- ENDDO + C:4BCBH LINE# 253 + C:4BCBH LINE# 254 + C:4BCBH LINE# 256 + C:4BDFH LINE# 257 + C:4BE6H LINE# 258 + C:4BF0H LINE# 260 + C:4BF8H LINE# 261 + C:4BF8H LINE# 262 + C:4C19H LINE# 263 + C:4C19H LINE# 264 + C:4C50H LINE# 266 + C:4C67H LINE# 267 + C:4C67H LINE# 268 + C:4C75H LINE# 269 + C:4C75H LINE# 270 + C:4C8CH LINE# 271 + C:4C8CH LINE# 272 + C:4C9AH LINE# 273 + C:4C9AH LINE# 275 + C:4C9DH LINE# 276 + C:4C9DH LINE# 278 + C:4C9FH LINE# 286 + C:4CB9H LINE# 288 + C:4CBBH LINE# 296 + C:4CD0H LINE# 297 + C:4CD0H LINE# 298 + C:4CD9H LINE# 300 + C:4CDCH LINE# 301 + C:4CDCH LINE# 302 + C:4CE6H LINE# 303 + C:4CF0H LINE# 306 + C:4CF2H LINE# 314 + C:4D00H LINE# 316 + C:4D02H LINE# 324 + C:4D02H LINE# 325 + C:4D02H LINE# 326 + ------- ENDPROC AFECALCUVOL + ------- PROC OFFSETCALCULATE + ------- DO + X:02BCH SYMBOL siCadcTempOffset + X:02BEH SYMBOL i + ------- ENDDO + C:5852H LINE# 347 + C:5852H LINE# 348 + C:5852H LINE# 349 + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 55 + + + C:5859H LINE# 352 + C:5868H LINE# 353 + C:5868H LINE# 354 + C:58D4H LINE# 355 + C:58D4H LINE# 356 + C:58F1H LINE# 357 + C:58F3H LINE# 358 + C:58F3H LINE# 359 + C:58FCH LINE# 360 + C:5904H LINE# 361 + ------- ENDPROC OFFSETCALCULATE + ------- PROC AFECALCUCURR + ------- DO + X:02B7H SYMBOL i + X:02B8H SYMBOL Tempdata + ------- ENDDO + C:40EFH LINE# 369 + C:40EFH LINE# 370 + C:40EFH LINE# 372 + C:40F9H LINE# 374 + C:4104H LINE# 376 + C:4110H LINE# 377 + C:4110H LINE# 378 + C:4119H LINE# 379 + C:4119H LINE# 380 + C:4168H LINE# 382 + C:4182H LINE# 383 + C:418DH LINE# 384 + C:418DH LINE# 385 + C:418FH LINE# 386 + C:418FH LINE# 387 + C:419EH LINE# 388 + C:419EH LINE# 389 + C:41BCH LINE# 390 + C:41C4H LINE# 391 + C:41D9H LINE# 393 + C:41DBH LINE# 394 + C:41DDH LINE# 395 + C:41FDH LINE# 396 + C:41FDH LINE# 397 + C:4208H LINE# 398 + C:4208H LINE# 399 + C:420BH LINE# 400 + C:420DH LINE# 402 + C:420FH LINE# 410 + C:421BH LINE# 412 + C:421DH LINE# 420 + C:421DH LINE# 421 + C:421EH LINE# 422 + C:4238H LINE# 423 + C:4238H LINE# 424 + C:4242H LINE# 425 + C:4242H LINE# 426 + C:4245H LINE# 427 + C:4247H LINE# 428 + C:4250H LINE# 430 + C:4252H LINE# 438 + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 56 + + + C:425EH LINE# 440 + C:4260H LINE# 448 + C:4260H LINE# 449 + C:4261H LINE# 451 + C:4261H LINE# 453 + C:4263H LINE# 461 + C:426DH LINE# 463 + C:426FH LINE# 471 + C:426FH LINE# 472 + ------- ENDPROC AFECALCUCURR + ------- PROC AFEINFOPROCESS + C:7E00H LINE# 481 + C:7E00H LINE# 482 + C:7E00H LINE# 483 + C:7E03H LINE# 485 + C:7E05H LINE# 486 + C:7E08H LINE# 487 + C:7E0BH LINE# 489 + C:7E0EH LINE# 490 + C:7E0EH LINE# 491 + C:7E10H LINE# 492 + C:7E13H LINE# 493 + C:7E13H LINE# 494 + ------- ENDPROC AFEINFOPROCESS + ------- ENDMOD CALCULATE + + ------- MODULE CALIBRATE + C:0000H SYMBOL _ICE_DUMMY_ + D:0080H PUBLIC P0 + D:0090H PUBLIC P1 + D:00A0H PUBLIC P2 + D:00B0H PUBLIC P3 + D:00C0H PUBLIC P4 + D:0080H PUBLIC P5 + X:05D6H PUBLIC slExtCur + C:7F41H PUBLIC CaliCurZero + X:05DAH PUBLIC ucExtcaliSwitch1 + C:6643H PUBLIC CaliVoltage + C:7534H PUBLIC CaliTS1 + C:7579H PUBLIC CaliTS2 + X:05DBH PUBLIC uiExtTemp1 + X:05DDH PUBLIC uiExtTemp2 + C:6EC9H PUBLIC CaliProcess + C:7840H PUBLIC CaliCurrentGain + X:05DFH PUBLIC ulExtVPack + X:05E1H PUBLIC ucExtRTC + C:75BEH PUBLIC CaliRTCTime + B:002FH.4 PUBLIC bCaliFlg + ------- PROC CALIVOLTAGE + ------- DO + D:0007H SYMBOL i + X:02B7H SYMBOL VPackTemp + ------- ENDDO + C:6643H LINE# 26 + C:6643H LINE# 27 + C:6643H LINE# 29 + C:664AH LINE# 31 + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 57 + + + C:6662H LINE# 32 + C:6662H LINE# 33 + C:667CH LINE# 34 + C:667FH LINE# 36 + C:66AFH LINE# 37 + ------- ENDPROC CALIVOLTAGE + ------- PROC CALICURRENTGAIN + ------- DO + D:0006H SYMBOL TempGain + ------- ENDDO + C:7840H LINE# 46 + C:7840H LINE# 47 + C:7840H LINE# 50 + C:786EH LINE# 51 + C:7872H LINE# 52 + C:7872H LINE# 53 + C:787AH LINE# 54 + C:787AH LINE# 55 + ------- ENDPROC CALICURRENTGAIN + ------- PROC CALICURZERO + C:7F41H LINE# 64 + C:7F41H LINE# 65 + C:7F41H LINE# 66 + C:7F50H LINE# 67 + ------- ENDPROC CALICURZERO + ------- PROC CALITS1 + ------- DO + D:0006H SYMBOL Tempe + ------- ENDDO + C:7534H LINE# 76 + C:7534H LINE# 77 + C:7534H LINE# 80 + C:754CH LINE# 81 + C:7570H LINE# 82 + C:7570H LINE# 83 + C:7578H LINE# 84 + C:7578H LINE# 85 + ------- ENDPROC CALITS1 + ------- PROC CALITS2 + ------- DO + D:0006H SYMBOL Tempe + ------- ENDDO + C:7579H LINE# 87 + C:7579H LINE# 88 + C:7579H LINE# 91 + C:7591H LINE# 92 + C:75B5H LINE# 93 + C:75B5H LINE# 94 + C:75BDH LINE# 95 + C:75BDH LINE# 96 + ------- ENDPROC CALITS2 + ------- PROC CALIRTCTIME + C:75BEH LINE# 106 + C:75BEH LINE# 107 + C:75BEH LINE# 108 + C:75C6H LINE# 109 + C:75CEH LINE# 110 + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 58 + + + C:75D6H LINE# 111 + C:75DEH LINE# 112 + C:75E6H LINE# 113 + C:75EEH LINE# 114 + C:75F6H LINE# 116 + C:75FDH LINE# 118 + C:75FFH LINE# 119 + C:7601H LINE# 120 + ------- ENDPROC CALIRTCTIME + ------- PROC CALIPROCESS + C:6EC9H LINE# 131 + C:6EC9H LINE# 132 + C:6EC9H LINE# 133 + C:6ECCH LINE# 134 + C:6ECCH LINE# 135 + C:6ECEH LINE# 137 + C:6ED5H LINE# 138 + C:6ED5H LINE# 139 + C:6ED8H LINE# 140 + C:6ED8H LINE# 142 + C:6EDFH LINE# 143 + C:6EDFH LINE# 144 + C:6EE2H LINE# 145 + C:6EE2H LINE# 147 + C:6EE9H LINE# 148 + C:6EE9H LINE# 149 + C:6EECH LINE# 150 + C:6EECH LINE# 152 + C:6EF3H LINE# 153 + C:6EF3H LINE# 154 + C:6EF6H LINE# 155 + C:6EF6H LINE# 157 + C:6EFDH LINE# 158 + C:6EFDH LINE# 159 + C:6F00H LINE# 160 + C:6F00H LINE# 162 + C:6F07H LINE# 163 + C:6F07H LINE# 164 + C:6F0AH LINE# 165 + C:6F0AH LINE# 167 + C:6F0FH LINE# 168 + C:6F11H LINE# 169 + C:6F17H LINE# 170 + C:6F17H LINE# 171 + ------- ENDPROC CALIPROCESS + ------- ENDMOD CALIBRATE + + ------- MODULE CHARGERLOAD + C:0000H SYMBOL _ICE_DUMMY_ + D:0080H PUBLIC P0 + D:0090H PUBLIC P1 + D:00A0H PUBLIC P2 + D:00B0H PUBLIC P3 + D:00C0H PUBLIC P4 + D:0080H PUBLIC P5 + X:05F8H PUBLIC ucChgerRCnt + B:002DH.2 PUBLIC bChgerChkingFlg + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 59 + + + C:72F8H PUBLIC ChgerCheck + X:05F9H PUBLIC ucLoadRCnt + B:002DH.3 PUBLIC bLoadChkingFlg + B:002DH.4 PUBLIC bChgerStartCheckFlg + C:7054H PUBLIC LoadCheck + B:002DH.5 PUBLIC bLoadStartCheckFlg + ------- PROC LOADCHECK + C:7054H LINE# 26 + C:7054H LINE# 27 + C:7054H LINE# 28 + C:7057H LINE# 29 + C:7057H LINE# 30 + C:7059H LINE# 31 + C:705BH LINE# 32 + C:7060H LINE# 33 + C:7063H LINE# 34 + C:7064H LINE# 35 + C:7067H LINE# 36 + C:7067H LINE# 37 + C:706AH LINE# 38 + C:706DH LINE# 39 + C:706DH LINE# 40 + C:7089H LINE# 41 + C:7089H LINE# 42 + C:708BH LINE# 43 + C:708DH LINE# 44 + C:7090H LINE# 45 + C:7093H LINE# 46 + C:7093H LINE# 47 + C:7095H LINE# 48 + C:7095H LINE# 49 + C:7097H LINE# 50 + C:7099H LINE# 51 + C:709CH LINE# 52 + C:709CH LINE# 53 + C:709EH LINE# 54 + C:70A1H LINE# 55 + C:70A1H LINE# 56 + C:70A1H LINE# 57 + C:70A1H LINE# 58 + C:70A1H LINE# 59 + ------- ENDPROC LOADCHECK + ------- PROC CHGERCHECK + C:72F8H LINE# 68 + C:72F8H LINE# 69 + C:72F8H LINE# 70 + C:72FBH LINE# 71 + C:72FBH LINE# 72 + C:72FDH LINE# 73 + C:72FFH LINE# 74 + C:7304H LINE# 75 + C:7307H LINE# 76 + C:7308H LINE# 77 + C:730BH LINE# 78 + C:730BH LINE# 79 + C:730EH LINE# 80 + C:7311H LINE# 81 + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 60 + + + C:7311H LINE# 82 + C:732DH LINE# 83 + C:732DH LINE# 84 + C:732FH LINE# 85 + C:7331H LINE# 86 + C:7334H LINE# 87 + C:7337H LINE# 88 + C:7337H LINE# 89 + C:7339H LINE# 90 + C:733BH LINE# 91 + C:733EH LINE# 92 + C:733EH LINE# 93 + C:7340H LINE# 94 + C:7340H LINE# 95 + C:7340H LINE# 96 + C:7340H LINE# 97 + ------- ENDPROC CHGERCHECK + ------- ENDMOD CHARGERLOAD + + ------- MODULE EXTE2PROM + C:0000H SYMBOL _ICE_DUMMY_ + C:6787H PUBLIC Uart0RdE2PRom + C:64F6H PUBLIC Uart1RdE2PRom + D:0080H PUBLIC P0 + C:6565H PUBLIC Uart2RdE2PRom + D:0090H PUBLIC P1 + D:00A0H PUBLIC P2 + C:3F3CH PUBLIC _E2PRomBKData + D:00B0H PUBLIC P3 + D:00C0H PUBLIC P4 + D:0080H PUBLIC P5 + C:69E1H PUBLIC _E2PRomWrite + C:6393H PUBLIC E2PRomInit + C:7CEFH PUBLIC E2PRomTwiCheck + X:03DAH PUBLIC ucRTCBKTime1 + B:00A0H.4 PUBLIC REN1 + B:0090H.4 PUBLIC REN2 + X:03DBH PUBLIC uiRTCBKTime2 + C:7688H PUBLIC E2PRomBKBoot + B:0027H.0 PUBLIC bE2PErase + X:03DDH PUBLIC uiE2PDataAddr + B:0027H.1 PUBLIC bE2PRErr + B:0027H.2 PUBLIC bE2PProcessFlg + X:03DFH PUBLIC bUart0E2PRdData + X:03E0H PUBLIC bUart1E2PRdData + X:03E1H PUBLIC bUart2E2PRdData + I:001EH PUBLIC ucUpDataLimitTime + D:0099H PUBLIC SBUF + X:03E2H PUBLIC uiCHGValidTime + D:00B1H PUBLIC RSTSTAT + X:03E4H PUBLIC ucE2PTwiRWErrDelayCnt + D:0086H PUBLIC INSCON + B:0027H.3 PUBLIC bE2PTwiRWErrFlg + B:0027H.4 PUBLIC bE2PBKChgStart + X:03E5H PUBLIC ucRTCBuf + D:00A1H PUBLIC SBUF1 + B:0027H.5 PUBLIC bE2PBKRtc + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 61 + + + D:0091H PUBLIC SBUF2 + X:03ECH PUBLIC bUart0RTCRdTime + B:0027H.6 PUBLIC bE2PBKDsgEndValid + B:0098H.4 PUBLIC REN + X:03EDH PUBLIC bUart1RTCRdTime + C:50D7H PUBLIC E2PRomBKCheck + X:03EEH PUBLIC bUart2RTCRdTime + C:5905H PUBLIC E2PRomBKProcess + C:66B0H PUBLIC E2PRomErase + C:74A9H PUBLIC Uart0RdRTC + C:70EEH PUBLIC E2PRomBKRTC + C:713AH PUBLIC Uart1RdRTC + B:0027H.7 PUBLIC bE2PBKDsgEnd + C:7186H PUBLIC Uart2RdRTC + B:0028H.0 PUBLIC bChgToDsgFlg + B:0028H.1 PUBLIC bDsgToChgFlg + B:0028H.2 PUBLIC bE2PBKChgStop + C:6A40H PUBLIC _E2PRomRead + ------- PROC E2PROMTWICHECK + C:7CEFH LINE# 43 + C:7CEFH LINE# 44 + C:7CEFH LINE# 45 + C:7CF2H LINE# 46 + C:7CF2H LINE# 47 + C:7CF5H LINE# 48 + C:7CF5H LINE# 49 + C:7D00H LINE# 50 + C:7D00H LINE# 51 + C:7D02H LINE# 52 + C:7D05H LINE# 53 + C:7D05H LINE# 54 + C:7D06H LINE# 56 + C:7D06H LINE# 57 + C:7D0BH LINE# 58 + C:7D0BH LINE# 59 + C:7D0BH LINE# 60 + ------- ENDPROC E2PROMTWICHECK + ------- PROC _E2PROMWRITE + X:02E1H SYMBOL WrAddr + X:02E3H SYMBOL Length + X:02E4H SYMBOL WrBuf + ------- DO + B:0029H.5 SYMBOL Result + X:02E6H SYMBOL i + ------- ENDDO + C:69E1H LINE# 69 + C:69F2H LINE# 70 + C:69F2H LINE# 71 + C:69F4H LINE# 74 + C:69F7H LINE# 75 + C:69F7H LINE# 76 + C:69FAH LINE# 77 + C:69FAH LINE# 79 + C:6A23H LINE# 80 + C:6A23H LINE# 81 + C:6A25H LINE# 82 + C:6A27H LINE# 83 + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 62 + + + C:6A27H LINE# 91 + C:6A2CH LINE# 92 + C:6A38H LINE# 93 + C:6A38H LINE# 94 + C:6A3DH LINE# 96 + C:6A3FH LINE# 97 + ------- ENDPROC _E2PROMWRITE + ------- PROC _E2PROMREAD + X:02C3H SYMBOL RdAddr + X:02C5H SYMBOL Length + X:02C6H SYMBOL RdBuf + ------- DO + B:0029H.6 SYMBOL Result + X:02C8H SYMBOL i + ------- ENDDO + C:6A40H LINE# 106 + C:6A51H LINE# 107 + C:6A51H LINE# 108 + C:6A53H LINE# 111 + C:6A56H LINE# 112 + C:6A56H LINE# 113 + C:6A59H LINE# 114 + C:6A59H LINE# 116 + C:6A82H LINE# 117 + C:6A82H LINE# 118 + C:6A84H LINE# 119 + C:6A86H LINE# 120 + C:6A86H LINE# 128 + C:6A8BH LINE# 129 + C:6A97H LINE# 130 + C:6A97H LINE# 131 + C:6A9CH LINE# 133 + C:6A9EH LINE# 134 + ------- ENDPROC _E2PROMREAD + ------- PROC E2PROMERASE + ------- DO + X:02B8H SYMBOL i + X:02BAH SYMBOL WrBuf + ------- ENDDO + C:66B0H LINE# 144 + C:66B0H LINE# 145 + C:66B0H LINE# 149 + C:66BBH LINE# 151 + C:66D9H LINE# 152 + C:66D9H LINE# 153 + C:66DCH LINE# 154 + C:66FBH LINE# 155 + C:6707H LINE# 157 + C:6714H LINE# 158 + C:671BH LINE# 159 + ------- ENDPROC E2PROMERASE + ------- PROC E2PROMINIT + ------- DO + B:0029H.5 SYMBOL Result + X:02B7H SYMBOL RdBuf + ------- ENDDO + C:6393H LINE# 168 + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 63 + + + C:6393H LINE# 169 + C:6393H LINE# 170 + C:6395H LINE# 174 + C:63A4H LINE# 176 + C:63B2H LINE# 177 + C:63C0H LINE# 179 + C:63CCH LINE# 180 + C:63CCH LINE# 181 + C:63E1H LINE# 182 + C:63E3H LINE# 183 + C:63EFH LINE# 184 + C:63EFH LINE# 185 + C:6404H LINE# 186 + C:6406H LINE# 188 + C:6406H LINE# 189 + C:640DH LINE# 190 + C:640DH LINE# 192 + C:640FH LINE# 193 + ------- ENDPROC E2PROMINIT + ------- PROC E2PROMBKRTC + ------- DO + X:02B8H SYMBOL WrBuf + D:0007H SYMBOL i + X:02C1H SYMBOL checksum + ------- ENDDO + C:70EEH LINE# 202 + C:70EEH LINE# 203 + C:70EEH LINE# 205 + C:70F3H LINE# 207 + C:70FAH LINE# 208 + C:7107H LINE# 209 + C:7109H LINE# 210 + C:7109H LINE# 211 + C:711BH LINE# 212 + C:7120H LINE# 213 + C:7128H LINE# 214 + C:712CH LINE# 216 + C:7139H LINE# 217 + ------- ENDPROC E2PROMBKRTC + ------- PROC E2PROMBKBOOT + ------- DO + X:02D9H SYMBOL WrBuf + ------- ENDDO + C:7688H LINE# 226 + C:7688H LINE# 227 + C:7688H LINE# 230 + C:7695H LINE# 231 + C:769AH LINE# 232 + C:76A3H LINE# 234 + C:76ABH LINE# 235 + C:76B3H LINE# 236 + C:76BBH LINE# 238 + C:76C8H LINE# 239 + ------- ENDPROC E2PROMBKBOOT + ------- PROC _E2PROMBKDATA + X:02B8H SYMBOL BKType + ------- DO + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 64 + + + X:02B9H SYMBOL WrBuf + ------- ENDDO + C:3F3CH LINE# 248 + C:3F41H LINE# 249 + C:3F41H LINE# 252 + C:3F45H LINE# 253 + C:3F45H LINE# 254 + C:3F52H LINE# 255 + C:3F5DH LINE# 256 + C:3F5FH LINE# 258 + C:3F5FH LINE# 259 + C:3F66H LINE# 260 + C:3F73H LINE# 261 + C:3F7EH LINE# 262 + C:3F7EH LINE# 264 + C:3F8BH LINE# 265 + C:3F8EH LINE# 266 + C:3F9BH LINE# 267 + C:3F9EH LINE# 268 + C:3FAEH LINE# 269 + C:3FBEH LINE# 270 + C:3FCEH LINE# 271 + C:3FD9H LINE# 272 + C:3FE9H LINE# 273 + C:3FF9H LINE# 274 + C:4009H LINE# 275 + C:4014H LINE# 276 + C:402BH LINE# 277 + C:403BH LINE# 278 + C:4048H LINE# 279 + C:404BH LINE# 280 + C:405BH LINE# 281 + C:406BH LINE# 282 + C:407BH LINE# 283 + C:4086H LINE# 284 + C:4093H LINE# 285 + C:4096H LINE# 286 + C:40A3H LINE# 287 + C:40A6H LINE# 288 + C:40AEH LINE# 289 + C:40B2H LINE# 291 + C:40C3H LINE# 293 + C:40CDH LINE# 294 + C:40E4H LINE# 295 + C:40E4H LINE# 296 + C:40EBH LINE# 297 + C:40EBH LINE# 299 + C:40EEH LINE# 300 + ------- ENDPROC _E2PROMBKDATA + ------- PROC UART0RDE2PROM + ------- DO + D:0006H SYMBOL RdAddr + ------- ENDDO + C:6787H LINE# 309 + C:6787H LINE# 310 + C:6787H LINE# 313 + C:67B2H LINE# 314 + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 65 + + + C:67BEH LINE# 316 + C:67DDH LINE# 317 + C:67EFH LINE# 318 + ------- ENDPROC UART0RDE2PROM + ------- PROC UART1RDE2PROM + ------- DO + D:0006H SYMBOL RdAddr + ------- ENDDO + C:64F6H LINE# 326 + C:64F6H LINE# 327 + C:64F6H LINE# 330 + C:6521H LINE# 331 + C:652DH LINE# 333 + C:654CH LINE# 334 + C:6564H LINE# 335 + ------- ENDPROC UART1RDE2PROM + ------- PROC UART2RDE2PROM + ------- DO + D:0006H SYMBOL RdAddr + ------- ENDDO + C:6565H LINE# 343 + C:6565H LINE# 344 + C:6565H LINE# 347 + C:6590H LINE# 348 + C:659CH LINE# 350 + C:65BBH LINE# 351 + C:65D3H LINE# 352 + ------- ENDPROC UART2RDE2PROM + ------- PROC UART0RDRTC + C:74A9H LINE# 361 + C:74A9H LINE# 362 + C:74A9H LINE# 363 + C:74B0H LINE# 364 + C:74BDH LINE# 366 + C:74DCH LINE# 367 + C:74EEH LINE# 368 + ------- ENDPROC UART0RDRTC + ------- PROC UART1RDRTC + C:713AH LINE# 377 + C:713AH LINE# 378 + C:713AH LINE# 379 + C:7141H LINE# 380 + C:714EH LINE# 382 + C:716DH LINE# 383 + C:7185H LINE# 384 + ------- ENDPROC UART1RDRTC + ------- PROC UART2RDRTC + C:7186H LINE# 392 + C:7186H LINE# 393 + C:7186H LINE# 394 + C:718DH LINE# 395 + C:719AH LINE# 397 + C:71B9H LINE# 398 + C:71D1H LINE# 399 + ------- ENDPROC UART2RDRTC + ------- PROC E2PROMBKPROCESS + ------- DO + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 66 + + + X:02B7H SYMBOL BKType + ------- ENDDO + C:5905H LINE# 407 + C:5905H LINE# 408 + C:5905H LINE# 411 + C:5911H LINE# 412 + C:5911H LINE# 413 + C:5913H LINE# 417 + C:5916H LINE# 418 + C:5916H LINE# 419 + C:5918H LINE# 420 + C:591BH LINE# 421 + C:591BH LINE# 423 + C:592AH LINE# 424 + C:592AH LINE# 425 + C:592DH LINE# 426 + C:592DH LINE# 427 + C:5932H LINE# 428 + C:5935H LINE# 429 + C:5935H LINE# 430 + C:593BH LINE# 431 + C:593BH LINE# 432 + C:593DH LINE# 433 + C:5940H LINE# 434 + C:5940H LINE# 435 + C:5946H LINE# 436 + C:5946H LINE# 437 + C:5948H LINE# 438 + C:594BH LINE# 439 + C:594BH LINE# 441 + C:594BH LINE# 443 + C:595AH LINE# 444 + C:595AH LINE# 445 + C:595DH LINE# 446 + C:595DH LINE# 447 + C:5962H LINE# 448 + C:5965H LINE# 449 + C:5965H LINE# 450 + C:596BH LINE# 451 + C:596BH LINE# 452 + C:596DH LINE# 453 + C:5970H LINE# 454 + C:5970H LINE# 455 + C:5976H LINE# 456 + C:5976H LINE# 457 + C:5978H LINE# 458 + C:597BH LINE# 459 + C:597BH LINE# 460 + C:597BH LINE# 462 + C:597EH LINE# 463 + C:597EH LINE# 464 + C:5980H LINE# 465 + C:5983H LINE# 466 + C:5983H LINE# 468 + C:5986H LINE# 469 + C:5986H LINE# 470 + C:5988H LINE# 471 + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 67 + + + C:598EH LINE# 472 + C:5992H LINE# 473 + C:5992H LINE# 475 + C:5995H LINE# 476 + C:5995H LINE# 477 + C:5997H LINE# 478 + C:599DH LINE# 479 + C:59A1H LINE# 480 + C:59A1H LINE# 482 + C:59A4H LINE# 483 + C:59A4H LINE# 484 + C:59A6H LINE# 485 + C:59ACH LINE# 486 + C:59B0H LINE# 487 + C:59B0H LINE# 488 + C:59B0H LINE# 489 + ------- ENDPROC E2PROMBKPROCESS + ------- PROC E2PROMBKCHECK + C:50D7H LINE# 498 + C:50D7H LINE# 499 + C:50D7H LINE# 500 + C:50DDH LINE# 501 + C:50DDH LINE# 505 + C:50ECH LINE# 506 + C:50ECH LINE# 507 + C:50EEH LINE# 508 + C:50F5H LINE# 509 + C:50F5H LINE# 511 + C:510AH LINE# 512 + C:510AH LINE# 513 + C:5111H LINE# 514 + C:5113H LINE# 515 + C:5115H LINE# 516 + C:5115H LINE# 518 + C:5118H LINE# 519 + C:5118H LINE# 520 + C:511AH LINE# 521 + C:511DH LINE# 522 + C:511DH LINE# 523 + C:511FH LINE# 524 + C:5121H LINE# 525 + C:5123H LINE# 526 + C:5123H LINE# 527 + C:5129H LINE# 528 + C:5129H LINE# 529 + C:512BH LINE# 530 + C:512DH LINE# 531 + C:512FH LINE# 532 + C:5131H LINE# 533 + C:5134H LINE# 534 + C:5134H LINE# 535 + C:5136H LINE# 536 + C:5136H LINE# 537 + C:5136H LINE# 539 + C:5153H LINE# 540 + C:5153H LINE# 541 + C:515DH LINE# 542 + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 68 + + + C:515DH LINE# 543 + C:5164H LINE# 544 + C:5171H LINE# 545 + C:5171H LINE# 547 + C:5192H LINE# 548 + C:5192H LINE# 549 + C:5199H LINE# 550 + C:519BH LINE# 551 + C:519DH LINE# 552 + C:519FH LINE# 553 + C:51A1H LINE# 554 + C:51A1H LINE# 555 + C:51A2H LINE# 557 + C:51A2H LINE# 558 + C:51A9H LINE# 559 + C:51A9H LINE# 560 + C:51A9H LINE# 561 + ------- ENDPROC E2PROMBKCHECK + ------- ENDMOD EXTE2PROM + + ------- MODULE INTERRUPT + C:0000H SYMBOL _ICE_DUMMY_ + D:0080H PUBLIC P0 + D:0090H PUBLIC P1 + D:00A0H PUBLIC P2 + D:00B0H PUBLIC P3 + D:00C0H PUBLIC P4 + D:0080H PUBLIC P5 + C:1003H PUBLIC InterruptTimer3 + D:0086H PUBLIC INSCON + B:0088H.7 PUBLIC TF3 + B:00D8H.0 PUBLIC IF40 + C:65D4H PUBLIC InterruptINT4 + B:00D8H.1 PUBLIC IF41 + B:00D8H.2 PUBLIC IF42 + B:00D8H.3 PUBLIC IF43 + B:00D8H.4 PUBLIC IF44 + B:00D8H.5 PUBLIC IF45 + B:00D8H.6 PUBLIC IF46 + B:00D8H.7 PUBLIC IF47 + ------- PROC INTERRUPTINT4 + C:65D4H LINE# 18 + C:65E1H LINE# 20 + C:65E3H LINE# 21 + C:65E6H LINE# 23 + C:65E9H LINE# 24 + C:65E9H LINE# 25 + C:65EBH LINE# 26 + C:65F0H LINE# 27 + C:65F0H LINE# 28 + C:65F3H LINE# 29 + C:65F3H LINE# 30 + C:65F5H LINE# 31 + C:65FAH LINE# 32 + C:65FAH LINE# 33 + C:65FDH LINE# 34 + C:65FDH LINE# 35 + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 69 + + + C:65FFH LINE# 36 + C:6604H LINE# 37 + C:6604H LINE# 38 + C:6607H LINE# 39 + C:6607H LINE# 40 + C:6609H LINE# 41 + C:660EH LINE# 42 + C:660EH LINE# 43 + C:6611H LINE# 44 + C:6611H LINE# 45 + C:6613H LINE# 46 + C:6618H LINE# 47 + C:6618H LINE# 48 + C:661BH LINE# 49 + C:661BH LINE# 50 + C:661DH LINE# 51 + C:6622H LINE# 52 + C:6622H LINE# 53 + C:6625H LINE# 54 + C:6625H LINE# 55 + C:6627H LINE# 56 + C:662CH LINE# 57 + C:662CH LINE# 58 + C:662FH LINE# 59 + C:662FH LINE# 60 + C:6631H LINE# 61 + C:6636H LINE# 62 + C:6636H LINE# 64 + C:6638H LINE# 65 + ------- ENDPROC INTERRUPTINT4 + ------- PROC INTERRUPTTIMER3 + C:1003H LINE# 74 + C:100BH LINE# 76 + C:100DH LINE# 78 + C:1010H LINE# 79 + C:1012H LINE# 80 + C:1015H LINE# 82 + C:1018H LINE# 84 + C:101AH LINE# 85 + ------- ENDPROC INTERRUPTTIMER3 + ------- ENDMOD INTERRUPT + + ------- MODULE KEYSCAN + C:0000H SYMBOL _ICE_DUMMY_ + D:0080H PUBLIC P0 + D:0090H PUBLIC P1 + D:00A0H PUBLIC P2 + D:00B0H PUBLIC P3 + D:00C0H PUBLIC P4 + D:0008H PUBLIC ucKeyValue + D:0080H PUBLIC P5 + D:0009H PUBLIC ucKeyValueBK + B:00B0H.0 PUBLIC P3_0 + B:00A0H.7 PUBLIC P2_7 + D:000AH PUBLIC uiKeyValidCnt + D:000CH PUBLIC ucKeyOldValue + B:002FH.5 PUBLIC bKeyFlg + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 70 + + + C:5BAEH PUBLIC KeyScan + D:000DH PUBLIC uiKeyInvalidCnt + ------- PROC KEYSCAN + ------- DO + C:5C43H SYMBOL scanend + ------- ENDDO + C:5BAEH LINE# 33 + C:5BAEH LINE# 34 + C:5BAEH LINE# 35 + C:5BB4H LINE# 36 + C:5BB4H LINE# 37 + C:5BB7H LINE# 46 + C:5BBAH LINE# 47 + C:5BBAH LINE# 48 + C:5BBDH LINE# 49 + C:5BBFH LINE# 50 + C:5BC2H LINE# 51 + C:5BC2H LINE# 52 + C:5BC5H LINE# 53 + C:5BC5H LINE# 69 + C:5BCBH LINE# 70 + C:5BCBH LINE# 71 + C:5BD3H LINE# 72 + C:5BDEH LINE# 73 + C:5BDEH LINE# 74 + C:5BE8H LINE# 75 + C:5BE8H LINE# 76 + C:5BF2H LINE# 77 + C:5BF2H LINE# 78 + C:5BF8H LINE# 79 + C:5BFAH LINE# 81 + C:5BFAH LINE# 82 + C:5BFDH LINE# 83 + C:5BFDH LINE# 84 + C:5BFFH LINE# 85 + C:5C01H LINE# 86 + C:5C01H LINE# 91 + C:5C01H LINE# 93 + C:5C01H LINE# 94 + C:5C03H LINE# 95 + C:5C03H LINE# 96 + C:5C03H LINE# 98 + C:5C03H LINE# 99 + C:5C09H LINE# 100 + C:5C09H LINE# 101 + C:5C0EH LINE# 102 + C:5C16H LINE# 103 + C:5C1EH LINE# 104 + C:5C1EH LINE# 105 + C:5C24H LINE# 106 + C:5C26H LINE# 107 + C:5C27H LINE# 108 + C:5C31H LINE# 109 + C:5C31H LINE# 110 + C:5C37H LINE# 111 + C:5C3DH LINE# 112 + C:5C3FH LINE# 113 + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 71 + + + C:5C3FH LINE# 114 + C:5C40H LINE# 116 + C:5C40H LINE# 117 + C:5C43H LINE# 118 + C:5C43H LINE# 119 + C:5C48H LINE# 120 + C:5C4CH LINE# 121 + C:5C4FH LINE# 122 + C:5C4FH LINE# 123 + C:5C4FH LINE# 124 + C:5C4FH LINE# 125 + ------- ENDPROC KEYSCAN + ------- ENDMOD KEYSCAN + + ------- MODULE MCUFLASH + C:0000H SYMBOL _ICE_DUMMY_ + D:00F3H PUBLIC IB_CON2 + D:0080H PUBLIC P0 + D:00F4H PUBLIC IB_CON3 + D:0090H PUBLIC P1 + D:00F5H PUBLIC IB_CON4 + D:00A0H PUBLIC P2 + D:00F6H PUBLIC IB_CON5 + D:00B0H PUBLIC P3 + D:00C0H PUBLIC P4 + X:05FAH PUBLIC bMcuFlashWrWaitCnt + D:0080H PUBLIC P5 + B:00A8H.7 PUBLIC EA + D:00FCH PUBLIC IB_DATA + C:7B6DH PUBLIC _McuFlashCheckFlg + C:6A9FH PUBLIC _McuFlashRead + C:798EH PUBLIC _McuFlashWrOneByte + B:002EH.1 PUBLIC bMcuFlashErr + C:5EC5H PUBLIC _McuFlashWrite + X:05FBH PUBLIC ucMcuFlashWrValid + D:00FBH PUBLIC IB_OFFSET + D:00B1H PUBLIC RSTSTAT + D:00A7H PUBLIC FLASHCON + C:6077H PUBLIC _McuFlashWrSector + C:7DD7H PUBLIC McuFlashWrWaitCheck + B:002EH.2 PUBLIC bMcuFlashWrFlg + C:7C07H PUBLIC _McuFlashBlankCheck + C:6C6DH PUBLIC _McuFlashDataCheck + D:00F7H PUBLIC XPAGE + B:002EH.3 PUBLIC bMcuFlashWrWaitFlg + C:526EH PUBLIC McuFlashProcess + D:00F2H PUBLIC IB_CON1 + ------- PROC _MCUFLASHWRONEBYTE + D:0002H SYMBOL McuFlashAddr + D:0005H SYMBOL WrData + C:798EH LINE# 24 + C:7992H LINE# 25 + C:7992H LINE# 26 + C:7994H LINE# 27 + C:7997H LINE# 29 + C:799AH LINE# 30 + C:799EH LINE# 31 + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 72 + + + C:79A2H LINE# 33 + C:79A5H LINE# 34 + C:79A8H LINE# 35 + C:79ABH LINE# 36 + C:79AEH LINE# 37 + C:79B5H LINE# 38 + C:79B5H LINE# 39 + C:79B8H LINE# 40 + C:79B9H LINE# 41 + C:79BAH LINE# 42 + C:79BBH LINE# 43 + C:79BCH LINE# 44 + C:79BDH LINE# 45 + C:79BDH LINE# 47 + C:79C0H LINE# 48 + C:79C2H LINE# 49 + ------- ENDPROC _MCUFLASHWRONEBYTE + ------- PROC _MCUFLASHBLANKCHECK + D:0006H SYMBOL McuFlashAddr + ------- DO + B:002AH.0 SYMBOL Result + D:0004H SYMBOL i + ------- ENDDO + C:7C07H LINE# 58 + C:7C07H LINE# 59 + C:7C07H LINE# 60 + C:7C09H LINE# 63 + C:7C0CH LINE# 64 + C:7C0CH LINE# 65 + C:7C19H LINE# 66 + C:7C19H LINE# 67 + C:7C1BH LINE# 68 + C:7C1DH LINE# 69 + C:7C1DH LINE# 70 + C:7C2AH LINE# 72 + C:7C2CH LINE# 73 + ------- ENDPROC _MCUFLASHBLANKCHECK + ------- PROC _MCUFLASHDATACHECK + X:02BDH SYMBOL McuFlashAddr + D:0004H SYMBOL XramAddr + ------- DO + B:002AH.0 SYMBOL Result + D:0006H SYMBOL ptr + X:02BFH SYMBOL i + ------- ENDDO + C:6C6DH LINE# 82 + C:6C75H LINE# 83 + C:6C75H LINE# 84 + C:6C77H LINE# 85 + C:6C7BH LINE# 88 + C:6C8EH LINE# 89 + C:6C8EH LINE# 90 + C:6CB4H LINE# 91 + C:6CB4H LINE# 92 + C:6CB6H LINE# 93 + C:6CB8H LINE# 94 + C:6CB8H LINE# 95 + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 73 + + + C:6CC4H LINE# 97 + C:6CC6H LINE# 98 + ------- ENDPROC _MCUFLASHDATACHECK + ------- PROC _MCUFLASHWRSECTOR + X:02BDH SYMBOL McuFlashAddr + D:0004H SYMBOL XramAddr + ------- DO + B:002AH.0 SYMBOL Result + D:0004H SYMBOL i + X:02BFH SYMBOL ptr + ------- ENDDO + C:6077H LINE# 107 + C:607FH LINE# 108 + C:607FH LINE# 109 + C:6081H LINE# 111 + C:6089H LINE# 113 + C:608CH LINE# 114 + C:608CH LINE# 115 + C:6097H LINE# 116 + C:609DH LINE# 117 + C:60ACH LINE# 118 + C:60AFH LINE# 119 + C:60B2H LINE# 120 + C:60B2H LINE# 121 + C:60B5H LINE# 122 + C:60B9H LINE# 123 + C:60B9H LINE# 124 + C:60BCH LINE# 125 + C:60C4H LINE# 126 + C:60C4H LINE# 127 + C:60C7H LINE# 128 + C:60D7H LINE# 129 + C:60D7H LINE# 130 + C:60DAH LINE# 131 + C:60DBH LINE# 132 + C:60DCH LINE# 133 + C:60DDH LINE# 134 + C:60DEH LINE# 135 + C:60DFH LINE# 136 + C:60E1H LINE# 137 + C:60E3H LINE# 139 + C:60E3H LINE# 140 + C:60E5H LINE# 141 + C:60E7H LINE# 142 + C:60E7H LINE# 143 + C:60E7H LINE# 145 + C:60E7H LINE# 146 + C:60E9H LINE# 147 + C:60EBH LINE# 148 + C:60EBH LINE# 149 + C:60EBH LINE# 151 + C:60EBH LINE# 152 + C:60EDH LINE# 153 + C:60EFH LINE# 154 + C:60EFH LINE# 155 + C:60EFH LINE# 157 + C:60EFH LINE# 158 + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 74 + + + C:60F1H LINE# 159 + C:60F3H LINE# 160 + C:60F3H LINE# 161 + C:6100H LINE# 163 + C:6102H LINE# 164 + ------- ENDPROC _MCUFLASHWRSECTOR + ------- PROC _MCUFLASHWRITE + X:02B9H SYMBOL McuFlashAddr + X:02BBH SYMBOL XramAddr + ------- DO + B:0029H.7 SYMBOL Result + ------- ENDDO + C:5EC5H LINE# 177 + C:5ED3H LINE# 178 + C:5ED3H LINE# 179 + C:5ED5H LINE# 181 + C:5ED8H LINE# 182 + C:5EDAH LINE# 183 + C:5EDDH LINE# 185 + C:5EE6H LINE# 186 + C:5EE9H LINE# 187 + C:5EECH LINE# 188 + C:5EECH LINE# 189 + C:5EEFH LINE# 190 + C:5EF3H LINE# 191 + C:5EF3H LINE# 192 + C:5EF6H LINE# 193 + C:5EFEH LINE# 194 + C:5EFEH LINE# 195 + C:5F01H LINE# 196 + C:5F0AH LINE# 197 + C:5F0AH LINE# 198 + C:5F0DH LINE# 199 + C:5F0EH LINE# 200 + C:5F0FH LINE# 201 + C:5F10H LINE# 202 + C:5F11H LINE# 203 + C:5F12H LINE# 205 + C:5F1FH LINE# 206 + C:5F1FH LINE# 207 + C:5F32H LINE# 208 + C:5F32H LINE# 209 + C:5F45H LINE# 210 + C:5F45H LINE# 211 + C:5F47H LINE# 212 + C:5F47H LINE# 213 + C:5F47H LINE# 214 + C:5F47H LINE# 215 + C:5F47H LINE# 216 + C:5F47H LINE# 217 + C:5F47H LINE# 218 + C:5F47H LINE# 220 + C:5F4AH LINE# 221 + C:5F4CH LINE# 222 + C:5F4EH LINE# 223 + C:5F50H LINE# 224 + C:5F52H LINE# 226 + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 75 + + + C:5F55H LINE# 227 + C:5F57H LINE# 228 + C:5F59H LINE# 230 + C:5F5BH LINE# 231 + ------- ENDPROC _MCUFLASHWRITE + ------- PROC MCUFLASHPROCESS + ------- DO + B:0029H.5 SYMBOL McuFlashBk1WrFailFlg + B:0029H.6 SYMBOL McuFlashBk2WrFailFlg + X:02B7H SYMBOL VoltageMin + ------- ENDDO + C:526EH LINE# 244 + C:526EH LINE# 245 + C:526EH LINE# 246 + C:5272H LINE# 249 + C:5278H LINE# 250 + C:5278H LINE# 251 + C:527AH LINE# 253 + C:5280H LINE# 254 + C:5287H LINE# 255 + C:5287H LINE# 256 + C:5291H LINE# 257 + C:5293H LINE# 259 + C:5293H LINE# 260 + C:529DH LINE# 261 + C:529DH LINE# 263 + C:52C0H LINE# 264 + C:52C0H LINE# 265 + C:52C9H LINE# 266 + C:52C9H LINE# 267 + C:52D3H LINE# 268 + C:52D3H LINE# 269 + C:52D5H LINE# 270 + C:52DDH LINE# 271 + C:52E5H LINE# 272 + C:52ECH LINE# 273 + C:52ECH LINE# 274 + C:52ECH LINE# 276 + C:52F7H LINE# 277 + C:52F7H LINE# 278 + C:5302H LINE# 279 + C:5302H LINE# 280 + C:5304H LINE# 281 + C:530CH LINE# 282 + C:5314H LINE# 283 + C:531BH LINE# 284 + C:531BH LINE# 285 + C:531BH LINE# 286 + C:531DH LINE# 288 + C:531DH LINE# 289 + C:531FH LINE# 290 + C:5321H LINE# 291 + C:5321H LINE# 292 + C:5326H LINE# 294 + C:532CH LINE# 295 + C:532CH LINE# 296 + C:532EH LINE# 297 + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 76 + + + C:532EH LINE# 298 + C:532EH LINE# 299 + ------- ENDPROC MCUFLASHPROCESS + ------- PROC _MCUFLASHREAD + X:02B7H SYMBOL SourceAddr + D:0004H SYMBOL TargetAddr + X:02B9H SYMBOL Length + ------- DO + D:0006H SYMBOL i + B:0029H.5 SYMBOL Result + D:0015H SYMBOL TargetAddr1 + ------- ENDDO + C:6A9FH LINE# 308 + C:6AADH LINE# 309 + C:6AADH LINE# 311 + C:6AAFH LINE# 312 + C:6AB7H LINE# 314 + C:6AB9H LINE# 315 + C:6ABCH LINE# 316 + C:6ABFH LINE# 317 + C:6ACFH LINE# 318 + C:6ACFH LINE# 319 + C:6AE7H LINE# 320 + C:6AEFH LINE# 321 + C:6AF6H LINE# 322 + C:6AF9H LINE# 323 + C:6AFBH LINE# 325 + C:6AFDH LINE# 326 + ------- ENDPROC _MCUFLASHREAD + ------- PROC MCUFLASHWRWAITCHECK + C:7DD7H LINE# 335 + C:7DD7H LINE# 336 + C:7DD7H LINE# 337 + C:7DDAH LINE# 338 + C:7DDAH LINE# 339 + C:7DE5H LINE# 340 + C:7DE5H LINE# 341 + C:7DE7H LINE# 342 + C:7DE9H LINE# 343 + C:7DEBH LINE# 344 + C:7DEBH LINE# 345 + C:7DEBH LINE# 346 + ------- ENDPROC MCUFLASHWRWAITCHECK + ------- PROC _MCUFLASHCHECKFLG + D:0006H SYMBOL McuFlashAddr + ------- DO + B:0029H.5 SYMBOL Result + ------- ENDDO + C:7B6DH LINE# 355 + C:7B6DH LINE# 356 + C:7B6DH LINE# 357 + C:7B6FH LINE# 359 + C:7B72H LINE# 360 + C:7B8CH LINE# 361 + C:7B8CH LINE# 362 + C:7B8EH LINE# 363 + C:7B8EH LINE# 364 + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 77 + + + C:7B91H LINE# 366 + C:7B93H LINE# 367 + ------- ENDPROC _MCUFLASHCHECKFLG + ------- ENDMOD MCUFLASH + + ------- MODULE MCULIB + C:0000H SYMBOL _ICE_DUMMY_ + D:0080H PUBLIC P0 + D:0090H PUBLIC P1 + D:00A0H PUBLIC P2 + D:00B0H PUBLIC P3 + D:00C0H PUBLIC P4 + C:73D1H PUBLIC _Delay1ms + D:009DH PUBLIC SBRTH + D:0080H PUBLIC P5 + B:00A8H.7 PUBLIC EA + D:00C7H PUBLIC PWM0CON + D:00B6H PUBLIC PWM1CON + D:00B7H PUBLIC PWM2CON + D:009CH PUBLIC SBRTL + C:7A8FH PUBLIC _McuTimer3Set + D:00A8H PUBLIC IEN0 + D:00A9H PUBLIC IEN1 + D:00E8H PUBLIC EXF0 + D:008EH PUBLIC SUSLO + C:7A2CH PUBLIC _MemoryCopy + C:7B43H PUBLIC _MemorySet + D:0087H PUBLIC PCON + D:00CFH PUBLIC PWM0DH + D:00A5H PUBLIC PWM1DH + D:00BFH PUBLIC PWM2DH + D:0098H PUBLIC SCON + D:0088H PUBLIC TCON + D:00CEH PUBLIC PWM0DL + D:00A4H PUBLIC PWM1DL + D:00BEH PUBLIC PWM2DL + D:00B2H PUBLIC CLKCON + D:00CDH PUBLIC PWM0PH + D:00AFH PUBLIC PWM1PH + D:00BDH PUBLIC PWM2PH + D:00CCH PUBLIC PWM0PL + D:00AEH PUBLIC PWM1PL + C:7F5FH PUBLIC McuIntoIdle + C:7C51H PUBLIC _McuClockSet + D:00BCH PUBLIC PWM2PL + D:0086H PUBLIC INSCON + D:008DH PUBLIC TH3 + D:008CH PUBLIC TL3 + C:7F6BH PUBLIC McuIntoPD + B:0088H.2 PUBLIC TR3 + C:6856H PUBLIC RamCheckProcess + D:0088H PUBLIC T3CON + C:7AECH PUBLIC SystemResetProcess + C:6210H PUBLIC _McuPWM0Set + C:6291H PUBLIC _McuPWM1Set + C:6312H PUBLIC _McuPWM2Set + ------- PROC _MCUTIMER3SET + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 78 + + + X:02B7H SYMBOL ClkSource + D:0004H SYMBOL XmS + ------- DO + D:0006H SYMBOL TempVal + ------- ENDDO + C:7A8FH LINE# 20 + C:7A94H LINE# 21 + C:7A94H LINE# 24 + C:7A97H LINE# 67 + C:7A9AH LINE# 68 + C:7AB5H LINE# 70 + C:7AB7H LINE# 71 + C:7AB9H LINE# 72 + C:7ABBH LINE# 74 + C:7ABEH LINE# 75 + ------- ENDPROC _MCUTIMER3SET + ------- PROC _MCUCLOCKSET + X:02B7H SYMBOL SysClock + ------- DO + D:0007H SYMBOL ea + ------- ENDDO + C:7C51H LINE# 84 + C:7C56H LINE# 85 + C:7C56H LINE# 88 + C:7C5BH LINE# 89 + C:7C5DH LINE# 91 + C:7C60H LINE# 93 + C:7C61H LINE# 94 + C:7C62H LINE# 95 + C:7C63H LINE# 96 + C:7C64H LINE# 97 + C:7C65H LINE# 98 + C:7C66H LINE# 99 + C:7C67H LINE# 100 + C:7C68H LINE# 102 + C:7C6BH LINE# 104 + C:7C6EH LINE# 106 + C:7C72H LINE# 107 + ------- ENDPROC _MCUCLOCKSET + ------- PROC _MCUPWM0SET + X:05E8H SYMBOL PwmFreq + X:05EAH SYMBOL DutyRatio + C:6210H LINE# 116 + C:621BH LINE# 117 + C:621BH LINE# 118 + C:621EH LINE# 119 + C:6238H LINE# 120 + C:6257H LINE# 121 + C:6275H LINE# 122 + C:6290H LINE# 123 + ------- ENDPROC _MCUPWM0SET + ------- PROC _MCUPWM1SET + X:05EBH SYMBOL PwmFreq + X:05EDH SYMBOL DutyRatio + C:6291H LINE# 125 + C:629CH LINE# 126 + C:629CH LINE# 127 + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 79 + + + C:629FH LINE# 128 + C:62B9H LINE# 129 + C:62D8H LINE# 130 + C:62F6H LINE# 131 + C:6311H LINE# 132 + ------- ENDPROC _MCUPWM1SET + ------- PROC _MCUPWM2SET + X:02BCH SYMBOL PwmFreq + X:02BEH SYMBOL DutyRatio + C:6312H LINE# 134 + C:631DH LINE# 135 + C:631DH LINE# 136 + C:6320H LINE# 137 + C:633AH LINE# 138 + C:6359H LINE# 139 + C:6377H LINE# 140 + C:6392H LINE# 141 + ------- ENDPROC _MCUPWM2SET + ------- PROC _DELAY1MS + D:0007H SYMBOL Xms + ------- DO + D:0006H SYMBOL i + D:0002H SYMBOL j + D:0004H SYMBOL Tcnt + ------- ENDDO + C:73D1H LINE# 154 + C:73D1H LINE# 155 + C:73D1H LINE# 159 + C:73D7H LINE# 160 + C:73D7H LINE# 161 + C:73DBH LINE# 162 + C:73DDH LINE# 163 + C:73E5H LINE# 164 + C:73E5H LINE# 165 + C:73E9H LINE# 166 + C:73EBH LINE# 167 + C:73F3H LINE# 168 + C:73F3H LINE# 169 + C:73F7H LINE# 170 + C:73F9H LINE# 172 + C:73F9H LINE# 173 + C:73FDH LINE# 174 + C:73FDH LINE# 177 + C:7404H LINE# 178 + C:7404H LINE# 179 + C:740EH LINE# 180 + C:740EH LINE# 181 + C:7415H LINE# 182 + C:7418H LINE# 183 + ------- ENDPROC _DELAY1MS + ------- PROC RAMCHECKPROCESS + C:6856H LINE# 220 + C:6856H LINE# 221 + C:6856H LINE# 222 + C:68B8H LINE# 234 + C:68B8H LINE# 235 + C:68BAH LINE# 236 + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 80 + + + C:68BAH LINE# 238 + C:68BAH LINE# 239 + C:68BBH LINE# 240 + C:68BBH LINE# 241 + ------- ENDPROC RAMCHECKPROCESS + ------- PROC _MEMORYSET + X:02C3H SYMBOL pt + D:0005H SYMBOL setval + D:0003H SYMBOL length + ------- DO + D:0007H SYMBOL i + ------- ENDDO + C:7B43H LINE# 252 + C:7B4BH LINE# 253 + C:7B4BH LINE# 255 + C:7B52H LINE# 256 + C:7B52H LINE# 257 + C:7B5FH LINE# 258 + C:7B69H LINE# 259 + C:7B6CH LINE# 260 + ------- ENDPROC _MEMORYSET + ------- PROC _MEMORYCOPY + X:02D9H SYMBOL source + D:0004H SYMBOL target + D:0003H SYMBOL length + ------- DO + D:0007H SYMBOL i + ------- ENDDO + C:7A2CH LINE# 271 + C:7A34H LINE# 272 + C:7A34H LINE# 274 + C:7A3BH LINE# 275 + C:7A3BH LINE# 276 + C:7A4CH LINE# 277 + C:7A51H LINE# 278 + C:7A5BH LINE# 279 + C:7A5EH LINE# 280 + ------- ENDPROC _MEMORYCOPY + ------- PROC MCUINTOIDLE + C:7F5FH LINE# 289 + C:7F5FH LINE# 290 + C:7F5FH LINE# 291 + C:7F62H LINE# 292 + C:7F65H LINE# 293 + C:7F66H LINE# 294 + C:7F67H LINE# 295 + C:7F68H LINE# 296 + C:7F69H LINE# 297 + C:7F6AH LINE# 298 + ------- ENDPROC MCUINTOIDLE + ------- PROC MCUINTOPD + C:7F6BH LINE# 300 + C:7F6BH LINE# 301 + C:7F6BH LINE# 302 + C:7F6EH LINE# 303 + C:7F71H LINE# 304 + C:7F72H LINE# 305 + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 81 + + + C:7F73H LINE# 306 + C:7F74H LINE# 307 + C:7F75H LINE# 308 + C:7F76H LINE# 309 + ------- ENDPROC MCUINTOPD + ------- PROC SYSTEMRESETPROCESS + C:7AECH LINE# 318 + C:7AECH LINE# 319 + C:7AECH LINE# 320 + C:7B03H LINE# 322 + C:7B03H LINE# 323 + C:7B05H LINE# 324 + C:7B08H LINE# 325 + C:7B0AH LINE# 326 + C:7B0CH LINE# 327 + C:7B0EH LINE# 329 + C:7B10H LINE# 330 + C:7B12H LINE# 331 + C:7B14H LINE# 333 + C:7B17H LINE# 334 + C:7B17H LINE# 335 + ------- ENDPROC SYSTEMRESETPROCESS + ------- ENDMOD MCULIB + + ------- MODULE MOSCTRL + C:0000H SYMBOL _ICE_DUMMY_ + D:0080H PUBLIC P0 + D:0090H PUBLIC P1 + D:00A0H PUBLIC P2 + D:00B0H PUBLIC P3 + D:00C0H PUBLIC P4 + D:0080H PUBLIC P5 + C:721CH PUBLIC MosStatusCheck + C:7ABFH PUBLIC MosCtrl + B:002EH.6 PUBLIC bCHGMOSBk + B:002EH.7 PUBLIC bDSGMOSBk + ------- PROC MOSSTATUSCHECK + C:721CH LINE# 20 + C:721CH LINE# 21 + C:721CH LINE# 22 + C:721EH LINE# 23 + C:7220H LINE# 25 + C:7226H LINE# 26 + C:7226H LINE# 27 + C:7228H LINE# 28 + C:7228H LINE# 30 + C:723AH LINE# 31 + C:723AH LINE# 32 + C:723CH LINE# 33 + C:723CH LINE# 35 + C:723FH LINE# 36 + C:723FH LINE# 37 + C:724BH LINE# 38 + C:724BH LINE# 39 + C:724DH LINE# 40 + C:724DH LINE# 41 + C:724DH LINE# 43 + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 82 + + + C:7250H LINE# 44 + C:7250H LINE# 45 + C:7253H LINE# 46 + C:7253H LINE# 47 + C:7255H LINE# 48 + C:7255H LINE# 49 + C:7255H LINE# 51 + C:725EH LINE# 52 + C:725EH LINE# 53 + C:7260H LINE# 54 + C:7260H LINE# 56 + C:7263H LINE# 57 + C:7263H LINE# 58 + C:7265H LINE# 59 + C:7265H LINE# 60 + ------- ENDPROC MOSSTATUSCHECK + ------- PROC MOSCTRL + C:7ABFH LINE# 70 + C:7ABFH LINE# 71 + C:7ABFH LINE# 72 + C:7AC2H LINE# 74 + C:7AD2H LINE# 75 + C:7AD2H LINE# 76 + C:7AD6H LINE# 77 + C:7ADAH LINE# 79 + C:7AEBH LINE# 80 + C:7AEBH LINE# 81 + ------- ENDPROC MOSCTRL + ------- ENDMOD MOSCTRL + + ------- MODULE PORSELFTEST + C:0000H SYMBOL _ICE_DUMMY_ + D:0080H PUBLIC P0 + C:6F18H PUBLIC PorProtectOTC + D:0090H PUBLIC P1 + C:6FB6H PUBLIC PorProtectOTD + D:00A0H PUBLIC P2 + D:00B0H PUBLIC P3 + D:00C0H PUBLIC P4 + D:0080H PUBLIC P5 + C:6F67H PUBLIC PorProtectUTC + C:7005H PUBLIC PorProtectUTD + C:7419H PUBLIC PorProtectOV + C:7461H PUBLIC PorProtectUV + X:053FH PUBLIC ucPorSelfTestDelayCnt + B:002FH.6 PUBLIC bPorSelfTestFlg + C:787BH PUBLIC PorSelfTest + ------- PROC PORPROTECTOV + C:7419H LINE# 20 + C:7419H LINE# 21 + C:7419H LINE# 22 + C:741CH LINE# 23 + C:741CH LINE# 24 + C:742BH LINE# 25 + C:742BH LINE# 26 + C:7440H LINE# 27 + C:7440H LINE# 28 + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 83 + + + C:7442H LINE# 29 + C:7449H LINE# 30 + C:7449H LINE# 31 + C:744AH LINE# 32 + C:7459H LINE# 33 + C:7459H LINE# 34 + C:7460H LINE# 35 + C:7460H LINE# 36 + C:7460H LINE# 37 + ------- ENDPROC PORPROTECTOV + ------- PROC PORPROTECTUV + C:7461H LINE# 46 + C:7461H LINE# 47 + C:7461H LINE# 48 + C:7464H LINE# 49 + C:7464H LINE# 50 + C:7473H LINE# 51 + C:7473H LINE# 52 + C:7488H LINE# 53 + C:7488H LINE# 54 + C:748AH LINE# 55 + C:7491H LINE# 56 + C:7491H LINE# 57 + C:7492H LINE# 58 + C:74A1H LINE# 59 + C:74A1H LINE# 60 + C:74A8H LINE# 61 + C:74A8H LINE# 62 + C:74A8H LINE# 63 + ------- ENDPROC PORPROTECTUV + ------- PROC PORPROTECTOTC + C:6F18H LINE# 72 + C:6F18H LINE# 73 + C:6F18H LINE# 74 + C:6F1BH LINE# 75 + C:6F1BH LINE# 76 + C:6F31H LINE# 77 + C:6F31H LINE# 78 + C:6F46H LINE# 79 + C:6F46H LINE# 80 + C:6F48H LINE# 81 + C:6F4FH LINE# 82 + C:6F4FH LINE# 83 + C:6F50H LINE# 84 + C:6F5FH LINE# 85 + C:6F5FH LINE# 86 + C:6F66H LINE# 87 + C:6F66H LINE# 88 + C:6F66H LINE# 89 + ------- ENDPROC PORPROTECTOTC + ------- PROC PORPROTECTUTC + C:6F67H LINE# 98 + C:6F67H LINE# 99 + C:6F67H LINE# 100 + C:6F6AH LINE# 101 + C:6F6AH LINE# 102 + C:6F80H LINE# 103 + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 84 + + + C:6F80H LINE# 104 + C:6F95H LINE# 105 + C:6F95H LINE# 106 + C:6F97H LINE# 107 + C:6F9EH LINE# 108 + C:6F9EH LINE# 109 + C:6F9FH LINE# 110 + C:6FAEH LINE# 111 + C:6FAEH LINE# 112 + C:6FB5H LINE# 113 + C:6FB5H LINE# 114 + C:6FB5H LINE# 115 + ------- ENDPROC PORPROTECTUTC + ------- PROC PORPROTECTOTD + C:6FB6H LINE# 124 + C:6FB6H LINE# 125 + C:6FB6H LINE# 126 + C:6FB9H LINE# 127 + C:6FB9H LINE# 128 + C:6FCFH LINE# 129 + C:6FCFH LINE# 130 + C:6FE4H LINE# 131 + C:6FE4H LINE# 132 + C:6FE6H LINE# 133 + C:6FEDH LINE# 134 + C:6FEDH LINE# 135 + C:6FEEH LINE# 136 + C:6FFDH LINE# 137 + C:6FFDH LINE# 138 + C:7004H LINE# 139 + C:7004H LINE# 140 + C:7004H LINE# 141 + ------- ENDPROC PORPROTECTOTD + ------- PROC PORPROTECTUTD + C:7005H LINE# 150 + C:7005H LINE# 151 + C:7005H LINE# 152 + C:7008H LINE# 153 + C:7008H LINE# 154 + C:701EH LINE# 155 + C:701EH LINE# 156 + C:7033H LINE# 157 + C:7033H LINE# 158 + C:7035H LINE# 159 + C:703CH LINE# 160 + C:703CH LINE# 161 + C:703DH LINE# 162 + C:704CH LINE# 163 + C:704CH LINE# 164 + C:7053H LINE# 165 + C:7053H LINE# 166 + C:7053H LINE# 167 + ------- ENDPROC PORPROTECTUTD + ------- PROC PORSELFTEST + C:787BH LINE# 176 + C:787BH LINE# 177 + C:787BH LINE# 178 + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 85 + + + C:787EH LINE# 179 + C:787EH LINE# 180 + C:7881H LINE# 181 + C:7884H LINE# 182 + C:7887H LINE# 183 + C:788AH LINE# 185 + C:788DH LINE# 186 + C:7890H LINE# 187 + C:7893H LINE# 188 + C:7896H LINE# 190 + C:78A1H LINE# 191 + C:78A1H LINE# 192 + C:78A3H LINE# 193 + C:78AFH LINE# 194 + C:78AFH LINE# 195 + C:78B1H LINE# 196 + C:78B2H LINE# 198 + C:78B2H LINE# 199 + C:78B5H LINE# 200 + C:78B5H LINE# 201 + C:78B5H LINE# 202 + C:78B5H LINE# 203 + ------- ENDPROC PORSELFTEST + ------- ENDMOD PORSELFTEST + + ------- MODULE PROTECT + C:0000H SYMBOL _ICE_DUMMY_ + D:0080H PUBLIC P0 + D:0090H PUBLIC P1 + X:03B8H PUBLIC uiOCD1DelayCnt + D:00A0H PUBLIC P2 + X:03BAH PUBLIC uiOCD2DelayCnt + D:00B0H PUBLIC P3 + D:00C0H PUBLIC P4 + D:0080H PUBLIC P5 + C:51AAH PUBLIC ProtectOV + C:53ECH PUBLIC ProtectUV + B:002FH.0 PUBLIC bOVLock + B:002FH.1 PUBLIC bUVLock + X:03BCH PUBLIC uiOVDelayCnt + X:03BEH PUBLIC uiUVDelayCnt + X:03C0H PUBLIC uiOTCRDelayCnt + X:03C2H PUBLIC uiOTDRDelayCnt + X:03C4H PUBLIC uiUTCRDelayCnt + X:03C6H PUBLIC uiUTDRDelayCnt + C:6CC7H PUBLIC ProtectOCC + C:7C93H PUBLIC ProtectProcess + C:54A8H PUBLIC ProtectOTC + C:5620H PUBLIC ProtectOTD + X:03C8H PUBLIC uiOCCRcnt + X:03CAH PUBLIC uiOCCDelayCnt + X:03CCH PUBLIC uiOCDRcnt + C:5564H PUBLIC ProtectUTC + C:56DCH PUBLIC ProtectUTD + C:6410H PUBLIC ProtectOCRecover + X:03CEH PUBLIC uiOTCDelayCnt + X:03D0H PUBLIC uiOTDDelayCnt + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 86 + + + X:03D2H PUBLIC uiUTCDelayCnt + X:03D4H PUBLIC uiUTDDelayCnt + C:6D20H PUBLIC ProtectOCD1 + C:6D79H PUBLIC ProtectOCD2 + X:03D6H PUBLIC uiOVRDelayCnt + X:03D8H PUBLIC uiUVRDelayCnt + ------- PROC PROTECTOV + C:51AAH LINE# 39 + C:51AAH LINE# 40 + C:51AAH LINE# 41 + C:51B0H LINE# 42 + C:51B0H LINE# 43 + C:51BFH LINE# 44 + C:51BFH LINE# 45 + C:51E0H LINE# 46 + C:51E0H LINE# 47 + C:51E2H LINE# 48 + C:51E4H LINE# 49 + C:51EBH LINE# 50 + C:51F1H LINE# 51 + C:51F1H LINE# 52 + C:51F2H LINE# 53 + C:5201H LINE# 54 + C:5201H LINE# 55 + C:5208H LINE# 56 + C:5208H LINE# 57 + C:5209H LINE# 58 + C:520CH LINE# 59 + C:520CH LINE# 60 + C:521BH LINE# 61 + C:521BH LINE# 62 + C:5239H LINE# 63 + C:5239H LINE# 64 + C:523CH LINE# 65 + C:523CH LINE# 66 + C:523EH LINE# 67 + C:5240H LINE# 68 + C:5242H LINE# 70 + C:5242H LINE# 71 + C:5244H LINE# 72 + C:5246H LINE# 73 + C:5249H LINE# 74 + C:5249H LINE# 75 + C:5250H LINE# 76 + C:5256H LINE# 77 + C:5256H LINE# 78 + C:5257H LINE# 79 + C:5266H LINE# 80 + C:5266H LINE# 81 + C:526DH LINE# 82 + C:526DH LINE# 83 + C:526DH LINE# 84 + ------- ENDPROC PROTECTOV + ------- PROC PROTECTUV + C:53ECH LINE# 92 + C:53ECH LINE# 93 + C:53ECH LINE# 94 + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 87 + + + C:53EFH LINE# 95 + C:53EFH LINE# 96 + C:53FEH LINE# 97 + C:53FEH LINE# 98 + C:541FH LINE# 99 + C:541FH LINE# 100 + C:5421H LINE# 101 + C:5423H LINE# 102 + C:542AH LINE# 103 + C:5430H LINE# 104 + C:5430H LINE# 105 + C:5431H LINE# 106 + C:5440H LINE# 107 + C:5440H LINE# 108 + C:5447H LINE# 109 + C:5447H LINE# 110 + C:5448H LINE# 111 + C:544BH LINE# 112 + C:544BH LINE# 113 + C:545AH LINE# 114 + C:545AH LINE# 115 + C:5478H LINE# 116 + C:5478H LINE# 117 + C:547BH LINE# 118 + C:547BH LINE# 119 + C:547DH LINE# 120 + C:547FH LINE# 121 + C:5481H LINE# 123 + C:5481H LINE# 124 + C:5483H LINE# 125 + C:5483H LINE# 126 + C:548AH LINE# 127 + C:5490H LINE# 128 + C:5490H LINE# 129 + C:5491H LINE# 130 + C:54A0H LINE# 131 + C:54A0H LINE# 132 + C:54A7H LINE# 133 + C:54A7H LINE# 134 + C:54A7H LINE# 135 + ------- ENDPROC PROTECTUV + ------- PROC PROTECTOTC + C:54A8H LINE# 143 + C:54A8H LINE# 144 + C:54A8H LINE# 145 + C:54ABH LINE# 146 + C:54ABH LINE# 147 + C:54C1H LINE# 148 + C:54C1H LINE# 149 + C:54E2H LINE# 150 + C:54E2H LINE# 151 + C:54E4H LINE# 152 + C:54EBH LINE# 153 + C:54F1H LINE# 154 + C:54F1H LINE# 155 + C:54F2H LINE# 156 + C:5501H LINE# 157 + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 88 + + + C:5501H LINE# 158 + C:5508H LINE# 159 + C:5508H LINE# 160 + C:5509H LINE# 162 + C:5509H LINE# 163 + C:551FH LINE# 164 + C:551FH LINE# 165 + C:553DH LINE# 166 + C:553DH LINE# 167 + C:553FH LINE# 168 + C:5546H LINE# 169 + C:554CH LINE# 170 + C:554CH LINE# 171 + C:554DH LINE# 172 + C:555CH LINE# 173 + C:555CH LINE# 174 + C:5563H LINE# 175 + C:5563H LINE# 176 + C:5563H LINE# 177 + ------- ENDPROC PROTECTOTC + ------- PROC PROTECTUTC + C:5564H LINE# 186 + C:5564H LINE# 187 + C:5564H LINE# 188 + C:5567H LINE# 189 + C:5567H LINE# 190 + C:557DH LINE# 191 + C:557DH LINE# 192 + C:559EH LINE# 193 + C:559EH LINE# 194 + C:55A0H LINE# 195 + C:55A7H LINE# 196 + C:55ADH LINE# 197 + C:55ADH LINE# 198 + C:55AEH LINE# 199 + C:55BDH LINE# 200 + C:55BDH LINE# 201 + C:55C4H LINE# 202 + C:55C4H LINE# 203 + C:55C5H LINE# 205 + C:55C5H LINE# 206 + C:55DBH LINE# 207 + C:55DBH LINE# 208 + C:55F9H LINE# 209 + C:55F9H LINE# 210 + C:55FBH LINE# 211 + C:5602H LINE# 212 + C:5608H LINE# 213 + C:5608H LINE# 214 + C:5609H LINE# 215 + C:5618H LINE# 216 + C:5618H LINE# 217 + C:561FH LINE# 218 + C:561FH LINE# 219 + C:561FH LINE# 220 + ------- ENDPROC PROTECTUTC + ------- PROC PROTECTOTD + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 89 + + + C:5620H LINE# 229 + C:5620H LINE# 230 + C:5620H LINE# 231 + C:5623H LINE# 232 + C:5623H LINE# 233 + C:5639H LINE# 234 + C:5639H LINE# 235 + C:565AH LINE# 236 + C:565AH LINE# 237 + C:565CH LINE# 238 + C:5663H LINE# 239 + C:5669H LINE# 240 + C:5669H LINE# 241 + C:566AH LINE# 242 + C:5679H LINE# 243 + C:5679H LINE# 244 + C:5680H LINE# 245 + C:5680H LINE# 246 + C:5681H LINE# 248 + C:5681H LINE# 249 + C:5697H LINE# 250 + C:5697H LINE# 251 + C:56B5H LINE# 252 + C:56B5H LINE# 253 + C:56B7H LINE# 254 + C:56BEH LINE# 255 + C:56C4H LINE# 256 + C:56C4H LINE# 257 + C:56C5H LINE# 258 + C:56D4H LINE# 259 + C:56D4H LINE# 260 + C:56DBH LINE# 261 + C:56DBH LINE# 262 + C:56DBH LINE# 263 + ------- ENDPROC PROTECTOTD + ------- PROC PROTECTUTD + C:56DCH LINE# 272 + C:56DCH LINE# 273 + C:56DCH LINE# 274 + C:56DFH LINE# 275 + C:56DFH LINE# 276 + C:56F5H LINE# 277 + C:56F5H LINE# 278 + C:5716H LINE# 279 + C:5716H LINE# 280 + C:5718H LINE# 281 + C:571FH LINE# 282 + C:5725H LINE# 283 + C:5725H LINE# 284 + C:5726H LINE# 285 + C:5735H LINE# 286 + C:5735H LINE# 287 + C:573CH LINE# 288 + C:573CH LINE# 289 + C:573DH LINE# 291 + C:573DH LINE# 292 + C:5753H LINE# 293 + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 90 + + + C:5753H LINE# 294 + C:5771H LINE# 295 + C:5771H LINE# 296 + C:5773H LINE# 297 + C:577AH LINE# 298 + C:5780H LINE# 299 + C:5780H LINE# 300 + C:5781H LINE# 301 + C:5790H LINE# 302 + C:5790H LINE# 303 + C:5797H LINE# 304 + C:5797H LINE# 305 + C:5797H LINE# 306 + ------- ENDPROC PROTECTUTD + ------- PROC PROTECTOCC + C:6CC7H LINE# 316 + C:6CC7H LINE# 317 + C:6CC7H LINE# 318 + C:6CCAH LINE# 319 + C:6CCAH LINE# 320 + C:6CDCH LINE# 321 + C:6CDCH LINE# 322 + C:6CFAH LINE# 323 + C:6CFAH LINE# 324 + C:6CFCH LINE# 325 + C:6CFEH LINE# 326 + C:6D05H LINE# 327 + C:6D05H LINE# 328 + C:6D06H LINE# 329 + C:6D09H LINE# 330 + C:6D09H LINE# 331 + C:6D18H LINE# 332 + C:6D18H LINE# 333 + C:6D1FH LINE# 334 + C:6D1FH LINE# 335 + C:6D1FH LINE# 336 + C:6D1FH LINE# 337 + ------- ENDPROC PROTECTOCC + ------- PROC PROTECTOCD1 + C:6D20H LINE# 346 + C:6D20H LINE# 347 + C:6D20H LINE# 348 + C:6D23H LINE# 349 + C:6D23H LINE# 350 + C:6D35H LINE# 351 + C:6D35H LINE# 352 + C:6D53H LINE# 353 + C:6D53H LINE# 354 + C:6D5AH LINE# 355 + C:6D5CH LINE# 356 + C:6D5EH LINE# 357 + C:6D5EH LINE# 358 + C:6D5FH LINE# 359 + C:6D62H LINE# 360 + C:6D62H LINE# 361 + C:6D71H LINE# 362 + C:6D71H LINE# 363 + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 91 + + + C:6D78H LINE# 364 + C:6D78H LINE# 365 + C:6D78H LINE# 366 + C:6D78H LINE# 367 + ------- ENDPROC PROTECTOCD1 + ------- PROC PROTECTOCD2 + C:6D79H LINE# 376 + C:6D79H LINE# 377 + C:6D79H LINE# 378 + C:6D7CH LINE# 379 + C:6D7CH LINE# 380 + C:6D8EH LINE# 381 + C:6D8EH LINE# 382 + C:6DACH LINE# 383 + C:6DACH LINE# 384 + C:6DB3H LINE# 385 + C:6DB5H LINE# 386 + C:6DB7H LINE# 387 + C:6DB7H LINE# 388 + C:6DB8H LINE# 389 + C:6DBBH LINE# 390 + C:6DBBH LINE# 391 + C:6DCAH LINE# 392 + C:6DCAH LINE# 393 + C:6DD1H LINE# 394 + C:6DD1H LINE# 395 + C:6DD1H LINE# 396 + C:6DD1H LINE# 397 + ------- ENDPROC PROTECTOCD2 + ------- PROC PROTECTPROCESS + C:7C93H LINE# 406 + C:7C93H LINE# 407 + C:7C93H LINE# 408 + C:7C96H LINE# 409 + C:7C96H LINE# 410 + C:7C99H LINE# 411 + C:7C9CH LINE# 413 + C:7C9FH LINE# 414 + C:7CA2H LINE# 415 + C:7CA5H LINE# 416 + C:7CA8H LINE# 418 + C:7CABH LINE# 419 + C:7CAEH LINE# 420 + C:7CB1H LINE# 421 + C:7CB1H LINE# 422 + ------- ENDPROC PROTECTPROCESS + ------- PROC PROTECTOCRECOVER + C:6410H LINE# 431 + C:6410H LINE# 432 + C:6410H LINE# 433 + C:6413H LINE# 434 + C:6413H LINE# 435 + C:641CH LINE# 436 + C:641CH LINE# 437 + C:643AH LINE# 438 + C:643AH LINE# 439 + C:643FH LINE# 440 + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 92 + + + C:6445H LINE# 441 + C:6447H LINE# 442 + C:6449H LINE# 443 + C:644BH LINE# 444 + C:644DH LINE# 445 + C:6450H LINE# 446 + C:6450H LINE# 447 + C:6452H LINE# 448 + C:6455H LINE# 449 + C:6455H LINE# 450 + C:6455H LINE# 451 + C:6455H LINE# 453 + C:6458H LINE# 454 + C:6458H LINE# 455 + C:6476H LINE# 456 + C:6476H LINE# 457 + C:647DH LINE# 458 + C:647FH LINE# 459 + C:6483H LINE# 460 + C:6485H LINE# 461 + C:6485H LINE# 462 + C:6485H LINE# 463 + C:6485H LINE# 464 + ------- ENDPROC PROTECTOCRECOVER + ------- ENDMOD PROTECT + + ------- MODULE RTC + C:0000H SYMBOL _ICE_DUMMY_ + D:0080H PUBLIC P0 + D:0090H PUBLIC P1 + C:7D0CH PUBLIC RTCTwiCheck + D:00A0H PUBLIC P2 + D:00B0H PUBLIC P3 + D:00C0H PUBLIC P4 + D:0080H PUBLIC P5 + C:5FEAH PUBLIC _RTCInitTime + B:002FH.2 PUBLIC bRTCTwiRWErr + C:6C12H PUBLIC _RTCRead + C:5D92H PUBLIC _RTCModifyTime + X:0496H PUBLIC ucRTCTwiRWErrDelayCnt + X:0497H PUBLIC RTC + B:002FH.3 PUBLIC bRTCErr + C:6BB7H PUBLIC _RTCWrite + C:3BC1H PUBLIC _RTCReadTime + ------- PROC RTCTWICHECK + C:7D0CH LINE# 23 + C:7D0CH LINE# 24 + C:7D0CH LINE# 25 + C:7D0FH LINE# 26 + C:7D0FH LINE# 27 + C:7D12H LINE# 28 + C:7D12H LINE# 29 + C:7D1DH LINE# 30 + C:7D1DH LINE# 31 + C:7D1FH LINE# 32 + C:7D22H LINE# 33 + C:7D22H LINE# 34 + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 93 + + + C:7D23H LINE# 36 + C:7D23H LINE# 37 + C:7D28H LINE# 38 + C:7D28H LINE# 39 + C:7D28H LINE# 40 + ------- ENDPROC RTCTWICHECK + ------- PROC _RTCWRITE + X:02EEH SYMBOL WrAddr + X:02EFH SYMBOL Length + X:02F0H SYMBOL WrBuf + ------- DO + B:002AH.0 SYMBOL Result + X:02F2H SYMBOL i + ------- ENDDO + C:6BB7H LINE# 49 + C:6BC5H LINE# 50 + C:6BC5H LINE# 51 + C:6BC7H LINE# 54 + C:6BCAH LINE# 55 + C:6BCAH LINE# 56 + C:6BCDH LINE# 57 + C:6BCDH LINE# 59 + C:6BF5H LINE# 60 + C:6BF5H LINE# 61 + C:6BF7H LINE# 62 + C:6BF9H LINE# 63 + C:6BF9H LINE# 71 + C:6BFEH LINE# 72 + C:6C0AH LINE# 73 + C:6C0AH LINE# 74 + C:6C0FH LINE# 76 + C:6C11H LINE# 77 + ------- ENDPROC _RTCWRITE + ------- PROC _RTCREAD + X:02E4H SYMBOL RdAddr + X:02E5H SYMBOL Length + X:02E6H SYMBOL RdBuf + ------- DO + B:0029H.7 SYMBOL Result + X:02E8H SYMBOL i + ------- ENDDO + C:6C12H LINE# 86 + C:6C20H LINE# 87 + C:6C20H LINE# 88 + C:6C22H LINE# 91 + C:6C25H LINE# 92 + C:6C25H LINE# 93 + C:6C28H LINE# 94 + C:6C28H LINE# 96 + C:6C50H LINE# 97 + C:6C50H LINE# 98 + C:6C52H LINE# 99 + C:6C54H LINE# 100 + C:6C54H LINE# 108 + C:6C59H LINE# 109 + C:6C65H LINE# 110 + C:6C65H LINE# 111 + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 94 + + + C:6C6AH LINE# 113 + C:6C6CH LINE# 114 + ------- ENDPROC _RTCREAD + ------- PROC _RTCREADTIME + X:02D9H SYMBOL RtcRdVal + ------- DO + X:02DBH SYMBOL rtcbuf + B:0029H.6 SYMBOL Result + ------- ENDDO + C:3BC1H LINE# 122 + C:3BC9H LINE# 123 + C:3BC9H LINE# 125 + C:3BCBH LINE# 127 + C:3BDBH LINE# 128 + C:3BDBH LINE# 129 + C:3BE5H LINE# 130 + C:3BE5H LINE# 131 + C:3C92H LINE# 139 + C:3C92H LINE# 140 + C:3CA3H LINE# 141 + C:3CADH LINE# 142 + C:3CBEH LINE# 143 + C:3CCAH LINE# 144 + C:3CDDH LINE# 145 + C:3CEBH LINE# 146 + C:3CFEH LINE# 148 + C:3D07H LINE# 149 + C:3D09H LINE# 151 + C:3D09H LINE# 152 + C:3D1CH LINE# 153 + C:3D26H LINE# 154 + C:3D33H LINE# 155 + C:3D3FH LINE# 156 + C:3D4FH LINE# 157 + C:3D5FH LINE# 158 + C:3D6FH LINE# 160 + C:3D71H LINE# 161 + C:3D71H LINE# 162 + C:3D73H LINE# 164 + C:3D73H LINE# 165 + C:3D80H LINE# 166 + C:3D80H LINE# 167 + C:3D80H LINE# 169 + C:3D82H LINE# 170 + ------- ENDPROC _RTCREADTIME + ------- PROC _RTCMODIFYTIME + X:02E4H SYMBOL RtcMdyVal + ------- DO + B:0029H.7 SYMBOL Result + X:02E6H SYMBOL rtcdata + X:02E7H SYMBOL rtctemp + ------- ENDDO + C:5D92H LINE# 179 + C:5D9AH LINE# 180 + C:5D9AH LINE# 181 + C:5D9CH LINE# 185 + C:5DA0H LINE# 186 + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 95 + + + C:5DADH LINE# 188 + C:5DBEH LINE# 189 + C:5DC8H LINE# 190 + C:5DDDH LINE# 191 + C:5DE9H LINE# 192 + C:5DFDH LINE# 193 + C:5E0BH LINE# 194 + C:5E1EH LINE# 196 + C:5E2BH LINE# 198 + C:5E2DH LINE# 199 + ------- ENDPROC _RTCMODIFYTIME + ------- PROC _RTCINITTIME + X:02B7H SYMBOL RtcInitVal + ------- DO + B:0029H.5 SYMBOL Result + X:02B9H SYMBOL rtcbuf + D:0007H SYMBOL i + X:02C2H SYMBOL checksum + ------- ENDDO + C:5FEAH LINE# 208 + C:5FF2H LINE# 209 + C:5FF2H LINE# 210 + C:5FF4H LINE# 213 + C:5FF9H LINE# 215 + C:6003H LINE# 217 + C:6010H LINE# 218 + C:6012H LINE# 219 + C:6012H LINE# 220 + C:6024H LINE# 221 + C:6029H LINE# 223 + C:603BH LINE# 224 + C:603BH LINE# 225 + C:6040H LINE# 226 + C:6042H LINE# 227 + C:6046H LINE# 228 + C:604AH LINE# 229 + C:604EH LINE# 230 + C:6052H LINE# 231 + C:6056H LINE# 232 + C:6056H LINE# 234 + C:6067H LINE# 235 + C:6074H LINE# 237 + C:6076H LINE# 238 + ------- ENDPROC _RTCINITTIME + ------- ENDMOD RTC + + ------- MODULE TWI + C:0000H SYMBOL _ICE_DUMMY_ + D:0080H PUBLIC P0 + D:0090H PUBLIC P1 + D:00A0H PUBLIC P2 + D:00B0H PUBLIC P3 + D:00C0H PUBLIC P4 + D:0080H PUBLIC P5 + D:008AH PUBLIC TWIBR + D:00C6H PUBLIC TWICR + D:0089H PUBLIC TWTFREE + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 96 + + + C:3D83H PUBLIC _TwiRead + D:00B1H PUBLIC RSTSTAT + C:7D46H PUBLIC _CRC8cal + D:00E6H PUBLIC TWITOUT + C:47FEH PUBLIC _TwiWrite + C:7DABH PUBLIC TwiInit + D:008DH PUBLIC TWIDAT + D:00C8H PUBLIC TWICON + D:00D1H PUBLIC TWISTA + C:7B94H PUBLIC _TWICheckStatus + C:4E22H PUBLIC CRC8Table + ------- PROC _CRC8CAL + D:0001H SYMBOL p + D:0005H SYMBOL counter + ------- DO + D:0007H SYMBOL crc8 + ------- ENDDO + C:7D46H LINE# 38 + C:7D46H LINE# 39 + C:7D46H LINE# 40 + C:7D48H LINE# 42 + C:7D4EH LINE# 43 + C:7D4EH LINE# 44 + C:7D57H LINE# 45 + C:7D5EH LINE# 46 + C:7D61H LINE# 47 + C:7D61H LINE# 48 + ------- ENDPROC _CRC8CAL + ------- PROC _TWICHECKSTATUS + D:0007H SYMBOL Status + ------- DO + B:002AH.2 SYMBOL Result + D:0004H SYMBOL timeoutcount + ------- ENDDO + C:7B94H LINE# 59 + C:7B94H LINE# 60 + C:7B94H LINE# 61 + C:7B96H LINE# 62 + C:7B9AH LINE# 64 + C:7B9FH LINE# 65 + C:7B9FH LINE# 66 + C:7BA2H LINE# 67 + C:7BA6H LINE# 68 + C:7BA6H LINE# 69 + C:7BABH LINE# 70 + C:7BADH LINE# 72 + C:7BADH LINE# 73 + C:7BADH LINE# 74 + C:7BADH LINE# 75 + C:7BAFH LINE# 76 + C:7BB6H LINE# 77 + C:7BB6H LINE# 78 + C:7BB8H LINE# 79 + C:7BB8H LINE# 81 + C:7BBAH LINE# 82 + ------- ENDPROC _TWICHECKSTATUS + ------- PROC _TWIWRITE + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 97 + + + X:02F3H SYMBOL SlaveID + X:02F4H SYMBOL WrAddr + X:02F6H SYMBOL AddrType + X:02F7H SYMBOL Length + X:02F8H SYMBOL CrcFlg + X:02F9H SYMBOL WrBuf + ------- DO + D:0006H SYMBOL i + X:02FBH SYMBOL TempBuf + B:002AH.1 SYMBOL Result + X:02FFH SYMBOL timeoutcount + C:491FH SYMBOL WrErr + ------- ENDDO + C:47FEH LINE# 98 + C:480EH LINE# 99 + C:480EH LINE# 102 + C:4810H LINE# 103 + C:481AH LINE# 105 + C:481FH LINE# 106 + C:4822H LINE# 107 + C:4832H LINE# 108 + C:4842H LINE# 110 + C:484EH LINE# 111 + C:484EH LINE# 112 + C:4857H LINE# 113 + C:485AH LINE# 114 + C:4868H LINE# 115 + C:4868H LINE# 116 + C:486AH LINE# 117 + C:486DH LINE# 118 + C:486DH LINE# 120 + C:4873H LINE# 121 + C:4876H LINE# 122 + C:487DH LINE# 123 + C:487DH LINE# 124 + C:487FH LINE# 125 + C:4882H LINE# 126 + C:4882H LINE# 128 + C:4889H LINE# 129 + C:4889H LINE# 130 + C:488FH LINE# 131 + C:4892H LINE# 132 + C:4899H LINE# 133 + C:4899H LINE# 134 + C:489BH LINE# 135 + C:489EH LINE# 136 + C:489EH LINE# 137 + C:489EH LINE# 139 + C:48A6H LINE# 140 + C:48A9H LINE# 141 + C:48B0H LINE# 142 + C:48B0H LINE# 143 + C:48B2H LINE# 144 + C:48B4H LINE# 145 + C:48B4H LINE# 147 + C:48BCH LINE# 148 + C:48BCH LINE# 149 + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 98 + + + C:48C8H LINE# 150 + C:48CBH LINE# 151 + C:48D2H LINE# 152 + C:48D2H LINE# 153 + C:48D4H LINE# 154 + C:48D6H LINE# 155 + C:48D6H LINE# 157 + C:48DCH LINE# 158 + C:48DFH LINE# 159 + C:48E6H LINE# 160 + C:48E6H LINE# 161 + C:48E8H LINE# 162 + C:48EAH LINE# 163 + C:48EAH LINE# 164 + C:48EAH LINE# 166 + C:48EAH LINE# 167 + C:48F6H LINE# 168 + C:48F6H LINE# 169 + C:4904H LINE# 170 + C:4907H LINE# 171 + C:490EH LINE# 172 + C:490EH LINE# 173 + C:4910H LINE# 174 + C:4912H LINE# 175 + C:4912H LINE# 176 + C:491CH LINE# 177 + C:491FH LINE# 178 + C:491FH LINE# 179 + C:491FH LINE# 180 + C:4922H LINE# 181 + C:4927H LINE# 182 + C:4927H LINE# 183 + C:492AH LINE# 184 + C:4934H LINE# 185 + C:4934H LINE# 186 + C:493EH LINE# 187 + C:4940H LINE# 189 + C:4940H LINE# 190 + C:4940H LINE# 191 + C:4940H LINE# 192 + C:4942H LINE# 193 + C:4942H LINE# 195 + C:4944H LINE# 196 + ------- ENDPROC _TWIWRITE + ------- PROC _TWIREAD + D:0002H SYMBOL SlaveID + X:02EAH SYMBOL RdAddr + D:0003H SYMBOL AddrType + X:02EDH SYMBOL Length + X:02EEH SYMBOL CrcFlg + X:02EFH SYMBOL RdBuf + ------- DO + B:002AH.0 SYMBOL Result + X:02F1H SYMBOL i + X:02F2H SYMBOL TempBuf + X:0320H SYMBOL RdCrc + X:0321H SYMBOL timeoutcount + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 99 + + + C:3F16H SYMBOL RdErr + ------- ENDDO + C:3D83H LINE# 210 + C:3D8DH LINE# 211 + C:3D8DH LINE# 212 + C:3D8FH LINE# 215 + C:3D94H LINE# 216 + C:3D9CH LINE# 218 + C:3DA1H LINE# 219 + C:3DA4H LINE# 221 + C:3DA9H LINE# 223 + C:3DB5H LINE# 224 + C:3DB5H LINE# 225 + C:3DBEH LINE# 226 + C:3DC1H LINE# 227 + C:3DCFH LINE# 228 + C:3DCFH LINE# 229 + C:3DD1H LINE# 230 + C:3DD4H LINE# 231 + C:3DD4H LINE# 233 + C:3DD6H LINE# 234 + C:3DD9H LINE# 235 + C:3DE0H LINE# 236 + C:3DE0H LINE# 237 + C:3DE2H LINE# 238 + C:3DE5H LINE# 239 + C:3DE5H LINE# 241 + C:3DE9H LINE# 242 + C:3DE9H LINE# 243 + C:3DEFH LINE# 244 + C:3DF2H LINE# 245 + C:3DF9H LINE# 246 + C:3DF9H LINE# 247 + C:3DFBH LINE# 248 + C:3DFEH LINE# 249 + C:3DFEH LINE# 250 + C:3DFEH LINE# 252 + C:3E06H LINE# 253 + C:3E09H LINE# 254 + C:3E10H LINE# 255 + C:3E10H LINE# 256 + C:3E12H LINE# 257 + C:3E15H LINE# 258 + C:3E15H LINE# 271 + C:3E18H LINE# 272 + C:3E26H LINE# 273 + C:3E26H LINE# 274 + C:3E28H LINE# 275 + C:3E2BH LINE# 276 + C:3E2BH LINE# 278 + C:3E30H LINE# 279 + C:3E33H LINE# 280 + C:3E3AH LINE# 281 + C:3E3AH LINE# 282 + C:3E3CH LINE# 283 + C:3E3FH LINE# 284 + C:3E3FH LINE# 286 + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 100 + + + C:3E52H LINE# 287 + C:3E52H LINE# 288 + C:3E58H LINE# 289 + C:3E58H LINE# 290 + C:3E5DH LINE# 291 + C:3E5DH LINE# 292 + C:3E60H LINE# 293 + C:3E65H LINE# 294 + C:3E67H LINE# 296 + C:3E67H LINE# 297 + C:3E6AH LINE# 298 + C:3E6FH LINE# 299 + C:3E6FH LINE# 300 + C:3E7DH LINE# 301 + C:3E87H LINE# 302 + C:3E89H LINE# 304 + C:3E89H LINE# 305 + C:3E8CH LINE# 306 + C:3E91H LINE# 307 + C:3EA1H LINE# 308 + C:3EA1H LINE# 309 + C:3EA9H LINE# 311 + C:3EB1H LINE# 312 + C:3EB1H LINE# 313 + C:3EB4H LINE# 314 + C:3EB9H LINE# 315 + C:3EBFH LINE# 316 + C:3ED6H LINE# 317 + C:3ED6H LINE# 318 + C:3EE9H LINE# 319 + C:3EE9H LINE# 320 + C:3F02H LINE# 321 + C:3F0CH LINE# 322 + C:3F14H LINE# 323 + C:3F14H LINE# 325 + C:3F14H LINE# 326 + C:3F16H LINE# 327 + C:3F16H LINE# 328 + C:3F16H LINE# 329 + C:3F16H LINE# 330 + C:3F16H LINE# 331 + C:3F19H LINE# 332 + C:3F1EH LINE# 333 + C:3F1EH LINE# 334 + C:3F21H LINE# 335 + C:3F2BH LINE# 336 + C:3F2BH LINE# 337 + C:3F35H LINE# 338 + C:3F37H LINE# 340 + C:3F37H LINE# 341 + C:3F37H LINE# 342 + C:3F37H LINE# 343 + C:3F39H LINE# 344 + C:3F39H LINE# 346 + C:3F3BH LINE# 347 + ------- ENDPROC _TWIREAD + ------- PROC TWIINIT + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 101 + + + C:7DABH LINE# 367 + C:7DABH LINE# 368 + C:7DABH LINE# 369 + C:7DAEH LINE# 370 + C:7DB1H LINE# 371 + C:7DB3H LINE# 372 + C:7DB6H LINE# 373 + C:7DB9H LINE# 397 + C:7DBCH LINE# 398 + C:7DBFH LINE# 399 + C:7DC1H LINE# 400 + ------- ENDPROC TWIINIT + ------- ENDMOD TWI + + ------- MODULE UART + C:0000H SYMBOL _ICE_DUMMY_ + D:0080H PUBLIC P0 + D:0090H PUBLIC P1 + D:00A0H PUBLIC P2 + D:00B0H PUBLIC P3 + D:00C4H PUBLIC UART0CR + D:00C0H PUBLIC P4 + C:6980H PUBLIC UART0Init + D:009DH PUBLIC SBRTH + D:0080H PUBLIC P5 + D:009CH PUBLIC SBRTL + B:0098H.0 PUBLIC RI + B:0098H.1 PUBLIC TI + D:0099H PUBLIC SBUF + D:0087H PUBLIC PCON + D:0098H PUBLIC SCON + C:7CB2H PUBLIC InterruptUART0 + D:0086H PUBLIC INSCON + D:009BH PUBLIC SADEN + D:009AH PUBLIC SADDR + D:009EH PUBLIC SFINE + ------- PROC UART0INIT + ------- DO + X:02B7H SYMBOL TempVal + ------- ENDDO + C:6980H LINE# 19 + C:6980H LINE# 20 + C:6980H LINE# 22 + C:6983H LINE# 84 + C:6983H LINE# 86 + C:6986H LINE# 87 + C:6989H LINE# 92 + C:6993H LINE# 93 + C:6999H LINE# 94 + C:699CH LINE# 95 + C:69D7H LINE# 97 + C:69DAH LINE# 98 + C:69DDH LINE# 99 + C:69E0H LINE# 100 + C:69E0H LINE# 101 + ------- ENDPROC UART0INIT + ------- PROC INTERRUPTUART0 + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 102 + + + ------- DO + X:02B6H SYMBOL RxData + ------- ENDDO + C:7CB2H LINE# 110 + C:7CB8H LINE# 114 + C:7CBAH LINE# 115 + C:7CBDH LINE# 117 + C:7CC0H LINE# 118 + C:7CC0H LINE# 119 + C:7CC2H LINE# 120 + C:7CC8H LINE# 122 + C:7CC8H LINE# 124 + C:7CC8H LINE# 125 + C:7CC8H LINE# 129 + C:7CC8H LINE# 131 + C:7CCAH LINE# 132 + ------- ENDPROC INTERRUPTUART0 + ------- ENDMOD UART + + ------- MODULE THERMISTOR + C:0000H SYMBOL _ICE_DUMMY_ + D:0080H PUBLIC P0 + D:0090H PUBLIC P1 + D:00A0H PUBLIC P2 + D:00B0H PUBLIC P3 + D:00C0H PUBLIC P4 + D:0080H PUBLIC P5 + C:4A89H PUBLIC NTC103AT + ------- ENDMOD THERMISTOR + + ------- MODULE TWIIO + C:0000H SYMBOL _ICE_DUMMY_ + D:0080H PUBLIC P0 + D:0090H PUBLIC P1 + D:00A0H PUBLIC P2 + D:00B0H PUBLIC P3 + D:00C0H PUBLIC P4 + D:0080H PUBLIC P5 + ------- ENDMOD TWIIO + + ------- MODULE ?C_STARTUP + C:7C73H SEGMENT ?C_C51STARTUP + C:1000H PUBLIC ?C_STARTUP + N:00B2H SYMBOL CLKCON + D:0083H SYMBOL DPH + D:0082H SYMBOL DPL + C:7C79H SYMBOL FOR_EACH_IDATA + C:7C83H SYMBOL FOR_EACH_XDATA + D:0081H SYMBOL SP + C:7C73H SYMBOL STARTUP1 + C:1000H LINE# 12 + C:7C73H LINE# 18 + C:7C76H LINE# 19 + C:7C77H LINE# 22 + C:7C79H LINE# 24 + C:7C7BH LINE# 25 + C:7C7CH LINE# 26 + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 103 + + + C:7C7FH LINE# 28 + C:7C80H LINE# 29 + C:7C83H LINE# 31 + C:7C84H LINE# 32 + C:7C85H LINE# 33 + C:7C87H LINE# 34 + C:7C89H LINE# 35 + C:7C8CH LINE# 36 + C:7C8FH LINE# 37 + C:7C90H LINE# 38 + ------- ENDMOD ?C_STARTUP + + ------- MODULE GASGAUGEINTER_V4_13 + C:0000H SYMBOL _ICE_DUMMY_ + D:0080H PUBLIC P0 + D:0090H PUBLIC P1 + X:0323H PUBLIC E2uiDsgCorrectVol + D:00A0H PUBLIC P2 + D:00B0H PUBLIC P3 + D:00C0H PUBLIC P4 + D:0080H PUBLIC P5 + B:00A8H.7 PUBLIC EA + X:0325H PUBLIC Info_uiRSOC + X:0327H PUBLIC E2ulIdleSocTimes + X:032BH PUBLIC Info_uiRsocCnt + X:032DH PUBLIC E2ulChgerEndVol + X:0331H PUBLIC E2ucChgCurRatio + X:0332H PUBLIC Info_uiSocDecTime + X:0334H PUBLIC Info_ulTempDsgFcc + X:0338H PUBLIC E2ui_CYCLECOUNTA_B + X:033AH PUBLIC E2ui_CYCLECOUNTB_B + X:033CH PUBLIC E2uiTempFCC_K1 + X:033EH PUBLIC E2uiTempFCC_K2 + X:0340H PUBLIC E2uiChgEndTemp + X:0342H PUBLIC E2ucFccUpdatePercent + X:0343H PUBLIC Info_ulFCC + X:0347H PUBLIC E2ui_CYCLECOUNTA_K + X:0349H PUBLIC E2ui_CYCLECOUNTB_K + X:034BH PUBLIC E2ucChgCorrectSOC + X:034CH PUBLIC E2ucInitSocDif + X:034DH PUBLIC Info_ulVoltage + X:0351H PUBLIC E2uiDsgEndTemp + X:0353H PUBLIC E2ulLoadEndVol + X:0357H PUBLIC E2ucDsgCorrectSOC + X:0358H PUBLIC Info_ulDfilterRC + X:035CH PUBLIC E2uiUpdateCycleCount + X:035EH PUBLIC E2ucDsgVolDet + D:001AH PUBLIC uiCellVminG + X:035FH PUBLIC slAdcCur2 + D:001CH PUBLIC uiCellVmaxG + X:0363H PUBLIC E2ucChgerEndDelay + X:0364H PUBLIC Info_uiCycleCount + X:0366H PUBLIC E2slDsgAdjMaxCurr + X:036AH PUBLIC E2ucDsgAdjLowFlg + X:036BH PUBLIC E2ucInitUpSoc + X:036CH PUBLIC E2uiDsgAdjLowTemp + X:036EH PUBLIC E2ucChgChangeSocRatio + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 104 + + + X:036FH PUBLIC E2ucDsgAdjLowSoc + X:0370H PUBLIC E2uiTempFCC_B + X:0372H PUBLIC siCurCompens + X:0374H PUBLIC Info_uiTemp + X:0376H PUBLIC Info_ulRC + X:037AH PUBLIC E2ucChgChangeSocDif + C:39FCH PUBLIC GasGaugeVarIn + X:037BH PUBLIC Info_slCurr + C:6E78H PUBLIC GasGaugeVarOut + X:037FH PUBLIC E2uiChgCorrectVol + X:0381H PUBLIC E2ui_CYCLECOUNTA + X:0383H PUBLIC E2ui_CYCLECOUNTB + X:0385H PUBLIC E2ui_CYCLECOUNTC + X:0387H PUBLIC E2ucChgAdjRatio + X:0388H PUBLIC E2ucChg100Ratio + X:0389H PUBLIC E2ucFullDsgDelay + ------- PROC GASGAUGEVARIN + ------- DO + B:0029H.5 SYMBOL eabak + ------- ENDDO + C:39FCH LINE# 114 + C:39FCH LINE# 115 + C:39FCH LINE# 118 + C:3A00H LINE# 119 + C:3A02H LINE# 120 + C:3A11H LINE# 121 + C:3A1DH LINE# 122 + C:3A29H LINE# 123 + C:3A38H LINE# 124 + C:3A44H LINE# 125 + C:3A53H LINE# 126 + C:3A64H LINE# 127 + C:3A6AH LINE# 128 + C:3A70H LINE# 130 + C:3A7AH LINE# 131 + C:3A81H LINE# 133 + C:3A85H LINE# 135 + C:3A8BH LINE# 136 + C:3A91H LINE# 137 + C:3A99H LINE# 138 + C:3AA3H LINE# 139 + C:3AA8H LINE# 140 + C:3AADH LINE# 141 + C:3AB3H LINE# 142 + C:3ABDH LINE# 143 + C:3AC4H LINE# 144 + C:3ACEH LINE# 145 + C:3AD4H LINE# 146 + C:3AE8H LINE# 147 + C:3AEEH LINE# 148 + C:3AF4H LINE# 150 + C:3B03H LINE# 151 + C:3B09H LINE# 152 + C:3B21H LINE# 153 + C:3B35H LINE# 154 + C:3B3BH LINE# 155 + C:3B41H LINE# 157 + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 105 + + + C:3B47H LINE# 158 + C:3B4DH LINE# 159 + C:3B53H LINE# 161 + C:3B5DH LINE# 163 + C:3B63H LINE# 164 + C:3B6DH LINE# 165 + C:3B77H LINE# 167 + C:3B80H LINE# 168 + C:3B89H LINE# 169 + C:3B92H LINE# 170 + C:3B9BH LINE# 171 + C:3BA4H LINE# 172 + C:3BADH LINE# 173 + C:3BB7H LINE# 174 + C:3BC0H LINE# 203 + ------- ENDPROC GASGAUGEVARIN + ------- PROC GASGAUGEVAROUT + ------- DO + B:0029H.5 SYMBOL eabak + ------- ENDDO + C:6E78H LINE# 211 + C:6E78H LINE# 212 + C:6E78H LINE# 215 + C:6E7CH LINE# 216 + C:6E7EH LINE# 217 + C:6E8DH LINE# 218 + C:6E99H LINE# 219 + C:6EA5H LINE# 220 + C:6EB4H LINE# 221 + C:6EB8H LINE# 222 + C:6EBCH LINE# 223 + C:6EC4H LINE# 224 + C:6EC8H LINE# 252 + ------- ENDPROC GASGAUGEVAROUT + ------- ENDMOD GASGAUGEINTER_V4_13 + + ------- MODULE BOOTAPP + C:0000H SYMBOL _ICE_DUMMY_ + D:0080H PUBLIC P0 + D:0090H PUBLIC P1 + D:00A0H PUBLIC P2 + D:00B0H PUBLIC P3 + D:00C0H PUBLIC P4 + D:0080H PUBLIC P5 + B:00A8H.7 PUBLIC EA + C:7D29H PUBLIC ISPProcess + ------- PROC ISPPROCESS + C:7D29H LINE# 17 + C:7D29H LINE# 18 + C:7D29H LINE# 19 + C:7D35H LINE# 20 + C:7D35H LINE# 21 + C:7D37H LINE# 22 + C:7D39H LINE# 23 + C:7D3BH LINE# 24 + C:7D3DH LINE# 25 + C:7D3FH LINE# 26 + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 106 + + + C:7D42H LINE# 27 + C:7D45H LINE# 28 + C:7D45H LINE# 29 + ------- ENDPROC ISPPROCESS + ------- ENDMOD BOOTAPP + + ------- MODULE BOOTIAP + C:0000H SYMBOL _ICE_DUMMY_ + D:0080H PUBLIC P0 + D:0090H PUBLIC P1 + D:00A0H PUBLIC P2 + D:00B0H PUBLIC P3 + D:00C0H PUBLIC P4 + D:0080H PUBLIC P5 + C:0000H PUBLIC g_loadercode + ------- ENDMOD BOOTIAP + + ------- MODULE ?C?FPADD + C:1C81H PUBLIC ?C?FPADD + C:1C7DH PUBLIC ?C?FPSUB + ------- ENDMOD ?C?FPADD + + ------- MODULE ?C?FPMUL + C:1D72H PUBLIC ?C?FPMUL + ------- ENDMOD ?C?FPMUL + + ------- MODULE ?C?FPDIV + C:1E7BH PUBLIC ?C?FPDIV + ------- ENDMOD ?C?FPDIV + + ------- MODULE ?C?FCAST + C:1F22H PUBLIC ?C?FCASTC + C:1F1DH PUBLIC ?C?FCASTI + C:1F18H PUBLIC ?C?FCASTL + ------- ENDMOD ?C?FCAST + + ------- MODULE ?C?CASTF + C:1F56H PUBLIC ?C?CASTF + ------- ENDMOD ?C?CASTF + + ------- MODULE PRINTF + X:02B7H PUBLIC ?_PRINTF?BYTE + X:02B7H PUBLIC ?_SPRINTF?BYTE + C:2C8EH PUBLIC _PRINTF + C:2C88H PUBLIC _SPRINTF + ------- ENDMOD PRINTF + + ------- MODULE ?C?FPROUND + C:1FD7H PUBLIC ?C?FPROUND + ------- ENDMOD ?C?FPROUND + + ------- MODULE ?C?FPCONVERT + C:2014H PUBLIC ?C?FPCONVERT + ------- ENDMOD ?C?FPCONVERT + + ------- MODULE ?C?FTNPWR + C:2149H PUBLIC ?C?FTNPWR + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 107 + + + ------- ENDMOD ?C?FTNPWR + + ------- MODULE ?C?CLDPTR + C:2189H PUBLIC ?C?CLDPTR + ------- ENDMOD ?C?CLDPTR + + ------- MODULE ?C?CLDOPTR + C:21A2H PUBLIC ?C?CLDOPTR + ------- ENDMOD ?C?CLDOPTR + + ------- MODULE ?C?CSTPTR + C:21CFH PUBLIC ?C?CSTPTR + ------- ENDMOD ?C?CSTPTR + + ------- MODULE ?C?IMUL + C:21E1H PUBLIC ?C?IMUL + ------- ENDMOD ?C?IMUL + + ------- MODULE ?C?UIDIV + C:21F3H PUBLIC ?C?UIDIV + ------- ENDMOD ?C?UIDIV + + ------- MODULE ?C?IILDX + C:2248H PUBLIC ?C?IILDX + ------- ENDMOD ?C?IILDX + + ------- MODULE ?C?LADD + C:225EH PUBLIC ?C?LADD + ------- ENDMOD ?C?LADD + + ------- MODULE ?C?LSUB + C:226BH PUBLIC ?C?LSUB + ------- ENDMOD ?C?LSUB + + ------- MODULE ?C?LMUL + C:2279H PUBLIC ?C?LMUL + ------- ENDMOD ?C?LMUL + + ------- MODULE ?C?ULDIV + C:2304H PUBLIC ?C?ULDIV + ------- ENDMOD ?C?ULDIV + + ------- MODULE ?C?SLDIV + C:7602H PUBLIC ?C?SLDIV + ------- ENDMOD ?C?SLDIV + + ------- MODULE ?C?LOR + C:2396H PUBLIC ?C?LOR + ------- ENDMOD ?C?LOR + + ------- MODULE ?C?LNEG + C:23A3H PUBLIC ?C?LNEG + ------- ENDMOD ?C?LNEG + + ------- MODULE ?C?SLCMP + C:23B1H PUBLIC ?C?SLCMP + ------- ENDMOD ?C?SLCMP + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 108 + + + + ------- MODULE ?C?ULCMP + C:23C7H PUBLIC ?C?ULCMP + ------- ENDMOD ?C?ULCMP + + ------- MODULE ?C?ULSHR + C:23D8H PUBLIC ?C?ULSHR + ------- ENDMOD ?C?ULSHR + + ------- MODULE ?C?SLSHR + C:23EBH PUBLIC ?C?SLSHR + ------- ENDMOD ?C?SLSHR + + ------- MODULE ?C?LSHL + C:23FFH PUBLIC ?C?LSHL + ------- ENDMOD ?C?LSHL + + ------- MODULE ?C?LLDIDATA + C:2412H PUBLIC ?C?LLDIDATA + ------- ENDMOD ?C?LLDIDATA + + ------- MODULE ?C?LLDXDATA + C:241EH PUBLIC ?C?LLDXDATA + ------- ENDMOD ?C?LLDXDATA + + ------- MODULE ?C?LLDIDATA0 + C:242AH PUBLIC ?C?LLDIDATA0 + ------- ENDMOD ?C?LLDIDATA0 + + ------- MODULE ?C?LLDXDATA0 + C:2437H PUBLIC ?C?LLDXDATA0 + ------- ENDMOD ?C?LLDXDATA0 + + ------- MODULE ?C?LILDXDATA + C:244CH PUBLIC ?C?LILDXDATA + C:2443H PUBLIC ?C?LILDXDATA1 + C:2445H PUBLIC ?C?LILDXDATA8 + ------- ENDMOD ?C?LILDXDATA + + ------- MODULE ?C?LSTIDATA + C:2478H PUBLIC ?C?LSTIDATA + ------- ENDMOD ?C?LSTIDATA + + ------- MODULE ?C?LSTXDATA + C:2484H PUBLIC ?C?LSTXDATA + ------- ENDMOD ?C?LSTXDATA + + ------- MODULE ?C?LSTKIDATA + C:2490H PUBLIC ?C?LSTKIDATA + ------- ENDMOD ?C?LSTKIDATA + + ------- MODULE ?C?LSTKXDATA + C:24A9H PUBLIC ?C?LSTKXDATA + ------- ENDMOD ?C?LSTKXDATA + + ------- MODULE ?C?OFFXADD + C:24DAH PUBLIC ?C?OFFXADD + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 109 + + + ------- ENDMOD ?C?OFFXADD + + ------- MODULE ?C?PLDIXDATA + C:24E6H PUBLIC ?C?PLDIXDATA + ------- ENDMOD ?C?PLDIXDATA + + ------- MODULE ?C?PSTXDATA + C:24FDH PUBLIC ?C?PSTXDATA + ------- ENDMOD ?C?PSTXDATA + + ------- MODULE ?C?CCASE + C:2506H PUBLIC ?C?CCASE + ------- ENDMOD ?C?CCASE + + ------- MODULE ?C?LIMUL + C:252CH PUBLIC ?C?LIMUL + ------- ENDMOD ?C?LIMUL + + + +FUNCTION REGISTER MASKS + + +FUNCTION . . . . . . . . . REG MASK +----------------------------------- + +AFEADCDIS. . . . . . . . . @0xf7ff +AFEADCEN . . . . . . . . . @0xf7ff +AFECADCDIS . . . . . . . . @0xf7ff +AFECADCEN. . . . . . . . . @0xf7ff +AFECHGERCHECKDIS . . . . . @0xf7ff +AFECHGERCHECKEN. . . . . . @0xf7ff +AFECLRFLG. . . . . . . . . @0xf7ff +AFEENTERPD . . . . . . . . @0xf7ff +AFEGETTEMPE. . . . . . . . @0xf7ff +AFEGETVOL. . . . . . . . . @0xf7ff +AFEINIT. . . . . . . . . . @0xf7ff +AFELOADCHECKDIS. . . . . . @0xf7ff +AFELOADCHECKEN . . . . . . @0xf7ff +AFERAMCHECK. . . . . . . . @0xf7ff +AFERDFLG . . . . . . . . . @0xf7ff +AFERDSTATUS. . . . . . . . @0xf7ff +AFETEMPADCDIS. . . . . . . @0xf7ff +AFETEMPADCEN . . . . . . . @0xf7ff +AFETWICHECK. . . . . . . . @0xf300 +AFEWDTDIS. . . . . . . . . @0xf7ff +AFEWDTEN . . . . . . . . . @0xf7ff +BALPROCESS . . . . . . . . @0xf7ff +CALICURZERO. . . . . . . . @0xe301 +CALIRTCTIME. . . . . . . . @0xf7ff +CHGERCHECK . . . . . . . . @0xf7ff +CTOCHECKVOL. . . . . . . . @0xf300 +CTOTURNONCHECK . . . . . . @0xf300 +E2PROMBKBOOT . . . . . . . @0xf7ff +E2PROMINIT . . . . . . . . @0xf7ff +E2PROMTWICHECK . . . . . . @0xf300 +GASGAUGEVARIN. . . . . . . @0xffbf + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 110 + + +GASGAUGEVAROUT . . . . . . @0xff8f +INITGPIO . . . . . . . . . @0xc000 +INITIRQ. . . . . . . . . . @0xe000 +INITVAR. . . . . . . . . . @0xf797 +INTERRUPTINT4. . . . . . . @0xf301 +INTERRUPTTIMER3. . . . . . @0xf300 +INTERRUPTTIMER3APP . . . . @0xf300 +INTERRUPTUART0 . . . . . . @0xe300 +INTERRUPTUART0APPTX. . . . @0xf38f +KEYSCAN. . . . . . . . . . @0xf000 +LEDAUTOOFF . . . . . . . . @0xf300 +LEDDISPLAY . . . . . . . . @0xf303 +LOADCHECK. . . . . . . . . @0xf7ff +LOWPOWERCHECK. . . . . . . @0xf301 +LOWPOWERPROCESS. . . . . . @0xf7ff +MCUFLASHPROCESS. . . . . . @0xf7bf +MCUFLASHWRWAITCHECK. . . . @0xf300 +MCUINTOIDLE. . . . . . . . @0xc000 +MCUINTOPD. . . . . . . . . @0xc000 +MOSCTRL. . . . . . . . . . @0xf7ff +MOSSTATUSCHECK . . . . . . @0xc000 +PORPROTECTOTC. . . . . . . @0xf78f +PORPROTECTOTD. . . . . . . @0xf78f +PORPROTECTOV . . . . . . . @0xf782 +PORPROTECTUTC. . . . . . . @0xf78f +PORPROTECTUTD. . . . . . . @0xf78f +PORPROTECTUV . . . . . . . @0xf782 +PROTECTOCRECOVER . . . . . @0xf7ff +PROTECTOTC . . . . . . . . @0xf7af +PROTECTOTD . . . . . . . . @0xf7af +PROTECTOV. . . . . . . . . @0xf7ff +PROTECTUTC . . . . . . . . @0xf7af +PROTECTUTD . . . . . . . . @0xf7af +PROTECTUV. . . . . . . . . @0xf78b +RAMCHECKPROCESS. . . . . . @0xf300 +RTCTWICHECK. . . . . . . . @0xf300 +SYSPARAINIT. . . . . . . . @0xffbf +SYSTEMINTOPD . . . . . . . @0xf7ff +SYSTEMINTOSLEEP. . . . . . @0xf7ff +TWIINIT. . . . . . . . . . @0xe000 +UART0CALICUROFFSET . . . . @0xf375 +UART0CALIRTC . . . . . . . @0xf377 +UART0CALITS1 . . . . . . . @0xf377 +UART0CALITS2 . . . . . . . @0xf377 +UART0CALIVOLTAGE . . . . . @0xf377 +UART0CHECK . . . . . . . . @0xf300 +UART0HANDSHAKE . . . . . . @0xe300 +UART0IAPCHECKHANDSHAKE . . @0xf7bf +UART0RDCMDPROCESS. . . . . @0xf3ff +UART0RDE2PROM. . . . . . . @0xf7ff +UART0READSUBCLASSID. . . . @0xf375 +UART0WRITEMANUFACTURE. . . @0xf375 +UART1RDE2PROM. . . . . . . @0xf7ff +UART2RDE2PROM. . . . . . . @0xf7ff +WAKEUPPROCESS. . . . . . . @0xf7ff +_AFEALARMDIS . . . . . . . @0xf7ff +_AFEALARMEN. . . . . . . . @0xf7ff + BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 111 + + +_AFEBALCTL . . . . . . . . @0xf7ff +_AFEMOSCTL . . . . . . . . @0xf7ff +_AFEREADREG. . . . . . . . @0xf7ff +_AFEWRITEREG . . . . . . . @0xf7ff +_CRC8CAL . . . . . . . . . @0xf365 +_DELAY1MS. . . . . . . . . @0xf03e +_E2PROMREAD. . . . . . . . @0xf7ff +_E2PROMWRITE . . . . . . . @0xf7ff +_GETCYCLEGAIN. . . . . . . @0xf7cf +_INTERRUPTINT4APP. . . . . @0xf301 +_LEDGETDISNUM. . . . . . . @0xf001 +_MCUCLOCKSET . . . . . . . @0xf301 +_MCUFLASHBLANKCHECK. . . . @0xf31c +_MCUFLASHCHECKFLG. . . . . @0xf303 +_MCUFLASHDATACHECK . . . . @0xf7af +_MCUFLASHREAD. . . . . . . @0xf307 +_MCUFLASHWRITE . . . . . . @0xf7bf +_MCUFLASHWRONEBYTE . . . . @0xf035 +_MCUFLASHWRSECTOR. . . . . @0xf33f +_MEMORYCOPY. . . . . . . . @0xf78d +_MEMORYSET . . . . . . . . @0xf781 +_PUTCHAR . . . . . . . . . @0xc000 +_RTCMODIFYTIME . . . . . . @0xf7ff +_RTCREAD . . . . . . . . . @0xf7ff +_RTCWRITE. . . . . . . . . @0xf7ff +_TWICHECKSTATUS. . . . . . @0xf00c +_TWIREAD . . . . . . . . . @0xf7ff +_TWIWRITE. . . . . . . . . @0xf7ff +_UART0READINFO . . . . . . @0xf37f +_UART0WRITEINFO. . . . . . @0xf7ff + +*** WARNING L15: MULTIPLE CALL TO SEGMENT + SEGMENT: ?PR?_MCUCLOCKSET?MCULIB + CALLER1: ?PR?INTERRUPTINT4?INTERRUPT + CALLER2: ?C_C51STARTUP + +Program Size: data=154.7 xdata=1534 code=32641 +LINK/LOCATE RUN COMPLETE. 1 WARNING(S), 0 ERROR(S) diff --git a/output/MCUCore_Load.plg b/output/MCUCore_Load.plg new file mode 100644 index 0000000..3a4c682 --- /dev/null +++ b/output/MCUCore_Load.plg @@ -0,0 +1,9 @@ + + +
    +

    Vision Build Log

    +

    Project:

    +E:\Y\keil\ZDBMS\SH39F003&F004_DemoCode_V2.15\MCUCore.uvproj +Project File Date: 01/23/2025 + +

    Output:

    diff --git a/output/Main.lst b/output/Main.lst new file mode 100644 index 0000000..7ccd90e --- /dev/null +++ b/output/Main.lst @@ -0,0 +1,167 @@ +C51 COMPILER V9.01 MAIN 02/06/2025 15:28:44 PAGE 1 + + +C51 COMPILER V9.01, COMPILATION OF MODULE MAIN +OBJECT MODULE PLACED IN .\output\Main.obj +COMPILER INVOKED BY: D:\Tool\Keil\C51\BIN\C51.EXE code_app\Main.c LARGE OPTIMIZE(7,SIZE) REGFILE(.\output\MCUCore_Load.O + -RC) BROWSE INTVECTOR(0X1000) INCDIR(.\header_app;.\header_drv;.\code_gasguage;.\code_classb\iec60730_lib\include;.\code_ + -classb\iec60730_proc\Include;.\code_classb\config) DEBUG OBJECTEXTEND PRINT(.\output\Main.lst) OBJECT(.\output\Main.obj) + +line level source + + 1 /******************************************************************************** + 2 Copyright (C), Sinowealth Electronic. Ltd. + 3 Author: Sino + 4 Version: V0.0 + 5 Date: 2020/04/26 + 6 History: + 7 V2.0 2020/04/26 Preliminary + 8 ********************************************************************************/ + 9 #include "Main.h" + 10 #include "stdio.h" + 11 + 12 // ַ + 13 char putchar(char c) + 14 { + 15 1 REN = 0; // + 16 1 IO_485_DE = 1; // 485 + 17 1 SBUF = c; // + 18 1 while(!TI); + 19 1 IO_485_DE = 0; // ر485 + 20 1 TI = 0; + 21 1 return c; + 22 1 } + 23 + 24 /************************************************************************************************* + 25 * : main + 26 * : + 27 * ֵ: + 28 * : ʼ󣬳While(1)ѭ + 29 1.ͨʱģִ + 30 2.ͨжԴӦģִ + 31 *************************************************************************************************/ + 32 void main(void) + 33 { + 34 1 Initial(); //ʼϵͳ + 35 1 + 36 1 printf("SystemClock: 8MHz"); + 37 1 + 38 1 while(1) + 39 1 { + 40 2 //KeyProcess(); // + 41 2 + 42 2 if(bTimer50msFlg) //50mSAFEصݲɼ㡢 + 43 2 { + 44 3 McuWDTClear(); //ʱ幷 + 45 3 + 46 3 bTimer50msFlg = 0; + 47 3 AFEInfoProcess(); //ȡAFEϢѹ¶ȡ + 48 3 + 49 3 BalanceProcess(); //ƽ⼰ߴ + 50 3 + 51 3 ProtectProcess(); //ѹ¶ȱ + 52 3 + 53 3 PorSelfTest(); //һϵ籣⣨ʱ϶̣ݶ50mSһμ⣩ + C51 COMPILER V9.01 MAIN 02/06/2025 15:28:44 PAGE 2 + + 54 3 + 55 3 LoadCheck(); //⸺Ƿͷ + 56 3 + 57 3 ChgerCheck(); //Ƿͷ + 58 3 + 59 3 MosCtrl(); //MOS״̬⼰ + 60 3 + 61 3 ProtectOCRecover(); //Իָ + 62 3 + 63 3 //LedDisplay(); //LEDʾ + 64 3 + 65 3 #if (UART0_DEFINE != 0) + 66 3 Uart0Check(); //UART0Ƿλָ + 67 3 #endif + 68 3 + 69 3 #if (UART1_DEFINE != 0) + Uart1Check(); //UART1Ƿλָ + #endif + 72 3 + 73 3 #if (UART2_DEFINE != 0) + Uart2Check(); //UART2Ƿλָ + #endif + 76 3 } + 77 2 + 78 2 if(bTimer1sFlg) //1sʱ + 79 2 { + 80 3 IO_LED = ~IO_LED; //LED + 81 3 + 82 3 printf("\r\n"); + 83 3 printf("BAT0:%.2f mV\r\n", AFE.uiCell[0]*1.0*CALIVOL/E2uiVPackGain); + 84 3 printf("BAT1:%.2f mV\r\n", AFE.uiCell[1]*1.0*CALIVOL/E2uiVPackGain); + 85 3 printf("BAT2:%.2f mV\r\n", AFE.uiCell[2]*1.0*CALIVOL/E2uiVPackGain); + 86 3 printf("BAT3:%.2f mV\r\n", AFE.uiCell[3]*1.0*CALIVOL/E2uiVPackGain); + 87 3 printf("BAT4:%.2f mV\r\n", AFE.uiCell[4]*1.0*CALIVOL/E2uiVPackGain); + 88 3 printf("TOTAL:%.2f mV\r\n",(AFE.uiCell[1]+AFE.uiCell[2]+AFE.uiCell[3]+AFE.uiCell[4])*1.0*CALIVOL/E2uiVP + -ackGain); + 89 3 printf("\r\n"); + 90 3 printf("TEMP0:%.2f C\r\n", AFE.uiICTempe[0]*17.0/100.0-270); + 91 3 // printf("TEMP1:%.2f C\r\n", (CalcuTemp(AFE.uiTS[0]) + E2siTS0Offset)*1.0); + 92 3 printf("TEMP1.0:%.2f C\r\n", AFE.uiTS[0]*1.0); + 93 3 printf("TEMP1.1:%.2f C\r\n", AFE.uiTS[1]*1.0); + 94 3 + 95 3 bTimer1sFlg = 0; + 96 3 GasGaugeManage(); //Calculate the battery charge and discharge capacity + 97 3 + 98 3 AFERamCheck(); //AFEĴǷд + 99 3 + 100 3 AFETwiCheck(); //AFE5SͨѶ + 101 3 E2PRomTwiCheck(); //EEPROM5SͨѶ + 102 3 RTCTwiCheck(); //RTC5SͨѶ + 103 3 + 104 3 if(!RamCheckProcess()) //Ƿд + 105 3 { + 106 4 SysParaInit(); + 107 4 } + 108 3 + 109 3 McuFlashWrWaitCheck(); //ǷҪ²MCU Flash + 110 3 + 111 3 E2PRomBKCheck(); //EEPROM + 112 3 + 113 3 //LowPowerCheck(); //͹ļ + 114 3 + C51 COMPILER V9.01 MAIN 02/06/2025 15:28:44 PAGE 3 + + 115 3 + 116 3 } + 117 2 + 118 2 SystemResetProcess(); //ϵͳλ + 119 2 + 120 2 ISPProcess(); // + 121 2 + 122 2 CaliProcess(); //У׼ + 123 2 + 124 2 McuFlashProcess(); //ݲMCU Flash + 125 2 + 126 2 E2PRomBKProcess(); //EEPROM + 127 2 + 128 2 //LowPowerProcess(); //͹Ĵ + 129 2 + 130 2 Info.uiPackStatus = uiPackStatus; //PACKBatteryϢͨUART + 131 2 Info.uiBatStatus = uiBatStatus; + 132 2 + 133 2 } + 134 1 } + 135 + 136 + 137 + + +MODULE INFORMATION: STATIC OVERLAYABLE + CODE SIZE = 764 ---- + CONSTANT SIZE = 161 ---- + XDATA SIZE = ---- ---- + PDATA SIZE = ---- ---- + DATA SIZE = ---- ---- + IDATA SIZE = ---- ---- + BIT SIZE = ---- ---- +END OF MODULE INFORMATION. + + +C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S) diff --git a/output/Main.obj b/output/Main.obj new file mode 100644 index 0000000000000000000000000000000000000000..99838b07d5c48f3aa63ba28370bd8199f38e5691 GIT binary patch literal 73534 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 z

    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 literal 0 HcmV?d00001 diff --git a/output/GasGaugeInter_V4_12.lst b/output/GasGaugeInter_V4_12.lst new file mode 100644 index 0000000..83d2370 --- /dev/null +++ b/output/GasGaugeInter_V4_12.lst @@ -0,0 +1,252 @@ +C51 COMPILER V9.01 GASGAUGEINTER_V4_12 07/28/2023 12:06:53 PAGE 1 + + +C51 COMPILER V9.01, COMPILATION OF MODULE GASGAUGEINTER_V4_12 +OBJECT MODULE PLACED IN .\output\GasGaugeInter_V4_12.obj +COMPILER INVOKED BY: C:\Keil_v5\C51\BIN\C51.EXE code_gasguage\GasGaugeInter_V4_12.c LARGE OPTIMIZE(7,SIZE) REGFILE(.\out + -put\MCUCore_Load.ORC) BROWSE INTVECTOR(0X1000) INCDIR(.\header_app;.\header_drv;.\code_gasguage) DEBUG OBJECTEXTEND PRIN + -T(.\output\GasGaugeInter_V4_12.lst) OBJECT(.\output\GasGaugeInter_V4_12.obj) + +line level source + + 1 /******************************************************************************** + 2 Copyright (C), Sinowealth Electronic. Ltd. + 3 Author: Sino + 4 Version: V0.0 + 5 Date: 2022/12/08 + 6 History: + 7 V0.0 2022/12/08 Preliminary + 8 ********************************************************************************/ + 9 #include "Main.h" + 10 + 11 + 12 //***************************Ʋرֱƶ.cļƱҲԶڴ˴ + -ļж************************************** + 13 + 14 + 15 U16 xdata Info_uiRSOC; //ʾĵ%ͣU16 xdata + 16 U32 xdata Info_ulFCC; //ʾmAhͣU32 xdata + 17 U32 xdata Info_ulRC; //ʾʣmAhͣU32 xdata + 18 U16 xdata Info_uiCycleCount; //ʾķŵѭΣͣU16 xdata + 19 + 20 U32 xdata Info_ulDfilterRC; //˲ǰʣֵʾͣU32 + 21 U32 xdata Info_ulTempDsgFcc; //ĿɷŵֵʾͣU32 + 22 U16 xdata Info_uiSocDecTime; //ʣٷֱȣ%ı仯ʶʾͣU16 + 23 U16 xdata Info_uiRsocCnt; //ʣٷֱȣ%仯ʱʾͣU16 + 24 + 25 //BOOL bOCD1; //ŵ1־ͣBOOL룩 + 26 //BOOL bOCD2; //ŵ2־ͣBOOL룩 + 27 //BOOL bOCC; //־ͣBOOL룩 + 28 //BOOL bAFE_SC; //·־ͣBOOL룩 + 29 //BOOL bUV; //ڵоǷѹ־ͣBOOL룩 + 30 //BOOL bOV; //ڵоѹ־ͣBOOL룩 + 31 + 32 //U16 xdata E2uiVOC[10]; //OCVѹ飬ֱӦʱ10%100%10ѹ㣬E2uiVOC_D[0]Ӧ10 + -%E2uiVOC_D[9]Ӧ100%ͣU16 xdata룩 + 33 //U32 xdata E2ulDesignCapacity; //ͣU32 xdata룩 + 34 //U32 xdata E2ulFCC; //ͣU32 xdata\E2 + 35 U32 xdata E2ulDfRC; //RSOC˲ǰʣͣU32 xdata\E2 + 36 //U8 xdata E2ucSOC; //˲ڶʾRSOCͣU8 xdata\E2 + 37 + 38 //U16 xdata E2uiChgEndVol; //ֹѹͣU16 xdata룩 + 39 //S16 xdata E2siChgEndCurr; //ֹͣS16 xdata룩 + 40 //U8 xdata E2ucChgEndDelay; //ֹʱͣU8 xdata룩 + 41 //U16 xdata E2uiDsgEndVol; //ŵֹѹͣU16 xdata룩 + 42 S32 xdata E2slDsgEndCurr; //ŵֹͣS32 xdata룩 + 43 //U8 xdata E2ucDsgEndDelay; //ŵֹʱͣU8 xdata룩 + 44 U8 xdata E2ucDsgEndFlg; //ŵֹ־ͣU8 xdata\E2 + 45 //U16 xdata E2uiOVvol; //ڹѹֵͣU16 xdata룩 + 46 //U16 xdata E2uiUVvol; //ǷѹֵͣU16 xdata룩 + 47 + 48 //U32 xdata E2ulCycleThreshold; //ѭֵͣU32 xdata룩 + 49 //U32 xdata E2ulCycleThresholdCount;//ѭͣU32 xdata\E2 + 50 //U16 xdata E2uiCycleCount; //ѭͣU16 xdata\E2 + 51 U16 xdata E2uiLastCCount; //ϴθʱѭ ͣU16 xdata\E2 + C51 COMPILER V9.01 GASGAUGEINTER_V4_12 07/28/2023 12:06:53 PAGE 2 + + 52 //S16 xdata E2siDfilterCur; //ڣͣS16 xdata룩 + 53 + 54 U16 xdata E2uiDsgAdjLowTemp; //ŵĩ˵ڵ¶ȣֵ = ¶ȣȣ10 + 2731ͣU16 xdata + -룩 + 55 S32 xdata E2slDsgAdjMaxCurr; //ŵĩ˵ڵŵ(mA)ͣS32 xdata룩 + 56 U8 xdata E2ucDsgAdjLowFlg; //»ŵǷѹʱSOC1%ı־10ֹͣU8 + -xdata룩 + 57 U8 xdata E2ucDsgAdjLowSoc; //»ŵǷѹʱSOC1%ֵ%ͣU8 xdata룩 + 58 + 59 U8 xdata E2ucFullDsgDelay; //ʱжŵʱSͣU8 xdata룩 + 60 U32 xdata E2ulLoadEndVol; //ػоѹֹܵѹmVͣU32 xdata룩 + 61 U32 xdata E2ulChgerEndVol; //оѹֹܵѹmVͣU32 xdata룩 + 62 U8 xdata E2ucChgerEndDelay; //оѹֹʱSͣU8 xdata룩 + 63 U32 xdata E2ulIdleSocTimes; //ҪSOCԻѴͣU32 xdata룩 + 64 + 65 U8 xdata E2ucInitSocDif; //һϵֵ30%һ㲻޸ģͣU8 xdata룩 + 66 U8 xdata E2ucInitUpSoc; //һϵϵOCVֵͣU8 xdata룩 + 67 U8 xdata E2ucChgAdjRatio; //ĩ˵ڵıϵԼڳʱѹOCV 100%ѹ~ֹѹĵ + -ٷֱ(%)(ݶ)ͣU8 xdata룩 + 68 U16 xdata E2uiTempFCC_K1; //¶ȵFCCһϵͣU16 xdata룩 + 69 U16 xdata E2uiTempFCC_K2; //¶ȵFCCϵͣU16 xdata룩 + 70 U16 xdata E2uiTempFCC_B; //¶ȵFCCƫͣU16 xdata룩 + 71 U16 xdata E2uiDsgCorrectVol; //ʼŵĩ޵ĵѹmVͣU16 xdata룩 + 72 U8 xdata E2ucDsgCorrectSOC; //ʼŵĩ޵%ͣU8 xdata룩 + 73 + 74 U8 xdata E2ucDsgVolDet; //ŵĩ˵ѹȣmVͣU8 xdata룩 + 75 + 76 U16 xdata E2uiChgCorrectVol; //ʼĩ޵ĵѹmVͣU16 xdata룩 + 77 U8 xdata E2ucChgCorrectSOC; //ʼĩ޵%ͣU8 xdata룩 + 78 U8 xdata E2ucChg100Ratio; //ϵ1%ʱ䣨SͣU8 xdata룩 + 79 U8 xdata E2ucChgCurRatio; //ʱ˲ǰʣij籶ʣλ0.1CͣU8 xdata룩 + 80 U8 xdata E2ucChgChangeSocDif; //ʱ޸˲ǰʣֵ%ͣU8 xdata룩 + 81 U8 xdata E2ucChgChangeSocRatio; //ʱCHGCUR_RATIO籶OCV̧Ĵ·(%)ͣU8 xda + -ta룩 + 82 + 83 U8 xdata E2ucFccUpdatePercent; //ѧϰµٷֱȣ%ͣU8 xdata룩 + 84 U16 xdata E2uiChgEndTemp; //ֹ¶ȣֵ = Xȣ10 + 2731ͣU16 xdata룩 + 85 U16 xdata E2uiDsgEndTemp; //ŵֹ¶ȣֵ = Xȣ10 + 2731ͣU16 xdata룩 + 86 + 87 U16 xdata E2ui_CYCLECOUNTA; //ѭFCC˥׶һʼѭͣU16 xdata룩 + 88 U16 xdata E2ui_CYCLECOUNTA_K; //ѭFCC˥׶һ˥б=(CYCLECOUNTB - CYCLECOUNTA)/10 + -ͣU16 xdata룩 + 89 U16 xdata E2ui_CYCLECOUNTA_B; //ѭFCC˥׶һ˥ؾ=(CYCLECOUNTB *100 -CYCLECOUN + -TA *95) / (CYCLECOUNTB - CYCLECOUNTA)ͣU16 xdata룩 + 90 U16 xdata E2ui_CYCLECOUNTB; //FCC˥׶ζʼѭͣU16 xdata룩 + 91 U16 xdata E2ui_CYCLECOUNTB_K; //FCC˥׶ζ˥б=(CYCLECOUNTC -CYCLECOUNTB)/10ͣ + -U16 xdata룩 + 92 U16 xdata E2ui_CYCLECOUNTB_B; //FCC˥׶ζ˥ؾ=(CYCLECOUNTC *95 -CYCLECOUNTB *85) /(CYC + -LECOUNTC -CYCLECOUNTB)ͣU16 xdata룩 + 93 U16 xdata E2ui_CYCLECOUNTC; //FCC˥׶ʼѭͣU16 xdata룩 + 94 U16 xdata E2uiUpdateCycleCount; //ϴθٴθѭͣU16 xdata룩 + 95 + 96 S32 xdata Info_slCurr; //ڹ˺жϳŵ״̬ػ·mAͣS32 xdata + -룩 + 97 U16 xdata Info_uiTemp; //ʾĵо¶ȣֵ = Xȣ10 + 2731ͣU16 xdata룩 + 98 U32 xdata Info_ulVoltage; //оܵѹU32 xdata룩 + 99 + 100 U16 data uiCellVmaxG; //ǰѹߵĵоѹͣU16 data룩 + 101 U16 data uiCellVminG; //ǰѹ͵ĵоѹͣU16 data룩 + 102 //U8 data ucCellNum; //оͣU8 data룩 + 103 //S32 xdata slCadcCurAverage; //ڿ׻ֵƽسŵ·ͣS32 xdata룩 + 104 S32 xdata slAdcCur2; //ڿ׻ֵƽطŵ·ûпԺΪ0ͣS32 xdata + C51 COMPILER V9.01 GASGAUGEINTER_V4_12 07/28/2023 12:06:53 PAGE 3 + + -룩 + 105 S16 xdata siCurCompens; //ϵͳĵԤԺΪ0ͣU16 xdata룩 + 106 //***************************************************************** + 107 + 108 /************************************************************************************************* + 109 * : GasGaugeVarIn + 110 * : + 111 * ֵ: + 112 * : ⲿֵرÿƹִܺʱڵһøýӿں + 113 *************************************************************************************************/ + 114 void GasGaugeVarIn(void) + 115 { + 116 1 BOOL eabak; + 117 1 + 118 1 eabak = EA; + 119 1 IrqDis(); + 120 1 Info_uiRSOC = Info.uiRSOC; + 121 1 Info_ulFCC = Info.ulFCC; + 122 1 Info_ulRC = Info.ulRC; + 123 1 Info_uiCycleCount = Info.uiCycleCount; + 124 1 Info_slCurr = Info.slCurr; + 125 1 Info_uiTemp = Info.uiTS; + 126 1 Info_ulVoltage = Info.ulVoltage; + 127 1 //slCadcCurAverage = slAdcFilterCurrent; + 128 1 uiCellVmaxG = uiCellVmax; + 129 1 uiCellVminG = uiCellVmin; + 130 1 + 131 1 slAdcCur2 = 0; + 132 1 siCurCompens = 0; + 133 1 + 134 1 EA = eabak; + 135 1 + 136 1 E2ucInitSocDif = 30; + 137 1 E2ucInitUpSoc = 90; + 138 1 E2uiDsgAdjLowTemp = (10*10 + 2731); + 139 1 E2slDsgAdjMaxCurr = -35000; + 140 1 E2ucDsgAdjLowFlg = 0; + 141 1 E2ucDsgAdjLowSoc = 1; + 142 1 E2ucChgAdjRatio = 20; + 143 1 E2uiTempFCC_K1 = 16000; + 144 1 E2uiTempFCC_K2 = 17; + 145 1 E2uiTempFCC_B = 1570; + 146 1 E2ucFullDsgDelay = 60; + 147 1 E2uiDsgCorrectVol = E2uiVOC[0] - 200; + 148 1 E2ucDsgCorrectSOC = 15; + 149 1 E2slDsgEndCurr = -400; + 150 1 E2ucDsgVolDet = 10; + 151 1 + 152 1 E2uiChgCorrectVol = E2uiVOC[9]; + 153 1 E2ucChgCorrectSOC = 90; + 154 1 E2ulChgerEndVol = 4500 * ucCellNum; + 155 1 E2ulLoadEndVol = 3000 * ucCellNum; + 156 1 E2ucChgerEndDelay = 60; + 157 1 E2ucChg100Ratio = 20; + 158 1 + 159 1 E2ucChgCurRatio = 15; + 160 1 E2ucChgChangeSocDif = 20; + 161 1 E2ucChgChangeSocRatio = 10; + 162 1 + 163 1 E2ulIdleSocTimes = 40; + 164 1 + 165 1 E2ucFccUpdatePercent = 30; + C51 COMPILER V9.01 GASGAUGEINTER_V4_12 07/28/2023 12:06:53 PAGE 4 + + 166 1 E2uiChgEndTemp = (15*10 + 2731); + 167 1 E2uiDsgEndTemp = (15*10 + 2731); + 168 1 + 169 1 E2ui_CYCLECOUNTA = 50; + 170 1 E2ui_CYCLECOUNTA_K = 5; + 171 1 E2ui_CYCLECOUNTA_B = 105; + 172 1 E2ui_CYCLECOUNTB = 100; + 173 1 E2ui_CYCLECOUNTB_K = 30; + 174 1 E2ui_CYCLECOUNTB_B = 98; + 175 1 E2ui_CYCLECOUNTC = 400; + 176 1 E2uiUpdateCycleCount = 75; + 177 1 + 178 1 E2ulDesignCapacity = E2ulFCC; + 179 1 E2ulDfRC= E2ulLastFCC; + 180 1 E2uiLastCCount = E2uiCycleCount_Rsv; + 181 1 + 182 1 // bAFE_SC = bSC; + 183 1 } + 184 + 185 /************************************************************************************************* + 186 * : GasGaugeVarOut + 187 * : + 188 * ֵ: + 189 * : رⲿֵÿƹִܺʱһøýӿں + 190 *************************************************************************************************/ + 191 void GasGaugeVarOut(void) + 192 { + 193 1 BOOL eabak; + 194 1 + 195 1 eabak = EA; + 196 1 IrqDis(); + 197 1 Info.uiRSOC = Info_uiRSOC; + 198 1 Info.ulFCC = Info_ulFCC; + 199 1 Info.ulRC = Info_ulRC; + 200 1 Info.uiCycleCount = Info_uiCycleCount; + 201 1 E2ulLastFCC = E2ulDfRC; + 202 1 E2uiCycleCount_Rsv = E2uiLastCCount; + 203 1 + 204 1 // Info.ulDfilterRC = Info_ulDfilterRC + 205 1 // Info.ulTempDsgFcc = Info_ulTempDsgFcc; + 206 1 // Info.uiSocDecTime = Info_uiSocDecTime; + 207 1 // Info.uiRsocCnt = Info_uiRsocCnt; + 208 1 EA = eabak; + 209 1 } + + +MODULE INFORMATION: STATIC OVERLAYABLE + CODE SIZE = 587 ---- + CONSTANT SIZE = ---- ---- + XDATA SIZE = 114 ---- + PDATA SIZE = ---- ---- + DATA SIZE = 4 ---- + IDATA SIZE = ---- ---- + BIT SIZE = ---- 2 +END OF MODULE INFORMATION. + + +C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S) diff --git a/output/GasGaugeInter_V4_12.obj b/output/GasGaugeInter_V4_12.obj new file mode 100644 index 0000000000000000000000000000000000000000..f29a231c5430c617ec2d5edc041c1622b30c0137 GIT binary patch literal 72665 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 V!qXZ&7zy*Gkv*l3PEhjE{|od{s#pL3 literal 0 HcmV?d00001 diff --git a/output/GasGaugeInter_V4_13.lst b/output/GasGaugeInter_V4_13.lst new file mode 100644 index 0000000..ece05f0 --- /dev/null +++ b/output/GasGaugeInter_V4_13.lst @@ -0,0 +1,298 @@ +C51 COMPILER V9.01 GASGAUGEINTER_V4_13 02/06/2025 15:28:46 PAGE 1 + + +C51 COMPILER V9.01, COMPILATION OF MODULE GASGAUGEINTER_V4_13 +OBJECT MODULE PLACED IN .\output\GasGaugeInter_V4_13.obj +COMPILER INVOKED BY: D:\Tool\Keil\C51\BIN\C51.EXE code_gasguage\GasGaugeInter_V4_13.c LARGE OPTIMIZE(7,SIZE) REGFILE(.\o + -utput\MCUCore_Load.ORC) BROWSE INTVECTOR(0X1000) INCDIR(.\header_app;.\header_drv;.\code_gasguage;.\code_classb\iec60730 + -_lib\include;.\code_classb\iec60730_proc\Include;.\code_classb\config) DEBUG OBJECTEXTEND PRINT(.\output\GasGaugeInter_V + -4_13.lst) OBJECT(.\output\GasGaugeInter_V4_13.obj) + +line level source + + 1 /******************************************************************************** + 2 Copyright (C), Sinowealth Electronic. Ltd. + 3 Author: Sino + 4 Version: V0.0 + 5 Date: 2022/12/08 + 6 History: + 7 V0.0 2022/12/08 Preliminary + 8 ********************************************************************************/ + 9 #include "Main.h" + 10 + 11 + 12 //***************************Ʋرֱƶ.cļƱҲԶڴ˴ + -ļж************************************** + 13 + 14 + 15 U16 xdata Info_uiRSOC; //ʾĵ%ͣU16 xdata + 16 U32 xdata Info_ulFCC; //ʾmAhͣU32 xdata + 17 U32 xdata Info_ulRC; //ʾʣmAhͣU32 xdata + 18 U16 xdata Info_uiCycleCount; //ʾķŵѭΣͣU16 xdata + 19 + 20 U32 xdata Info_ulDfilterRC; //˲ǰʣֵʾͣU32 + 21 U32 xdata Info_ulTempDsgFcc; //ĿɷŵֵʾͣU32 + 22 U16 xdata Info_uiSocDecTime; //ʣٷֱȣ%ı仯ʶʾͣU16 + 23 U16 xdata Info_uiRsocCnt; //ʣٷֱȣ%仯ʱʾͣU16 + 24 + 25 //BOOL bOCD1; //ŵ1־ͣBOOL룩 + 26 //BOOL bOCD2; //ŵ2־ͣBOOL룩 + 27 //BOOL bOCC; //־ͣBOOL룩 + 28 //BOOL bAFE_SC; //·־ͣBOOL룩 + 29 //BOOL bUV; //ڵоǷѹ־ͣBOOL룩 + 30 //BOOL bOV; //ڵоѹ־ͣBOOL룩 + 31 + 32 //U16 xdata E2uiVOC[10]; //OCVѹ飬ֱӦʱ10%100%10ѹ㣬E2uiVOC_D[0]Ӧ10 + -%E2uiVOC_D[9]Ӧ100%ͣU16 xdata룩 + 33 //U32 xdata E2ulDesignCapacity; //ͣU32 xdata룩 + 34 //U32 xdata E2ulFCC; //ͣU32 xdata\E2 + 35 //U32 xdata E2ulDfRC; //RSOC˲ǰʣͣU32 xdata\E2 + 36 //U8 xdata E2ucSOC; //˲ڶʾRSOCͣU8 xdata\E2 + 37 + 38 //U16 xdata E2uiChgEndVol; //ֹѹͣU16 xdata룩 + 39 //S16 xdata E2siChgEndCurr; //ֹͣS16 xdata룩 + 40 //U8 xdata E2ucChgEndDelay; //ֹʱͣU8 xdata룩 + 41 //U16 xdata E2uiDsgEndVol; //ŵֹѹͣU16 xdata룩 + 42 //S32 xdata E2slDsgEndCurr; //ŵֹͣS32 xdata룩 + 43 //U8 xdata E2ucDsgEndDelay; //ŵֹʱͣU8 xdata룩 + 44 //U8 xdata E2ucDsgEndFlg; //ŵֹ־ͣU8 xdata\E2 + 45 //U16 xdata E2uiOVvol; //ڹѹֵͣU16 xdata룩 + 46 //U16 xdata E2uiUVvol; //ǷѹֵͣU16 xdata룩 + 47 + 48 //U32 xdata E2ulCycleThreshold; //ѭֵͣU32 xdata룩 + 49 //U32 xdata E2ulCycleThresholdCount;//ѭͣU32 xdata\E2 + 50 //U16 xdata E2uiCycleCount; //ѭͣU16 xdata\E2 + C51 COMPILER V9.01 GASGAUGEINTER_V4_13 02/06/2025 15:28:46 PAGE 2 + + 51 //U16 xdata E2uiLastCCount; //ϴθʱѭ ͣU16 xdata\E2 + 52 //S16 xdata E2siDfilterCur; //ڣͣS16 xdata룩 + 53 + 54 U16 xdata E2uiDsgAdjLowTemp; //ŵĩ˵ڵ¶ȣֵ = ¶ȣȣ10 + 2731ͣU16 xdata + -룩 + 55 S32 xdata E2slDsgAdjMaxCurr; //ŵĩ˵ڵŵ(mA)ͣS32 xdata룩 + 56 U8 xdata E2ucDsgAdjLowFlg; //»ŵǷѹʱSOC1%ı־10ֹͣU8 + -xdata룩 + 57 U8 xdata E2ucDsgAdjLowSoc; //»ŵǷѹʱSOC1%ֵ%ͣU8 xdata룩 + 58 + 59 U8 xdata E2ucFullDsgDelay; //ʱжŵʱSͣU8 xdata룩 + 60 U32 xdata E2ulLoadEndVol; //ػоѹֹܵѹmVͣU32 xdata룩 + 61 U32 xdata E2ulChgerEndVol; //оѹֹܵѹmVͣU32 xdata룩 + 62 U8 xdata E2ucChgerEndDelay; //оѹֹʱSͣU8 xdata룩 + 63 U32 xdata E2ulIdleSocTimes; //ҪSOCԻѴͣU32 xdata룩 + 64 + 65 U8 xdata E2ucInitSocDif; //һϵֵ30%һ㲻޸ģͣU8 xdata룩 + 66 U8 xdata E2ucInitUpSoc; //һϵϵOCVֵͣU8 xdata룩 + 67 U8 xdata E2ucChgAdjRatio; //ĩ˵ڵıϵԼڳʱѹOCV 100%ѹ~ֹѹĵ + -ٷֱ(%)(ݶ)ͣU8 xdata룩 + 68 U16 xdata E2uiTempFCC_K1; //¶ȵFCCһϵͣU16 xdata룩 + 69 U16 xdata E2uiTempFCC_K2; //¶ȵFCCϵͣU16 xdata룩 + 70 U16 xdata E2uiTempFCC_B; //¶ȵFCCƫͣU16 xdata룩 + 71 U16 xdata E2uiDsgCorrectVol; //ʼŵĩ޵ĵѹmVͣU16 xdata룩 + 72 U8 xdata E2ucDsgCorrectSOC; //ʼŵĩ޵%ͣU8 xdata룩 + 73 + 74 U8 xdata E2ucDsgVolDet; //ŵĩ˵ѹȣmVͣU8 xdata룩 + 75 + 76 U16 xdata E2uiChgCorrectVol; //ʼĩ޵ĵѹmVͣU16 xdata룩 + 77 U8 xdata E2ucChgCorrectSOC; //ʼĩ޵%ͣU8 xdata룩 + 78 U8 xdata E2ucChg100Ratio; //ϵ1%ʱ䣨SͣU8 xdata룩 + 79 U8 xdata E2ucChgCurRatio; //ʱ˲ǰʣij籶ʣλ0.1CͣU8 xdata룩 + 80 U8 xdata E2ucChgChangeSocDif; //ʱ޸˲ǰʣֵ%ͣU8 xdata룩 + 81 U8 xdata E2ucChgChangeSocRatio; //ʱCHGCUR_RATIO籶OCV̧Ĵ·(%)ͣU8 xda + -ta룩 + 82 + 83 U8 xdata E2ucFccUpdatePercent; //ѧϰµٷֱȣ%ͣU8 xdata룩 + 84 U16 xdata E2uiChgEndTemp; //ֹ¶ȣֵ = Xȣ10 + 2731ͣU16 xdata룩 + 85 U16 xdata E2uiDsgEndTemp; //ŵֹ¶ȣֵ = Xȣ10 + 2731ͣU16 xdata룩 + 86 + 87 U16 xdata E2ui_CYCLECOUNTA; //ѭFCC˥׶һʼѭͣU16 xdata룩 + 88 U16 xdata E2ui_CYCLECOUNTA_K; //ѭFCC˥׶һ˥б=(CYCLECOUNTB - CYCLECOUNTA)/10 + -ͣU16 xdata룩 + 89 U16 xdata E2ui_CYCLECOUNTA_B; //ѭFCC˥׶һ˥ؾ=(CYCLECOUNTB *100 -CYCLECOUN + -TA *95) / (CYCLECOUNTB - CYCLECOUNTA)ͣU16 xdata룩 + 90 U16 xdata E2ui_CYCLECOUNTB; //FCC˥׶ζʼѭͣU16 xdata룩 + 91 U16 xdata E2ui_CYCLECOUNTB_K; //FCC˥׶ζ˥б=(CYCLECOUNTC -CYCLECOUNTB)/10ͣ + -U16 xdata룩 + 92 U16 xdata E2ui_CYCLECOUNTB_B; //FCC˥׶ζ˥ؾ=(CYCLECOUNTC *95 -CYCLECOUNTB *85) /(CYC + -LECOUNTC -CYCLECOUNTB)ͣU16 xdata룩 + 93 U16 xdata E2ui_CYCLECOUNTC; //FCC˥׶ʼѭͣU16 xdata룩 + 94 U16 xdata E2uiUpdateCycleCount; //ϴθٴθѭͣU16 xdata룩 + 95 + 96 S32 xdata Info_slCurr; //ڹ˺жϳŵ״̬ػ·mAͣS32 xdata + -룩 + 97 U16 xdata Info_uiTemp; //ʾĵо¶ȣֵ = Xȣ10 + 2731ͣU16 xdata룩 + 98 U32 xdata Info_ulVoltage; //оܵѹU32 xdata룩 + 99 + 100 U16 data uiCellVmaxG; //ǰѹߵĵоѹͣU16 data룩 + 101 U16 data uiCellVminG; //ǰѹ͵ĵоѹͣU16 data룩 + 102 //U8 data ucCellNum; //оͣU8 data룩 + 103 //S32 xdata slCadcCurAverage; //ڿ׻ֵƽسŵ·ͣS32 xdata룩 + C51 COMPILER V9.01 GASGAUGEINTER_V4_13 02/06/2025 15:28:46 PAGE 3 + + 104 S32 xdata slAdcCur2; //ڿ׻ֵƽطŵ·ûпԺΪ0ͣS32 xdata + -룩 + 105 S16 xdata siCurCompens; //ϵͳĵԤԺΪ0ͣU16 xdata룩 + 106 //***************************************************************** + 107 + 108 /************************************************************************************************* + 109 * : GasGaugeVarIn + 110 * : + 111 * ֵ: + 112 * : ⲿֵرÿƹִܺʱڵһøýӿں + 113 *************************************************************************************************/ + 114 void GasGaugeVarIn(void) + 115 { + 116 1 BOOL eabak; + 117 1 + 118 1 eabak = EA; + 119 1 IrqDis(); + 120 1 Info_uiRSOC = Info.uiRSOC; + 121 1 Info_ulFCC = Info.ulFCC; + 122 1 Info_ulRC = Info.ulRC; + 123 1 Info_uiCycleCount = Info.uiCycleCount; + 124 1 Info_slCurr = Info.slCurr; + 125 1 Info_uiTemp = Info.uiTS[0]; + 126 1 Info_ulVoltage = Info.ulVoltage; + 127 1 uiCellVmaxG = uiCellVmax; + 128 1 uiCellVminG = uiCellVmin; + 129 1 + 130 1 slAdcCur2 = 0; + 131 1 siCurCompens = 0; + 132 1 + 133 1 EA = eabak; + 134 1 + 135 1 E2ucInitSocDif = 30; + 136 1 E2ucInitUpSoc = 90; + 137 1 E2uiDsgAdjLowTemp = (10*10 + 2731); + 138 1 E2slDsgAdjMaxCurr = -35000; + 139 1 E2ucDsgAdjLowFlg = 0; + 140 1 E2ucDsgAdjLowSoc = 1; + 141 1 E2ucChgAdjRatio = 20; + 142 1 E2uiTempFCC_K1 = 16000; + 143 1 E2uiTempFCC_K2 = 17; + 144 1 E2uiTempFCC_B = 1570; + 145 1 E2ucFullDsgDelay = 60; + 146 1 E2uiDsgCorrectVol = E2uiVOC[0] - 200; + 147 1 E2ucDsgCorrectSOC = 15; + 148 1 E2ucDsgVolDet = 10; + 149 1 + 150 1 E2uiChgCorrectVol = E2uiVOC[9]; + 151 1 E2ucChgCorrectSOC = 90; + 152 1 E2ulChgerEndVol = 4500 * ucCellNum; + 153 1 E2ulLoadEndVol = 3000 * ucCellNum; + 154 1 E2ucChgerEndDelay = 60; + 155 1 E2ucChg100Ratio = 20; + 156 1 + 157 1 E2ucChgCurRatio = 15; + 158 1 E2ucChgChangeSocDif = 20; + 159 1 E2ucChgChangeSocRatio = 10; + 160 1 + 161 1 E2ulIdleSocTimes = 40; + 162 1 + 163 1 E2ucFccUpdatePercent = 30; + 164 1 E2uiChgEndTemp = (15*10 + 2731); + C51 COMPILER V9.01 GASGAUGEINTER_V4_13 02/06/2025 15:28:46 PAGE 4 + + 165 1 E2uiDsgEndTemp = (15*10 + 2731); + 166 1 + 167 1 E2ui_CYCLECOUNTA = 50; + 168 1 E2ui_CYCLECOUNTA_K = 5; + 169 1 E2ui_CYCLECOUNTA_B = 105; + 170 1 E2ui_CYCLECOUNTB = 100; + 171 1 E2ui_CYCLECOUNTB_K = 30; + 172 1 E2ui_CYCLECOUNTB_B = 98; + 173 1 E2ui_CYCLECOUNTC = 400; + 174 1 E2uiUpdateCycleCount = 75; + 175 1 + 176 1 // + 177 1 // if( bOV ) + 178 1 // { + 179 1 // E2ucSOC = 100; + 180 1 // E2ulDfRC = E2ulFCC; + 181 1 // + 182 1 // Info_uiRSOC = 100; + 183 1 // Info_ulRC = E2ulFCC; + 184 1 // + 185 1 // Info.uiRSOC = 100; + 186 1 // Info.ulRC = E2ulFCC; + 187 1 // } + 188 1 // + 189 1 // + 190 1 // if( bUV ) + 191 1 // { + 192 1 // E2ucSOC = 0; + 193 1 // E2ulDfRC = 0; + 194 1 // + 195 1 // Info_uiRSOC = 0; + 196 1 // Info_ulRC = 0; + 197 1 // + 198 1 // Info.uiRSOC = 0; + 199 1 // Info.ulRC = 0; + 200 1 // } + 201 1 //} + 202 1 // bAFE_SC = bSC; + 203 1 } + 204 + 205 /************************************************************************************************* + 206 * : GasGaugeVarOut + 207 * : + 208 * ֵ: + 209 * : رⲿֵÿƹִܺʱһøýӿں + 210 *************************************************************************************************/ + 211 void GasGaugeVarOut(void) + 212 { + 213 1 BOOL eabak; + 214 1 + 215 1 eabak = EA; + 216 1 IrqDis(); + 217 1 Info.uiRSOC = Info_uiRSOC; + 218 1 Info.ulFCC = Info_ulFCC; + 219 1 Info.ulRC = Info_ulRC; + 220 1 Info.uiCycleCount = Info_uiCycleCount; + 221 1 bVDQ = bVDQFlg; + 222 1 bFC = bCHGEndFlg; + 223 1 bFD = E2ucDsgEndFlg; + 224 1 EA = eabak; + 225 1 + 226 1 // if( bOV ) + C51 COMPILER V9.01 GASGAUGEINTER_V4_13 02/06/2025 15:28:46 PAGE 5 + + 227 1 // { + 228 1 // E2ucSOC = 100; + 229 1 // E2ulDfRC = E2ulFCC; + 230 1 // + 231 1 // Info_uiRSOC = 100; + 232 1 // Info_ulRC = E2ulFCC; + 233 1 // + 234 1 // Info.uiRSOC = 100; + 235 1 // Info.ulRC = E2ulFCC; + 236 1 // } + 237 1 // + 238 1 // + 239 1 // if( bUV ) + 240 1 // { + 241 1 // E2ucSOC = 0; + 242 1 // E2ulDfRC = 0; + 243 1 // + 244 1 // Info_uiRSOC = 0; + 245 1 // Info_ulRC = 0; + 246 1 // + 247 1 // Info.uiRSOC = 0; + 248 1 // Info.ulRC = 0; + 249 1 // } + 250 1 //} + 251 1 // bAFE_SC = bSC; + 252 1 } + + +MODULE INFORMATION: STATIC OVERLAYABLE + CODE SIZE = 534 ---- + CONSTANT SIZE = ---- ---- + XDATA SIZE = 103 ---- + PDATA SIZE = ---- ---- + DATA SIZE = 4 ---- + IDATA SIZE = ---- ---- + BIT SIZE = ---- 2 +END OF MODULE INFORMATION. + + +C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S) diff --git a/output/GasGaugeInter_V4_13.obj b/output/GasGaugeInter_V4_13.obj new file mode 100644 index 0000000000000000000000000000000000000000..22a99ba6bff8d367d05bec2db66f393cf60f4e86 GIT binary patch literal 73245 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 literal 0 HcmV?d00001 diff --git a/output/Hex2Array.exe b/output/Hex2Array.exe new file mode 100644 index 0000000000000000000000000000000000000000..f0bba21664289d8ddca33f5b38d2f0857695fb81 GIT binary patch literal 229376 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