From 8e5900b5958c5a704054c104d0d35aa3b40e9d68 Mon Sep 17 00:00:00 2001 From: wujunchao Date: Thu, 12 Sep 2024 09:45:11 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20=E5=88=86=E6=AE=B5?= =?UTF-8?q?=E5=BC=8F=E6=95=B4=E5=AE=9A+=E8=BE=93=E5=87=BA=E6=A0=A1?= =?UTF-8?q?=E5=87=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Core/Src/main.c | 4 +- MDK-ARM/VOQC.uvguix.吴俊潮 | 158 +- MDK-ARM/VOQC.uvoptx | 35 +- MDK-ARM/VOQC/VOQC.axf | Bin 1077580 -> 1081256 bytes MDK-ARM/VOQC/VOQC.build_log.htm | 60 +- MDK-ARM/VOQC/VOQC.hex | 1544 ++++++++++---------- MDK-ARM/VOQC/VOQC.htm | 509 ++++--- MDK-ARM/VOQC/VOQC.map | 609 ++++---- MDK-ARM/VOQC/VOQC_VOQC.dep | 10 +- MDK-ARM/VOQC/adc.o | Bin 1023772 -> 1023772 bytes MDK-ARM/VOQC/adcs.o | Bin 1039356 -> 1039356 bytes MDK-ARM/VOQC/ads1220.crf | Bin 938195 -> 938287 bytes MDK-ARM/VOQC/ads1220.o | Bin 1044932 -> 1044932 bytes MDK-ARM/VOQC/ads1256.o | Bin 1033332 -> 1033332 bytes MDK-ARM/VOQC/ch395.o | Bin 1051716 -> 1051716 bytes MDK-ARM/VOQC/ch395cmd.o | Bin 1110252 -> 1110252 bytes MDK-ARM/VOQC/dac7311.o | Bin 1027812 -> 1027812 bytes MDK-ARM/VOQC/dma.o | Bin 1019564 -> 1019564 bytes MDK-ARM/VOQC/ds18b20.o | Bin 1031076 -> 1031076 bytes MDK-ARM/VOQC/eeprom.o | Bin 1043712 -> 1043712 bytes MDK-ARM/VOQC/encoder.o | Bin 1022072 -> 1022072 bytes MDK-ARM/VOQC/flash.o | Bin 1025484 -> 1025484 bytes MDK-ARM/VOQC/gpio.o | Bin 1020628 -> 1020628 bytes MDK-ARM/VOQC/gpios.o | Bin 1027324 -> 1027324 bytes MDK-ARM/VOQC/hc165.o | Bin 1021288 -> 1021288 bytes MDK-ARM/VOQC/hc595.o | Bin 1021256 -> 1021256 bytes MDK-ARM/VOQC/i2c.o | Bin 1023336 -> 1023336 bytes MDK-ARM/VOQC/main.crf | Bin 944167 -> 944263 bytes MDK-ARM/VOQC/main.o | Bin 1059200 -> 1059256 bytes MDK-ARM/VOQC/mf5803.o | Bin 1043236 -> 1043236 bytes MDK-ARM/VOQC/modbus.o | Bin 1029140 -> 1029140 bytes MDK-ARM/VOQC/modbus_rtu.o | Bin 1047820 -> 1047820 bytes MDK-ARM/VOQC/modbus_tcp.o | Bin 1043352 -> 1043352 bytes MDK-ARM/VOQC/ms5803.o | Bin 1046692 -> 1046692 bytes MDK-ARM/VOQC/provalctrl.crf | Bin 939880 -> 940857 bytes MDK-ARM/VOQC/provalctrl.o | Bin 1054288 -> 1057504 bytes MDK-ARM/VOQC/spi.o | Bin 1022268 -> 1022268 bytes MDK-ARM/VOQC/stm32f4xx_hal.o | Bin 1032596 -> 1032596 bytes MDK-ARM/VOQC/stm32f4xx_hal_adc.o | Bin 1037144 -> 1037144 bytes MDK-ARM/VOQC/stm32f4xx_hal_adc_ex.o | Bin 1020084 -> 1020084 bytes MDK-ARM/VOQC/stm32f4xx_hal_cortex.o | Bin 1025976 -> 1025976 bytes MDK-ARM/VOQC/stm32f4xx_hal_dma.o | Bin 1020204 -> 1020204 bytes MDK-ARM/VOQC/stm32f4xx_hal_dma_ex.o | Bin 1005284 -> 1005284 bytes MDK-ARM/VOQC/stm32f4xx_hal_exti.o | Bin 1007444 -> 1007440 bytes MDK-ARM/VOQC/stm32f4xx_hal_flash.o | Bin 1019432 -> 1019432 bytes MDK-ARM/VOQC/stm32f4xx_hal_flash_ex.o | Bin 1017080 -> 1017080 bytes MDK-ARM/VOQC/stm32f4xx_hal_flash_ramfunc.o | Bin 991444 -> 991444 bytes MDK-ARM/VOQC/stm32f4xx_hal_gpio.o | Bin 1005640 -> 1005644 bytes MDK-ARM/VOQC/stm32f4xx_hal_i2c.o | Bin 1159192 -> 1159192 bytes MDK-ARM/VOQC/stm32f4xx_hal_i2c_ex.o | Bin 991260 -> 991260 bytes MDK-ARM/VOQC/stm32f4xx_hal_msp.o | Bin 1018868 -> 1018868 bytes MDK-ARM/VOQC/stm32f4xx_hal_pwr.o | Bin 1016800 -> 1016800 bytes MDK-ARM/VOQC/stm32f4xx_hal_pwr_ex.o | Bin 1001588 -> 1001584 bytes MDK-ARM/VOQC/stm32f4xx_hal_rcc.o | Bin 1017572 -> 1017572 bytes MDK-ARM/VOQC/stm32f4xx_hal_rcc_ex.o | Bin 1003616 -> 1003616 bytes MDK-ARM/VOQC/stm32f4xx_hal_spi.o | Bin 1088316 -> 1088316 bytes MDK-ARM/VOQC/stm32f4xx_hal_tim.o | Bin 1210192 -> 1210192 bytes MDK-ARM/VOQC/stm32f4xx_hal_tim_ex.o | Bin 1072620 -> 1072616 bytes MDK-ARM/VOQC/stm32f4xx_hal_uart.o | Bin 1104464 -> 1104464 bytes MDK-ARM/VOQC/stm32f4xx_it.o | Bin 1050932 -> 1050936 bytes MDK-ARM/VOQC/stm32f4xx_ll_adc.o | Bin 5112 -> 5112 bytes MDK-ARM/VOQC/system_stm32f4xx.o | Bin 995068 -> 995068 bytes MDK-ARM/VOQC/tim.o | Bin 1029324 -> 1029324 bytes MDK-ARM/VOQC/timer.o | Bin 1024292 -> 1024292 bytes MDK-ARM/VOQC/uarts.o | Bin 1023960 -> 1023960 bytes MDK-ARM/VOQC/usart.o | Bin 1031568 -> 1031568 bytes users/Inc/provalctrl.h | 22 +- users/Src/provalctrl.c | 160 +- 68 files changed, 1685 insertions(+), 1426 deletions(-) diff --git a/Core/Src/main.c b/Core/Src/main.c index d7ab815..0c2c44f 100644 --- a/Core/Src/main.c +++ b/Core/Src/main.c @@ -122,8 +122,8 @@ int main(void) modbus_rtu_init(); ee_io_init(); prov_init(); //ʼ - prov_adj_init(); //ʼ - + prov_adj_init(); //ʼ̵練 + prov_adj_section_init(); //ʼֶʽ /* USER CODE END 2 */ diff --git a/MDK-ARM/VOQC.uvguix.吴俊潮 b/MDK-ARM/VOQC.uvguix.吴俊潮 index a19a767..bd5b379 100644 --- a/MDK-ARM/VOQC.uvguix.吴俊潮 +++ b/MDK-ARM/VOQC.uvguix.吴俊潮 @@ -134,7 +134,7 @@ 16 - 2200000039000000EA020000C7000000 + 74F9FFFF6600000010FEFFFFF4000000 @@ -190,7 +190,7 @@ 0 16 - 000000002902000090050000B7020000 + 030000002C0200008D0500009E020000 16 @@ -210,7 +210,7 @@ 0 16 - 030000002C0200008D0500008A020000 + 030000002C0200008D0500009E020000 16 @@ -230,7 +230,7 @@ 0 16 - 030000002C0200008D0500008A020000 + 030000002C0200008D0500009E020000 16 @@ -250,7 +250,7 @@ 0 16 - 030000002C0200008D0500008A020000 + 030000002C0200008D0500009E020000 16 @@ -270,7 +270,7 @@ 0 16 - A3040000660000008D050000FF000000 + A3040000660000008D0500000C020000 16 @@ -330,7 +330,7 @@ 0 16 - 030000002C0200008D0500008A020000 + 030000002C0200008D0500009E020000 16 @@ -350,7 +350,7 @@ 0 16 - 030000002C0200008D0500008A020000 + 030000002C0200008D0500009E020000 16 @@ -370,7 +370,7 @@ 0 16 - 030000002C0200008D0500008A020000 + 030000002C0200008D0500009E020000 16 @@ -390,7 +390,7 @@ 0 16 - 030000002C0200008D0500008A020000 + 030000002C0200008D0500009E020000 16 @@ -410,7 +410,7 @@ 0 16 - 030000002C0200008D0500008A020000 + 030000002C0200008D0500009E020000 16 @@ -430,7 +430,7 @@ 0 16 - 030000002C0200008D0500008A020000 + 030000002C0200008D0500009E020000 16 @@ -530,7 +530,7 @@ 0 16 - 03000000670300008D050000C5030000 + 03000000670300007D070000C5030000 16 @@ -550,7 +550,7 @@ 0 16 - F40000006300000090050000DD000000 + F7000000660000008D050000C4000000 16 @@ -610,7 +610,7 @@ 0 16 - A0040000630000009005000025020000 + A3040000660000008D0500000C020000 16 @@ -630,7 +630,7 @@ 0 16 - 000000002902000090050000A3020000 + 030000002C0200008D0500009E020000 16 @@ -690,7 +690,7 @@ 0 16 - F40000006300000090050000DD000000 + F7000000660000008D050000C4000000 16 @@ -730,7 +730,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -750,7 +750,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -770,7 +770,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -790,7 +790,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -810,7 +810,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -830,7 +830,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -850,7 +850,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -870,7 +870,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -890,7 +890,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -910,7 +910,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -930,7 +930,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -950,7 +950,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -970,7 +970,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -990,7 +990,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -1010,7 +1010,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -1030,7 +1030,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -1050,7 +1050,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -1070,7 +1070,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -1090,7 +1090,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -1110,7 +1110,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -1130,7 +1130,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -1150,7 +1150,7 @@ 0 16 - 0300000066000000ED0000009E020000 + 0300000066000000ED00000033030000 16 @@ -1170,7 +1170,7 @@ 0 16 - 000000006403000090050000DE030000 + 03000000670300007D070000C5030000 16 @@ -1190,7 +1190,7 @@ 0 16 - 03000000670300008D050000C5030000 + 03000000670300007D070000C5030000 16 @@ -1210,7 +1210,7 @@ 0 16 - 030000002C0200008D0500008A020000 + 030000002C0200008D0500009E020000 16 @@ -1230,7 +1230,7 @@ 0 16 - 030000002C0200008D0500008A020000 + 030000002C0200008D0500009E020000 16 @@ -1250,7 +1250,7 @@ 0 16 - 03000000670300008D050000C5030000 + 03000000670300007D070000C5030000 16 @@ -1270,7 +1270,7 @@ 0 16 - 03000000670300008D050000C5030000 + 03000000670300007D070000C5030000 16 @@ -1310,7 +1310,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -1330,7 +1330,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -1350,7 +1350,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -1370,7 +1370,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -1390,7 +1390,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -1410,7 +1410,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -1430,7 +1430,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -1450,7 +1450,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -1470,7 +1470,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -1490,7 +1490,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -1510,7 +1510,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -1530,7 +1530,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -1550,7 +1550,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -1570,7 +1570,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -1590,7 +1590,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -1610,7 +1610,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -1630,7 +1630,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -1650,7 +1650,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -1670,7 +1670,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -1690,7 +1690,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -1704,7 +1704,7 @@ 0 0 0 - 32767 + 966 0 8192 0 @@ -1744,7 +1744,7 @@ 0 0 0 - 32767 + 476 0 8192 1 @@ -1764,7 +1764,7 @@ 0 0 0 - 32767 + 612 0 8192 2 @@ -1790,7 +1790,7 @@ 0 16 - 030000002C0200008D0500008A020000 + 030000002C0200008D0500009E020000 16 @@ -1799,14 +1799,14 @@ 3312 - 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFF4000000DD00000090050000E1000000000000000100001004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E6500200000000000002200000039000000EA020000C7000000F40000004F00000090050000DD0000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000025020000000000000200001004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C300000180004000000000000022000000390000001201000002010000A00400004F000000900500002502000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFF00000004F000000F40000004C030000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C4000000739400000180001000000100000022000000390000001201000002010000000000004F000000F00000004C0300000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000011020000900500001502000000000000010000100400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB0900000180008000000000000022000000390000001201000002010000000000001502000090050000B702000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFC802000015020000CC020000B702000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF000000004C0300008007000050030000010000000100001004000000010000000000000000000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF01000077940000018000800000010000002200000039000000EA020000C7000000000000005003000080070000DE0300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 + 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFF4000000DD00000090050000E1000000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E65002000000000000074F9FFFF6600000010FEFFFFF4000000F40000004F00000090050000DD0000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000025020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C300000180004000000000000020FDFFFF6600000010FEFFFF3C020000A00400004F000000900500002502000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFF00000004F000000F40000004C030000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C4000000739400000180001000000100000080F8FFFF6600000070F9FFFF63030000000000004F000000F00000004C0300000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000011020000900500001502000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB0900000180008000000000000080F8FFFF2C02000010FEFFFFCE020000000000001502000090050000B702000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFC802000015020000CC020000B702000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF000000004C0300008007000050030000010000000100001004000000010000000000000000000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF010000779400000180008000000100000080F8FFFF6703000000000000F5030000000000005003000080070000DE0300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 59392 File 2779 - 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE8030000000000000000000000000000000000000000000000010000000100000096000000020020500000000004686172649600000000000000110004686172640E69745F313030306D735F666C61670D69745F3530306D735F666C61670D69745F3130306D735F666C61670C69745F35306D735F666C61670C69745F31306D735F666C61670B69745F356D735F666C61670B69745F316D735F666C61670A6D6F746F725F6469726502B4C50D52756E6D6F746F725F4E756D7302CEBB0454454D5010535344313330365F5772697465436D640775696E74385F7404463678380575696E74380000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000000000000010000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65FF7F0000 + 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE8030000000000000000000000000000000000000000000000010000000100000096000000020020500000000004686172649600000000000000110004686172640E69745F313030306D735F666C61670D69745F3530306D735F666C61670D69745F3130306D735F666C61670C69745F35306D735F666C61670C69745F31306D735F666C61670B69745F356D735F666C61670B69745F316D735F666C61670A6D6F746F725F6469726502B4C50D52756E6D6F746F725F4E756D7302CEBB0454454D5010535344313330365F5772697465436D640775696E74385F7404463678380575696E74380000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 1423 @@ -1822,7 +1822,7 @@ Build 968 - 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000002001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA000000000000000000000000000000000000000000000000010000000100000096000000030020500000000004564F51439600000000000000010004564F5143000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64FF7F0000 + 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA000000000000000000000000000000000000000000000000010000000100000096000000030020500000000004564F51439600000000000000010004564F5143000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 583 @@ -1838,7 +1838,7 @@ Debug 2373 - 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000000000000100000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000000000001000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000000000000100000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000000000000100000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000000000000100000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F720100000000000000000000000100000001000000000000000000000001000000000000000000054465627567FF7F0000 + 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 898 @@ -1865,18 +1865,18 @@ 0 ..\users\Src\provalctrl.c - 17 - 516 - 541 + 13 + 133 + 151 1 0 ../users/Inc/provalctrl.h - 7 - 77 - 96 + 56 + 73 + 110 1 0 diff --git a/MDK-ARM/VOQC.uvoptx b/MDK-ARM/VOQC.uvoptx index 105024d..17dee62 100644 --- a/MDK-ARM/VOQC.uvoptx +++ b/MDK-ARM/VOQC.uvoptx @@ -153,40 +153,7 @@ -U53FF6B064884525650271587 -O2254 -SF4000 -C0 -A0 -I0 -HNlocalhost -HP7184 -P1 -N00("ARM CoreSight SW-DP (ARM Core") -D00(2BA01477) -L00(0) -TO131090 -TC10000000 -TT10000000 -TP21 -TDS8000 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC800 -FN1 -FF0STM32F4xx_1024.FLM -FS08000000 -FL0100000 -FP0($$Device:STM32F407VGTx$CMSIS\Flash\STM32F4xx_1024.FLM) -WA0 -WE0 -WVCE4 -WS2710 -WM0 -WP2 -WK0 - - - 0 - 0 - 502 - 1 -
0
- 0 - 0 - 0 - 0 - 0 - 0 - ..\users\Src\provalctrl.c - - -
- - 1 - 0 - 117 - 1 -
0
- 0 - 0 - 0 - 0 - 0 - 0 - ../users/Inc/provalctrl.h - - -
-
+ 0 diff --git a/MDK-ARM/VOQC/VOQC.axf b/MDK-ARM/VOQC/VOQC.axf index 229a2d3b5951d6afa18a05180cdbe75abaa33054..c266995d720250ad0487f3aa9f6ab92999b0c5fe 100644 GIT binary patch delta 38570 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 delta 35839 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 V1(YQ?@&p)`0BZsm0M<%i008SLjT`^~ diff --git a/MDK-ARM/VOQC/VOQC.build_log.htm b/MDK-ARM/VOQC/VOQC.build_log.htm index 10482cf..2f4c3be 100644 --- a/MDK-ARM/VOQC/VOQC.build_log.htm +++ b/MDK-ARM/VOQC/VOQC.build_log.htm @@ -26,10 +26,64 @@ Project File Date: 09/11/2024

Output:

*** Using Compiler 'V5.06 update 7 (build 960)', folder: 'E:\Softwares\Keil_v5\ARM\ARMCC\Bin' -Build target 'VOQC' +Rebuild target 'VOQC' +assembling startup_stm32f407xx.s... +compiling stm32f4xx_ll_adc.c... +compiling stm32f4xx_hal_msp.c... +compiling stm32f4xx_hal_flash.c... +compiling i2c.c... +compiling adc.c... +compiling stm32f4xx_hal_adc.c... +compiling stm32f4xx_hal_rcc_ex.c... +compiling dma.c... +compiling stm32f4xx_hal_adc_ex.c... +compiling gpio.c... +compiling spi.c... +compiling stm32f4xx_hal_rcc.c... +compiling stm32f4xx_it.c... +compiling tim.c... +compiling main.c... +compiling usart.c... +compiling stm32f4xx_hal_flash_ramfunc.c... +compiling stm32f4xx_hal_gpio.c... +compiling stm32f4xx_hal_pwr_ex.c... +compiling stm32f4xx_hal_pwr.c... +compiling stm32f4xx_hal_dma_ex.c... +compiling stm32f4xx_hal.c... +compiling stm32f4xx_hal_flash_ex.c... +compiling stm32f4xx_hal_cortex.c... +compiling stm32f4xx_hal_dma.c... +compiling stm32f4xx_hal_i2c_ex.c... +compiling stm32f4xx_hal_exti.c... +compiling stm32f4xx_hal_spi.c... +compiling stm32f4xx_hal_i2c.c... +compiling stm32f4xx_hal_tim.c... +compiling stm32f4xx_hal_tim_ex.c... +compiling system_stm32f4xx.c... +compiling ads1256.c... +compiling ms5803.c... +compiling stm32f4xx_hal_uart.c... +compiling hc595.c... +compiling modbus.c... +compiling ds18b20.c... +compiling eeprom.c... +compiling ads1220.c... +compiling dac7311.c... +compiling hc165.c... +compiling mf5803.c... +compiling modbus_rtu.c... +compiling modbus_tcp.c... +compiling ch395.c... +compiling ch395cmd.c... +compiling adcs.c... +compiling timer.c... +compiling uarts.c... +compiling gpios.c... compiling provalctrl.c... +compiling encoder.c... +compiling flash.c... linking... -Program Size: Code=34342 RO-data=458 RW-data=416 ZI-data=6888 +Program Size: Code=35494 RO-data=458 RW-data=416 ZI-data=6800 FromELF: creating hex file... "VOQC\VOQC.axf" - 0 Error(s), 0 Warning(s). @@ -54,7 +108,7 @@ Package Vendor: Keil

Collection of Component Files used:

* Component: ARM::CMSIS:CORE@5.6.0 -Build Time Elapsed: 00:00:02 +Build Time Elapsed: 00:00:16 diff --git a/MDK-ARM/VOQC/VOQC.hex b/MDK-ARM/VOQC/VOQC.hex index 3ab3ca4..94a2ffd 100644 --- a/MDK-ARM/VOQC/VOQC.hex +++ b/MDK-ARM/VOQC/VOQC.hex @@ -1,5 +1,5 @@ :020000040800F2 -:10000000881C002069020008BB3A000885340008FB +:10000000301C002069020008BB3A00088534000853 :10001000713A0008890900089D43000800000000AB :100020000000000000000000000000007D3B000810 :10003000F70A000800000000BF3A00087F3B0008F4 @@ -26,8 +26,8 @@ :10018000830200088302000800F002F800F05CF827 :100190000AA090E8000C82448344AAF10107DA45E2 :1001A00001D100F051F8AFF2090EBAE80F0013F0D8 -:1001B000010F18BFFB1A43F0010318471486000013 -:1001C000348600000A444FF0000C10F8013B13F095 +:1001B000010F18BFFB1A43F001031847948A00008F +:1001C000B48A00000A444FF0000C10F8013B13F011 :1001D000070408BF10F8014B1D1108BF10F8015BA0 :1001E000641E05D010F8016B641E01F8016BF9D193 :1001F00013F0080F1EBF10F8014BAD1C0C1B09D1EA @@ -35,13 +35,13 @@ :1002100001F8016B6D1EF9D59142D6D370470000ED :100220000023002400250026103A28BF78C1FBD8FF :10023000520728BF30C148BF0B6070471FB508F098 -:10024000B1FA1FBD10B510BD00F070F91146FFF7EF +:10024000F1FC1FBD10B510BD00F070F91146FFF7AD :10025000F5FF05F023FE00F08EF903B4FFF7F2FF7F :1002600003BC04F051F900000948804709480047E1 :10027000FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE756 :10028000FEE7FEE704480549054A064B70470000B3 -:100290003D3C00088901000888160020881C0020C9 -:1002A00088180020881800207047704753EA020C15 +:100290003D3C00088901000830160020301C002079 +:1002A00030180020301800207047704753EA020CC5 :1002B00000F069802DE9F04B4FF00006002B1FBFC6 :1002C000B3FA83F503FA05F424FA05F65E4012BF8B :1002D0001643B2FA82F502FA05F4C5F120051EBFF5 @@ -81,7 +81,7 @@ :1004F000090728BFA0E80C5048BF0CC05DF804EB0A :10050000890028BF40F8042B08BF704748BF20F877 :10051000022B11F0804F18BF00F8012B7047704775 -:100520007047704700487047281600207546FFF74F +:100520007047704700487047D01500207546FFF7A8 :10053000F9FFAE4605006946534620F007008546A0 :1005400018B020B5FFF79EFEBDE820404FF0000632 :100550004FF000074FF000084FF0000B21F00701AB @@ -139,10 +139,10 @@ :100890000846006800F40000F8B108460068C0434C :1008A000086008460068C0F3160008600846006843 :1008B000401C08600846006840420860084600681E -:1008C00007F01FFD41EC180B9FED120B53EC102BA2 -:1008D00007F080FD0B4A03C20DE00D48006807F0E9 -:1008E00010FD41EC180B9FED0B0B53EC102B07F098 -:1008F00071FD044A03C2034890ED000B5DE7000060 +:1008C00007F05FFF41EC180B9FED120B53EC102B60 +:1008D00007F0C0FF0B4A03C20DE00D48006807F0A7 +:1008E00050FF41EC180B9FED0B0B53EC102B07F056 +:1008F000B1FF044A03C2034890ED000B5DE700001E :1009000020000020180000200004024010000020F9 :100910001400002085F90F270088433F70B5044676 :100920000D4600221021164800F036FF0CE0154855 @@ -160,7 +160,7 @@ :1009E00000F0B4FB10BD000094050020014608781B :1009F00010381823B0FBF3F20848805CC865032A5E :100A000005D908686FF30900001D886503E00868D0 -:100A10006FF309008865886D70470000AE87000895 +:100A10006FF309008865886D704700002E8C000810 :100A2000014600208A6A8B69CBB932B1012A0DD008 :100A3000022A03D0032A10D10EE000BFCB6A03F0D4 :100A40008073B3F1807F00D1012007E0CB6AB3F15E @@ -186,11 +186,11 @@ :100B800002EB5474E410A2EBC4050124AC401C40F9 :100B900014B101220A7001E000220A7030BD000089 :100BA0007F00002010B51648002101600171082166 -:100BB000302006F052FF022004F0FEFC092006F06F -:100BC0003BFF0F49C8700A2006F036FF0C49087138 -:100BD0000921302006F041FF032004F0EDFC06203F -:100BE00006F02AFF06490870072006F025FF044991 -:100BF0004870082006F020FF01498870084610BDA3 +:100BB000302007F092F9022004F0FEFC092007F033 +:100BC0007BF90F49C8700A2007F076F90C490871C3 +:100BD0000921302007F081F9032004F0EDFC062004 +:100BE00007F06AF906490870072007F065F904491B +:100BF0004870082007F060F901498870084610BD68 :100C00006000002038B502460020009000BF92F836 :100C10003C00012801D1022038BD012082F83C00AF :100C200000BF0868092816D91068C0680C780A3C0B @@ -466,13 +466,13 @@ :101D00000D48006820F46040216940EAC1000A499A :101D1000086000F03FF808490968C1F30311074A59 :101D2000515CC8400649086006480068FFF796FE07 -:101D300000204CE7003C024008380240B68700080B +:101D300000204CE7003C024008380240368C000886 :101D40000C000020040000200148006870470000DB :101D50000C00002000B5FFF7F7FF04490968C1F344 :101D60008221034A515CC84000BD0000083802408F -:101D7000C687000800B5FFF7E7FF04490968C1F30B +:101D7000468C000800B5FFF7E7FF04490968C1F386 :101D80004231034A515CC84000BD0000083802409F -:101D9000C68700082DE9F047002400250026A1464B +:101D9000468C00082DE9F047002400250026A146C6 :101DA0002548006800F00C0020B1042805D0082860 :101DB0003AD105E0DFF8849039E0DFF8849036E02E :101DC0001D48001F006800F03F041B48001F00680A @@ -692,10 +692,10 @@ :102B20004000402805D1C04321680861204600F0DC :102B300033F806F02000202809D105F020002028D5 :102B400005D1C043216808612046FFF78CFC70BDA9 -:102B50007047704710B504460C48844201D104F018 -:102B60005BFE0B4884420FD16FF0010008490968F1 +:102B50007047704710B504460C48844201D105F017 +:102B60009BF80B4884420FD16FF0010008490968B7 :102B700008610748FFF79CFD064880880549C88022 -:102B80000020888003F09EFB10BD00003C03002065 +:102B80000020888003F0A0FB10BD00003C03002063 :102B900084030020941300207047704770470000A2 :102BA0002DE9F84F0446206805682068C66820684B :102BB00047694FF00009CA4605F00F09B9F1000F47 @@ -817,7 +817,7 @@ :1032F00070B504460D46164694F8420020280BD1BE :1033000005B10EB9012070BD002020633246294668 :10331000204600F08DFFF6E70220F4E710B50446E2 -:1033200003492068884201D103F018F810BD00005D +:1033200003492068884201D103F01AF810BD00005B :10333000001001402DE9F84F04460E461746994605 :103340004FF0000A94F84100202850D106B117B977 :103350000120BDE8F88F00206064212084F841003E @@ -1123,16 +1123,16 @@ :10461000A149088200219F4A1160516001209749F9 :104620000870912000F0D6F924E100F0B1F9944926 :10463000924A127841F82200904A127851F82200EA -:1046400003F05FFE41EC1A0B9FED940B53EC102B23 -:1046500003F0A2FC41EC190B9FED920B53EC102BD5 -:1046600000E049E003F0B6FE41EC180B03F0ECFD6E +:1046400004F09FF841EC1A0B9FED940B53EC102BE8 +:1046500003F0E2FE41EC190B9FED920B53EC102B93 +:1046600000E049E004F0F6F841EC180B04F02CF8F7 :104670008249097801EB8101844A02EBC1018B4A2E :10468000126841F8220089480068401C8749086088 :1046900008460068092801DD00200860002010E0BD :1046A0007649097801EB8101784A02EBC10151F8A2 :1046B0002010CA17774C18CCC9186241754B06C335 -:1046C000401C0A28ECDB734903C903F031FE9FED5F -:1046D000780B53EC102B03F05FFC03F0E5FD6E4903 +:1046C000401C0A28ECDB734903C904F071F89FED24 +:1046D000780B53EC102B03F09FFE04F025F86E4985 :1046E000488200216B4A11605160022063490870C2 :1046F000A12000F06FF9BDE000F04AF960495F4A7F :10470000127841F8220008465C49097850F82100E7 @@ -1147,10 +1147,10 @@ :104790000A2200233F4903C9FBF7FFFD3E498882F7 :1047A00000213C4A11605160032034490870B12057 :1047B00000F010F95EE000F0EBF831492F4A127872 -:1047C00041F822002D4A127851F8220003F099FD99 -:1047D00041EC1A0B9FED310B53EC102B03F0DCFB7B -:1047E00041EC190B9FED2F0B53EC102B03F0F2FD56 -:1047F00041EC180B03F028FD2049097801EB8101F9 +:1047C00041F822002D4A127851F8220003F0D9FF57 +:1047D00041EC1A0B9FED310B53EC102B03F01CFE38 +:1047E00041EC190B9FED2F0B53EC102B04F032F81A +:1047F00041EC180B03F068FF2049097801EB8101B7 :10480000224A02EBC101294A126841F822002B48D2 :104810000068401C2949086008460068092801DD35 :1048200000200860002010E01449097801EB8101A4 @@ -1198,54 +1198,54 @@ :104AC00010B52DED0A8BCC480068082835D2DFE8F8 :104AD00000F004356697C8FCFAF90120FBF758FE90 :104AE000B0EE40CAF0EE60CA9FEDC40B53EC102B41 -:104AF00051EC1C0B03F06EFC41EC1B0B9FEDC10B4A -:104B000053EC102B03F048FA41EC1A0B9FEDBF0B4E -:104B100053EC102B03F05CFD41EC190B9FEDBD0B2A -:104B200053EC102B03F038FA41EC180B03F0BCFBEC +:104AF00051EC1C0B03F0AEFE41EC1B0B9FEDC10B08 +:104B000053EC102B03F088FC41EC1A0B9FEDBF0B0C +:104B100053EC102B03F09CFF41EC190B9FEDBD0BE8 +:104B200053EC102B03F078FC41EC180B03F0FCFD68 :104B3000BA4908800120B049086059E10220FBF71A :104B400027FEB0EE40CAF0EE60CA9FEDAC0B53EC0E -:104B5000102B51EC1C0B03F03DFC41EC1B0B9FEDAB -:104B6000A90B53EC102B03F017FA41EC1A0B9FED35 -:104B7000A70B53EC102B03F02BFD41EC190B9FED11 -:104B8000A50B53EC102B03F007FA41EC180B03F0C4 -:104B90008BFBA249488002209749086028E1032046 +:104B5000102B51EC1C0B03F07DFE41EC1B0B9FED69 +:104B6000A90B53EC102B03F057FC41EC1A0B9FEDF3 +:104B7000A70B53EC102B03F06BFF41EC190B9FEDCF +:104B8000A50B53EC102B03F047FC41EC180B03F082 +:104B9000CBFDA249488002209749086028E1032004 :104BA000FBF7F6FDB0EE40CAF0EE60CA9FED930B46 -:104BB00053EC102B51EC1C0B03F00CFC41EC1B0BC9 -:104BC0009FED900B53EC102B03F0E6F941EC1A0B20 -:104BD0009FED8E0B53EC102B03F0FAFC41EC190BFC -:104BE0009FED8C0B53EC102B03F0D6F941EC180B16 -:104BF00003F05AFB8949888003207F490860F7E069 +:104BB00053EC102B51EC1C0B03F04CFE41EC1B0B87 +:104BC0009FED900B53EC102B03F026FC41EC1A0BDD +:104BD0009FED8E0B53EC102B03F03AFF41EC190BB9 +:104BE0009FED8C0B53EC102B03F016FC41EC180BD3 +:104BF00003F09AFD8949888003207F490860F7E027 :104C00000420FBF7C5FDB0EE40CAF0EE60CA9FED90 -:104C10007B0B53EC102B51EC1C0B03F0DBFB41EC3A -:104C20001B0B9FED780B53EC102B03F0B5F941EC07 -:104C30001A0B9FED760B53EC102B03F0C9FC41ECE3 -:104C4000190B9FED740B53EC102B03F0A5F941ECFD -:104C5000180B03F029FB7149C880042066490860DD +:104C10007B0B53EC102B51EC1C0B03F01BFE41ECF7 +:104C20001B0B9FED780B53EC102B03F0F5FB41ECC5 +:104C30001A0B9FED760B53EC102B03F009FF41ECA0 +:104C4000190B9FED740B53EC102B03F0E5FB41ECBB +:104C5000180B03F069FD7149C8800420664908609B :104C6000C6E00520FBF794FDB0EE40CAF0EE60CA46 -:104C70009FED620B53EC102B51EC1C0B03F0AAFBC5 -:104C800041EC1B0B9FED5F0B53EC102B03F084F9F1 -:104C900041EC1A0B9FED5D0B53EC102B03F098FCCD -:104CA00041EC190B9FED5B0B53EC102B03F074F9E7 -:104CB00041EC180B03F0F8FA5849088105204E49D9 +:104C70009FED620B53EC102B51EC1C0B03F0EAFD83 +:104C800041EC1B0B9FED5F0B53EC102B03F0C4FBAF +:104C900041EC1A0B9FED5D0B53EC102B03F0D8FE8B +:104CA00041EC190B9FED5B0B53EC102B03F0B4FBA5 +:104CB00041EC180B03F038FD5849088105204E4996 :104CC000086095E063E031E0FFE70620FBF760FD58 :104CD000B0EE40CAF0EE60CA9FED480B53EC102BCB -:104CE00051EC1C0B03F076FB41EC1B0B9FED450BCD -:104CF00053EC102B03F050F941EC1A0B9FED430BD2 -:104D000053EC102B03F064FC41EC190B9FED410BAD -:104D100053EC102B03F040F941EC180B03F0C4FAEC +:104CE00051EC1C0B03F0B6FD41EC1B0B9FED450B8B +:104CF00053EC102B03F090FB41EC1A0B9FED430B90 +:104D000053EC102B03F0A4FE41EC190B9FED410B6B +:104D100053EC102B03F080FB41EC180B03F004FD67 :104D20003E49488106203449086061E00720FBF7CE :104D30002FFDB0EE40CAF0EE60CA9FED300B53EC91 -:104D4000102B51EC1C0B03F045FB41EC190B9FEDB4 -:104D50002D0B53EC102B03F01FF941EC1B0B9FEDB7 -:104D60002B0B53EC102B03F033FC41EC180B9FED95 -:104D7000290B53EC102B03F00FF941EC1A0B03F045 -:104D800093FA2649888107201B49086030E00020FB +:104D4000102B51EC1C0B03F085FD41EC190B9FED72 +:104D50002D0B53EC102B03F05FFB41EC1B0B9FED75 +:104D60002B0B53EC102B03F073FE41EC180B9FED53 +:104D7000290B53EC102B03F04FFB41EC1A0B03F003 +:104D8000D3FC2649888107201B49086030E00020B9 :104D9000FBF7FEFCB0EE40CAF0EE60CA9FED170BC9 -:104DA00053EC102B51EC1C0B03F014FB41EC1B0BD0 -:104DB0009FED140B53EC102B03F0EEF841EC1A0BA3 -:104DC0009FED120B53EC102B03F002FC41EC180B7F -:104DD0009FED100B53EC102B03F0DEF841EC190B98 -:104DE00003F062FA0D49C88100200349086000BF42 +:104DA00053EC102B51EC1C0B03F054FD41EC1B0B8E +:104DB0009FED140B53EC102B03F02EFB41EC1A0B60 +:104DC0009FED120B53EC102B03F042FE41EC180B3D +:104DD0009FED100B53EC102B03F01EFB41EC190B55 +:104DE00003F0A2FC0D49C88100200349086000BF00 :104DF00000BFBDEC0A8B10BD2400002000000000A5 :104E0000000024403D0AD7A3703DEA3F00000000A7 :104E100000C06240AE47E17A14AEEF3FD0090020F7 @@ -1277,12 +1277,12 @@ :104FB00080EE201A964890ED000AB4EE401AF1EE09 :104FC00010FA12D08F48408800EE100AB8EE400A5E :104FD000DFED8D0A80EE201A8D4880ED001A8D4895 -:104FE0008B4991ED000A02F00DF98648808800EEA9 +:104FE0008B4991ED000A02F017FB8648808800EE9D :104FF000100AB8EE400ADFED840A80EE201A8648D7 :1050000090ED000AB4EE401AF1EE10FA12D07D488D :10501000808800EE100AB8EE400ADFED7B0A80EED1 :10502000201A7D4880ED001A7C487B4991ED000AEA -:1050300002F0E8F87A48C07800F04000402806D135 +:1050300002F0F2FA7A48C07800F04000402806D129 :1050400078480078052802D1012072490870744818 :10505000C07800F02000202806D17248007805288A :1050600002D101206D4908706F48006801287DD188 @@ -1309,15 +1309,15 @@ :1051B0000C0A30EE600A80ED130A224800680128CC :1051C0001ED100201F4908601548007800F0030038 :1051D000032807D111480078012803D01A490D4847 -:1051E00001F08AFE0E48007800F00C000C2807D170 -:1051F00008480078012803D01449084801F07CFED3 +:1051E00002F008F80E48007800F00C000C2807D1F7 +:1051F00008480078012803D01449084801F0FAFF54 :1052000010BD00008600002000007A4470010020DC :1052100074010020A8130020780100203C14002015 :105220007A0000208001002038010020D0090020F1 :1052300000007A460000FA447C010020000061442E -:105240000000C84240010020E81400202C15002076 +:105240000000C84240010020E81400205C15002046 :1052500010B50F48006801280AD100200C490860E9 -:1052600000F062FEFFF760F9FFF72AFCFFF772F922 +:1052600000F064FEFFF760F9FFF72AFCFFF772F920 :105270000848006801280AD100200649086000F0AB :10528000ADFA05490880084600880449C88410BD65 :10529000F800002010010020EC000020D0090020C0 @@ -1516,665 +1516,737 @@ :105EA000FDF772FEFDF77CFBFDF726FBFDF7ECFA34 :105EB000FDF788FCFDF7A4FCFDF7C4FCFDF74CFDE5 :105EC000FDF766FDFDF780FDFDF79AFDFDF7B4FDDA -:105ED000FDF7F6FCFDF71AFD1248FCF795FBFFF7FE +:105ED000FDF7F6FCFDF71AFD1348FCF795FBFFF7FD :105EE0005BFEFEF72BFBFEF79BFFFEF7E9FCFFF7DF -:105EF00043FB00F0EDF8FFF7A7FCFEF795FA00F082 -:105F000003FAFFF75BFD01F02DF800F0B3FD07E0A9 -:105F1000FFF78EFBFFF79CF9FFF710F8FFF768FE1D -:105F2000F6E700003C03002010B52DED028B9FED3D -:105F30005C0AB0EE408AFAF735FE044620785949EB -:105F40000860084600680002086060780968084335 -:105F5000544908600846006800020860A078096893 -:105F600008435049086008460068B0F5000F0FDB91 -:105F700008460068A0F1807000EE100AB8EEC00A72 -:105F8000DFED490A80EE201A484880ED001A0BE048 -:105F9000444890ED000AB8EEC00ADFED430A80EEF7 -:105FA000201A424880ED001A4048D0ED000A9FEDCB -:105FB000400A9FED401A01EE200AF2EE080A80EE38 -:105FC000201A3D4880ED001A90ED000AF2EE040A16 -:105FD00020EE200A39480078401E00EB8000384946 -:105FE00001EB00103749097800EB810080ED000AD1 -:105FF00032480078401C3149087008460078032870 -:106000002FDD012251023048FBF7C6FB002026E0BD -:106010009FED230AB0EE408A00210EE000EB8002E3 -:10602000274B03EB021202EB810292ED000A30EEE5 -:10603000080AB0EE408A4A1CD1B21429EEDBB3EE56 -:10604000040AC8EE000ABCEEE00A10EE101A8AB28A -:1060500000F10D011D4B23F81120411CC8B2062888 -:10606000D6DB1648007806280DDD0120134908709C -:1060700014480078401C134908700846007813281B -:1060800001DD002008700D480078042805DA0022A0 -:106090004FF400710C48FBF77FFBBDEC028B10BD89 -:1060A00000000000680000200000004B7400002089 -:1060B00000A00C4600401C466C0000205C00002044 -:1060C000F00700207800002000080240D0090020DE -:1060D00010B501F06DFB00224FF400712A48FBF768 -:1060E0005BFB0A20FFF768FA01202849087081212C -:1060F000002001F0B2FC0A20FFF75EFA02202349DB -:1061000008708121002001F0A8FC0A20FFF754FA52 -:1061100003201E4908708121002001F09EFC0A2006 -:10612000FFF74AFA012251021748FBF735FB0A2014 -:10613000FFF742FA0420154908708121002001F080 -:106140008CFC0A20FFF738FA0520104908708121DD -:10615000002001F082FC0A20FFF72EFA06200B49EE -:1061600008708121002001F078FC0A20FFF724FA52 -:10617000012006490870002241020348FBF70CFB8E -:106180000A20FFF719FA10BD000802405C00002049 -:106190002DE9F04104460D460CB1022D01DABDE8AF -:1061A000F08126786778012E01D0002E48D1052F86 -:1061B0003AD008DC012F0DD0022F11D0032F15D0BB -:1061C000042F37D118E0062F1CD00F2F20D0102F0E -:1061D00030D123E0A81E81B2A01C01F093F82EE07C -:1061E000A81E81B2A01C01F035F928E0A81E81B2DA -:1061F000A01C01F0D5F922E0A81E81B2A01C01F07C -:1062000055FA1CE0A81E81B2A01C01F0C1FD16E0E9 -:10621000A81E81B2A01C01F031FC10E0A81E81B2C2 -:10622000A01C01F0D1FC0AE0A81E81B2A01C01F064 -:106230004DFD04E06078012100F004F800BF00BFCC -:1062400000BFACE7F0B599B005460E460024002724 -:1062500001222146641C0DF8012045F080022146F0 -:10626000641C0DF801202146641C0DF801602146D4 -:106270006846FDF7FFFB0746FAB22146641C0DF89D -:1062800001203A122146641C0DF801200B48008AB7 -:10629000A04201DB204601E00848008A0749488205 -:1062A0004A8AC8686946FAF79CF80448428AC16875 -:1062B000034801F0B7FB19B0F0BD000094130020B3 -:1062C000140400202DE9F04100240E480568C4881C -:1062D000022C01DABDE8F081A01E295C601E285C5A -:1062E00041EA0027A01E81B22846FDF7C3FB0646FF -:1062F000B74200D0EEE7034AD1881068FFF748FFA5 -:1063000000BFE7E79413002010B50E480E4908605F -:1063100000208880C88008720C48C8604FF48060F4 -:10632000088200204882012209490A48FCF7E0FF60 -:106330006FF001000849096808610748FCF764F933 -:1063400010BD0000940A002094130020940E002039 -:106350005C010020140400208403002010B51848BC -:10636000808840F2FF3188420EDB0020144988808B -:1063700008460068002101604FF6FF730A2211A150 -:106380001448FCF7D7FF14E0134801780C488288C2 -:106390008088401C0A4B98801846006881540F483A -:1063A000FCF786F900200D49096848620B48FCF7A4 -:1063B0002BF9012208490748FCF79AFF10BD00009D -:1063C00094130020E695B0E68DAEE6BAA2E587BA52 -:1063D00000000000140400205C0100208403002061 -:1063E00070B504460D46FA480078062870D2DFE8FA -:1063F00000F00345B0F0EFEEF6480068401C40B9ED -:10640000F5480068F34908602046B1EE000A00F044 -:10641000F9FEF1480068F149086008460068ED4956 -:106420000968401A14281CDDED48808C00EE100A23 -:10643000B8EE400AEB48D0ED000A30EE600AF2EE0A -:10644000040A80EE201A85ED0E1A4FF0FF30E14964 -:106450000860E2490860DE480078401CDC490870AA -:106460000BE0DE480068DB490968401A05D54FF0AB -:10647000FF30D8490860D9490860DEE2D548006895 -:10648000401CB0BBD4480068D2490860D5ED0E0A64 -:10649000B0EE001A80EE810A9FEDD31AC0EE010A19 -:1064A00094ED110A94ED121A30EE411A94ED120A8D -:1064B00000EE810A85ED0F0A95ED0F0AD4ED110A61 -:1064C000B4EEE00AF1EE10FA03D295ED0F0A02E005 -:1064D000B2E294ED110A85ED0F0A95ED0F0AD4EDA5 -:1064E000120AB4EEE00AF1EE10FA03DD95ED0F0AA0 -:1064F00002E00AE094ED120A85ED0F0AD5ED0F0ACD -:10650000B0EE600A204600F07DFEB3480068B34953 -:10651000086008460068AF490968401A0A280BDD80 -:106520004FF0FF30AB490860AC490860A8480078DC -:10653000401CA74908700BE0A8480068A5490968F5 -:10654000401A05D54FF0FF30A2490860A349086002 -:1065500073E295F84000052878DA9E480068401CF0 -:1065600020B99D4800689B49086021E095F84010DB -:1065700005F1080000EB810090ED000AD4ED0B0A54 -:10658000B4EEE00AF1EE10FA02D294ED0B0A07E045 -:1065900095F8401005F1080000EB810090ED000A2D -:1065A00095F8401005F1080000EB810080ED000A2D -:1065B0008948006889490860084600688549096873 -:1065C000401A782806DD0420814908700EE032E286 -:1065D000E1E13EE1814800687E490968401A05D53D -:1065E0004FF0FF307B4908607C490860D5ED0E0A0A -:1065F000B0EE001A80EE810AD5ED010AB7EE001A5E -:1066000070EE810A20EE200AD4ED0B0AB4EEE00A07 -:10661000F1EE10FA38DD75480078A0BB95ED0F0A51 -:10662000D5ED010AB7EE001A70EE810A20EE200ABD -:1066300084ED100A94ED100AD4ED110AB4EEE00ACC -:10664000F1EE10FA03D294ED100A02E0D0E094EDDE -:10665000110A84ED100A94ED100AD4ED120AB4EE7A -:10666000E00AF1EE10FA02DD94ED100A01E094ED7B -:10667000120A84ED100AD4ED100AB0EE600A20462A -:1066800000F0C0FD1BE0FFE7D5ED0E0AB0EE001AEA -:1066900080EE810AD5ED010AB7EE001A70EE810A8C -:1066A00020EE200AD4ED0B0AB4EEE00AF1EE10FA67 -:1066B00005D84E48007810B901204C490870D5ED36 -:1066C0000E0AB0EE001A80EE810AD5ED010AB7EE8F -:1066D000001A71EE600A20EE200AD4ED0B0AB4EE27 -:1066E000E00AF1EE10FA37D240480078012833D1A1 -:1066F00095ED0F0AD5ED010AB7EE001A71EE600AAA -:1067000020EE200A84ED100A94ED100AD4ED110A4F -:10671000B4EEE00AF1EE10FA02D294ED100A01E0B4 -:1067200094ED110A84ED100A94ED100AD4ED120ACA -:10673000B4EEE00AF1EE10FA02DD94ED100A01E089 -:1067400094ED120A84ED100AD4ED100AB0EE600A3E -:10675000204600F057FD7BE0D5ED0E0AB0EE001AA2 -:1067600080EE810AD5ED010AB7EE001A71EE600ADB -:1067700020EE200AD4ED0B0AB4EEE00AF1EE10FA96 -:1067800066DB1A480078012862D10020174908709A -:10679000124800680F490968401A4FF4FA714843DB -:1067A00000EE100AB8EEC00A95F8401005F120007E -:1067B00000EB810080ED000A4FF0FF3005490860D2 -:1067C0000649086095F84000401C85F840003FE00D -:1067D0008001002084010020500100208801002059 -:1067E000D00900207C010020000061448C010020C1 -:1067F00093480068401C18B99248006890490860A6 -:106800009048006890490860084600688C4909680B -:10681000401A062810DD2046B1EE000A00F0F2FC16 -:106820004FF0FF3086490860874908608748007844 -:10683000401C864908700BE083480068804909685D -:10684000401A05D54FF0FF307D4908607E49086049 -:10685000F3E0002019E095ED070A05F1080101EBCE -:106860008001D1ED000A30EE200A85ED070A95ED92 -:106870000D0A05F1200101EB8001D1ED000A30EE97 -:10688000200A85ED0D0A411CC8B20528E3DBD5EDD1 -:106890000E0AB0EE001A80EE810AD5ED010AB7EEBD -:1068A000001A70EE810A20EE200AF1EE040A20EEB2 -:1068B000200AD5ED070A80EE801A85ED071A95EDBE -:1068C0000D0AF1EE040A80EE201A85ED0D1A95ED01 -:1068D000070ADFED5F0A60EE200A9FED5E1A81EE87 -:1068E000200AF0EE080A80EE201A84ED171A95EDC2 -:1068F0000D0AF6EE000A60EE200A9FED571A80EEB0 -:10690000810AF3EE040A80EE201A84ED181A95ED40 -:106910000D0ADFED520A20EE200ADFED4F0A80EE6D -:10692000201A84ED1D1A9FED4E0A84ED1A0A607834 -:10693000012802D0022826D112E094ED170A494816 -:1069400080ED000A94ED180A80ED010A94ED1D0A0D -:1069500080ED020A032201460020FFF70BF913E045 -:1069600094ED170A3F4880ED000A94ED180A80ED77 -:10697000010A94ED1D0A80ED020A032201460C2053 -:10698000FFF7F8F800E000BF00BF30480078401C77 -:106990002E49087051E02A480068401C18B929485F -:1069A00000682749086027480068274908600846AA -:1069B000006823490968401A0A282FDD60780128F9 -:1069C00002D0022818D10BE09FED250A264880ED61 -:1069D000000A2648C07800F0BF002449C8700CE0C7 -:1069E0009FED1F0A224880ED000A2048C07800F081 -:1069F000DF001E49C87000E000BF00BF4FF0FF304D -:106A00000F4908601049086000F034F80020207039 -:106A10000E480078401C0D4908700BE00A480068D9 -:106A200007490968401A05D54FF0FF30044908604E -:106A30000549086001E000E070BD00BF00BFFBE752 -:106A400084010020500100208801002080010020E6 -:106A5000560E494090C2753E00007A448FC2F53D03 -:106A600000000000D0140020740100207A000020F3 -:106A70007801002000202949087000BF11E09FED37 -:106A8000280A2649083101EB800181ED000A9FEDBB -:106A9000240A2249203101EB800181ED000A411CCA -:106AA000C8B20528EBDB9FED1F0A1C4880ED010AE8 -:106AB0009FED1B0A80ED0E0A9FED190A80ED0F0A6B -:106AC0000020164981F840001749087000BF11E006 -:106AD0009FED130A1449083101EB800181ED000A92 -:106AE0009FED0F0A1049203101EB800181ED000A72 -:106AF000411CC8B20528EBDB9FED0A0A0A4880ED6D -:106B0000010A9FED070A80ED0E0A9FED050A80ED50 -:106B10000F0A0020044981F840007047E814002063 -:106B2000000000009A99193E2C15002010B504466B -:106B3000D4ED130AB0EE600AFDF7E8FCD4ED150AB7 -:106B4000B4EEE00AF1EE10FA7EDDD4ED130AB0EEF9 -:106B5000600AFDF7DBFCF2EE040AB4EEE00AF1EEA7 -:106B600010FA71D2D4ED130A60EEA00AB0EE600AFA -:106B7000FDF7CCFCF2EE040A30EE200AF2EE040A35 -:106B800080EE201AD54880ED001AD4ED130AB0EE3D -:106B9000600AFDF7BBFCF1EE040A30EE200AF2EECB -:106BA000040A80EE201ACE4880ED001A94F85800AE -:106BB00010B101287ED16BE094ED1A0AD4ED130ACE -:106BC000C64890ED001A00EE810A84ED1A0A94ED91 -:106BD0001A0AD4ED1B0AB4EEE00AF1EE10FA02DD57 -:106BE00094ED1B0A01E094ED1A0A84ED1A0A94ED63 -:106BF0001A0AD4ED1C0AB4EEE00AF1EE10FA02D241 -:106C000094ED1C0A01E094ED1A0A84ED1A0AD4ED01 -:106C10001E0A94ED181A80EE810AD4ED1A0A20EEAD -:106C2000200A84ED190AD4ED1D0A94ED1E1A80EE97 -:106C3000810AD4ED130A94ED141A70EEC10A20EE05 -:106C4000200A84ED1F0A00E0F9E094ED130AD4ED68 -:106C5000190A30EE200AD4ED1F0A30EE200AD4EDD6 -:106C6000170A20EE200A84ED200A94ED200A9FEDF9 -:106C70009D1AC0EE010A94ED110A94ED121A30EE3D -:106C8000411A94ED120A00EE810A84ED100A6CE0BC -:106C900094ED1A0AD4ED130A914890ED001A00EE13 -:106CA000810A84ED1A0A94ED1A0AD4ED1B0AB4EE97 -:106CB000E00A00E058E0F1EE10FA02DD94ED1B0A64 -:106CC00001E094ED1A0A84ED1A0A94ED1A0AD4ED43 -:106CD0001C0AB4EEE00AF1EE10FA02D294ED1C0A9E -:106CE00001E094ED1A0A84ED1A0AD4ED1E0A94ED1F -:106CF000181A80EE810AD4ED1A0A20EE200A84EDDB -:106D0000190AD4ED1D0A94ED1E1A80EE810AD4ED05 -:106D1000130A94ED141A70EEC10A20EE200A84EDD5 -:106D20001F0A94ED130AD4ED190A30EE200AD4EDAF -:106D30001F0A30EE200AD4ED170A20EE200A84ED57 -:106D4000200A94ED200A9FED671AC0EE010A94ED27 -:106D5000110A94ED121A30EE411A94ED120A00EE67 -:106D6000810A84ED100A00E000BF00BF94ED100A14 -:106D7000D4ED210AB4EEE00AF1EE10FA02D294ED5D -:106D8000100A01E094ED210A84ED100A94ED100A36 -:106D9000D4ED220AB4EEE00AF1EE10FA02DD94ED31 -:106DA000100A01E094ED220A84ED100A94ED130A12 -:106DB00084ED140AD4ED010A94ED0A1A70EEC10AAA -:106DC000B0EE600AFDF7A2FBF2EE040AB4EEE00AB0 -:106DD000F1EE10FA02D8012084F88C0094ED0F0A2D -:106DE000D4ED110A9FED401A60EE810AB4EEE00A7C -:106DF000F1EE10FA02D294ED100A01E094ED110ABE -:106E000084ED100A94ED0F0AD4ED120A9FED371AA3 -:106E100060EE810AB4EEE00AF1EE10FA07D894EDC4 -:106E2000120A84ED100A9FED320A84ED1A0AD4ED9D -:106E3000100AB0EE600AD4F8900080474DE0D4ED1F -:106E4000130AB0EE600AFDF761FBF2EE040AB4EE3D -:106E5000E00AF1EE10FA40DB94F8580010B1012876 -:106E600039D127E094ED0E0A2248D0ED000A9FEDBB -:106E70001D1A01EE600A94ED171AC0EE010A94ED96 -:106E80001E0AD4ED181A80EE211A80EE810A84EDD4 -:106E90001A0A94ED1A0AD4ED1C0AB4EEE00AF1EED7 -:106EA00010FA02D294ED1C0A01E094ED1A0A84ED66 -:106EB0001A0A11E094ED0E0A94ED171AC0EE010AB9 -:106EC00094ED1E1AD4ED181A81EE210A80EE801A74 -:106ED00084ED1A1A00E000BF00BF10BD6801002059 -:106EE0006C0100200000C84252B87E3FD7A3803F0B -:106EF000000000006401002070B505460C462878AB -:106F000020B101280ED0022825D11BE020780128CD -:106F100004D1FFF7AFFD0520114908702846FFF79F -:106F200005FE19E00E480078052806D1FFF7A2FDFE -:106F30000120207000200A49087021462846FFF7EA -:106F40004FFA09E02078012804D1FFF793FD0520CE -:106F50000349087000E070BD00BF00BFFBE7000000 -:106F60008001002010B503229D490020FEF790FD0E -:106F700000209C49087001204870002009E09FED26 -:106F80009A0A9849091D01EB800181ED000A411C14 -:106F9000C8B20A28F3DB9FED940A924880ED0B0AF1 -:106FA0009FED910A80ED0C0A9FED8F0A80ED0D0A8E -:106FB0009FED8D0A80ED0E0A9FED8B0A80ED0F0A82 -:106FC0009FED890A80ED100AB1EE000A80ED120AE9 -:106FD000B3EE040A80ED110A9FED830A80ED130AD7 -:106FE0009FED810A80ED140AB6EE000A80ED150AC5 -:106FF0007B4890ED000A10EE101A0846FDF760FA83 -:1070000010B19FED790A02E0754890ED000A7548CD -:1070100080ED170A724890ED010AB5EEC00AF1EE54 -:1070200010FA02D19FED710A02E06D4890ED010A5D -:107030006C4880ED180A9FED6C0A80ED190A9FEDEF -:107040006C0A80ED1B0A9FED680A80ED1C0A9FED1B -:10705000660A80ED1A0A624890ED020A614880EDE6 -:107060001D0A9FED640A80ED1E0A9FED5F0A80ED08 -:107070001F0A9FED5D0A80ED200A9FED5B0A80EDFF -:10708000210A9FED590A80ED220A0020554981F816 -:107090008C005948C1F890009FED530AD1F8900038 -:1070A000804703224E490C20FEF7F2FC0020534992 -:1070B000087002204870002009E09FED4B0A4F49FC -:1070C000091D01EB800181ED000A411CC8B20A28AC -:1070D000F3DB9FED450A494880ED0B0A9FED420A1C -:1070E00080ED0C0A9FED400A80ED0D0A9FED3E0AEF -:1070F00080ED0E0A9FED3C0A80ED0F0A9FED3A0AE3 -:1071000080ED100AB1EE000A80ED120AB3EE040A17 -:1071100080ED110A9FED340A80ED130A9FED320ACB -:1071200080ED140AB6EE000A80ED150A2C4890EDA9 -:10713000000A10EE101A0846FDF7C2F910B19FEDD3 -:107140002A0A02E0264890ED000A2C4880ED170A32 -:10715000234890ED010AB5EEC00AF1EE10FA02D113 -:107160009FED220A02E01E4890ED010A234880EDBF -:10717000180A9FED1D0A80ED190A9FED1D0A80ED8A -:107180001B0A9FED190A80ED1C0A9FED170A80ED7E -:107190001A0A134890ED020A184880ED1D0A9FED67 -:1071A000150A80ED1E0A9FED100A80ED1F0A9FED63 -:1071B0000E0A80ED200A9FED0C0A80ED210A9FED5A -:1071C0000A0A80ED220A00200C4981F88C000C4844 -:1071D000C1F890009FED040AD1F89000804710BDDF -:1071E000DC140020A81300200000000000247449D3 -:1071F00000409C45CDCC4C3DA15200083C140020E1 -:10720000ED52000810B52DED028BB0EE408A044619 -:1072100094ED110AB4EEC80AF1EE10FA02DDB0EEF8 -:10722000480A01E094ED110AB0EE408A94ED120A8A -:10723000B4EEC80AF1EE10FA02D2B0EE480A01E04C -:1072400094ED120AB0EE408A94ED110AD4ED120AC0 -:1072500030EE600AD4ED120A38EE601AC1EE000A70 -:107260009FED250A20EE800A84ED0E0A94ED0E0AA9 -:107270009FED211AC0EE010A9FED200A20EE800A40 -:1072800084ED0D0A84ED0F8A94ED0F0A1C48D0EDB1 -:10729000000AB7EE001A70EE810A20EE200A84ED93 -:1072A000210A94ED0F0AD0ED000AB7EE001A71EE34 -:1072B000600A20EE200A84ED220A94ED0F0AD4ED34 -:1072C000100AB4EEE00AF1EE10FA01DA012000E053 -:1072D000002084F8580094ED0F0A84ED100A002075 -:1072E00084F88C00D4ED100AB0EE600AD4F8900057 -:1072F0008047BDEC028B10BD0000C8420000614415 -:10730000640100202DE9F04F9DB0054600240020C7 -:10731000199064216846F9F7DBF86878297840EA23 -:107320000129E878A97840EA0126012E01DA282E01 -:107330007EDCB9F1370F7DDC06EB0900382879DCFB -:10734000F01DC11700EB5171C1F3C7011C9101225F -:107350002046611CCCB20DF800202046611CCCB246 -:107360000DF800202046621CD4B21C990DF80010C4 -:107370000027BB462DE000200DF8040082461AE0ED -:1073800009EB070188B21BA9F9F7D4FB1DF804002B -:107390009DF86C1001FA0AF10843C0B20DF8040020 -:1073A000781C87B2B74202DB0120199006E00AF18F -:1073B000010000F0FF0ABAF1080FE1DB00BF601C1A -:1073C000C4B21998012800D106E00BF1010000F0C9 -:1073D000FF0B1C988345CEDB00BF21466846FCF7B7 -:1073E00049FB804608F0FF022046611CCCB20DF834 -:1073F00000204FEA28222046611CCCB20DF8002064 -:107400001248008AA04201DB204601E00F48008AB2 -:107410000E4948824A8AC8686946F8F7E2FF0B4875 -:10742000428AC1680A4800F0FDFA1DB0BDE8F08F3D -:1074300003E0FFE702201A9001E003201A900120E8 -:107440001A99FEF7FFFE00BFEFE70000941300203B -:10745000140400202DE9F04F9DB0054600240020C3 -:1074600019906878297840EA0129E878A97840EAF3 -:107470000126012E01DA312E7EDCB9F1300F7FDCDE -:1074800006EB090031287BDCF01DC11700EB5171C0 -:10749000C1F3C7011C9101222046611CCCB20DF83A -:1074A000002002222046611CCCB20DF800202046AC -:1074B000621CD4B21C990DF800100027BB462DE0C9 -:1074C00000200DF8040082461AE009EB070188B29B -:1074D0001BA9F9F74BFB1DF804009DF86C1001FA8D -:1074E0000AF10843C0B20DF80400781C87B2B74215 -:1074F00002DB0120199006E00AF1010000F0FF0A0A -:10750000BAF1080FE1DB00BF601CC4B21998012872 -:1075100000D106E00BF1010000F0FF0B1C98834541 -:10752000CEDB00BF21466846FCF7A4FA804608F08F -:10753000FF022046611CCCB20DF800204FEA282241 -:107540002046611CCCB20DF800201348008AA042EE -:1075500001DB204601E01048008A0F4948824A8A30 -:10756000C8686946F8F73DFF0B48428AC1680B4876 -:1075700000F058FA1DB001E005E001E0BDE8F08F31 -:1075800002201A9001E003201A9002201A99FEF7B7 -:1075900059FE00BFEEE70000941300201404002001 -:1075A0002DE9F04F99B00646002416B919B0BDE890 -:1075B000F08F7078317840EA0127F078B17840EAAE -:1075C0000125012D65DB312D63DC302F5EDC781960 -:1075D00000285BDB7819312858DC01222046611C29 -:1075E000CCB20DF8002003222046611CCCB20DF86D -:1075F00000206806020E2046611CCCB20DF8002067 -:107600004FF0000817E007EB080188B2F9F77EFA9F -:1076100081464FEA29222046611CCCB20DF8002099 -:1076200009F0FF022046611CCCB20DF8002008F1E1 -:1076300001001FFA80F8A845E5DB21466846FCF703 -:1076400019FA82460AF0FF022046611CCCB20DF8FE -:1076500000204FEA2A222046611CCCB20DF80020FF -:107660001048008AA04201DB204601E00D48008A54 -:107670000C4948824A8AC8686946F8F7B2FE094848 -:10768000428AC168084800F0CDF98FE74FF0020B3D -:1076900001E04FF0030B59460320FEF7D3FD00BF76 -:1076A00084E7000094130020140400202DE9F04F1B -:1076B00099B00546002415B919B0BDE8F08F687877 -:1076C000297840EA0127E878A97840EA0126012EC6 -:1076D00062DB312E60DC302F5BDCB819312858DCDE -:1076E00001222046611CCCB20DF800200422204665 -:1076F000611CCCB20DF800207006020E2046611C01 -:10770000CCB20DF800204FF0000817E007EB08019D -:1077100088B2F9F705FA81464FEA29222046611C12 -:10772000CCB20DF8002009F0FF022046611CCCB25B -:107730000DF8002008F101001FFA80F8B045E5DBE4 -:1077400021466846FCF796F982460AF0FF02204679 -:10775000611CCCB20DF800204FEA2A222046611CA1 -:10776000CCB20DF800201048008AA04201DB204670 -:1077700001E00D48008A0C4948824A8AC868694677 -:10778000F8F72FFE0848428AC168084800F04AF915 -:1077900092E74FF0020B01E04FF0030B5946042033 -:1077A000FEF750FD00BF87E794130020140400206B -:1077B00010B5012211031448F9F7EEFF0122D1029E -:1077C0001148F9F7E9FF0122D1031048F9F7E4FF66 -:1077D00000224FF480410D48F9F7DEFF012280219D -:1077E0000A48F9F7D9FF012204210948F9F7D4FF23 -:1077F000012211460648F9F7CFFF00221021054863 -:10780000F9F7CAFF10BD0000000C02400010024052 -:10781000000402400008024068480068401C6749B4 -:10782000086008460068042805DD012064490860F6 -:1078300000206249086063480068401C6149086094 -:1078400008460068092805DD01205F49086000201E -:107850005C4908605D480068401C5C490860084657 -:107860000068182805DD01205949086000205749A3 -:10787000086058480068401C56490860084600687F -:10788000312805DD01205449086000205149086075 -:1078900052480068401C5149086008460068632847 -:1078A00005DD01204E49086000204C4908604D4824 -:1078B0000068401C4B49086008460068B0F5967F98 -:1078C00005DB012048490860002046490860474818 -:1078D0000068401C4549086008460068B0F5FA7F1A -:1078E00005DB01204249086000204049086041480A -:1078F0000068401C3F49086008460068B0F57A7F80 -:1079000005DB01203C49086000203A4908603B48FB -:107910000068B0F5FA7F05DB0120394908600020D6 -:107920003649086035480068401C344908603548CD -:107930000068632805DD01203349086000203149D3 -:10794000086030480068401C2E4908602F480068D5 -:10795000312805DD01202E49086000202B490860F0 -:107960002A480068401C294908602A4800681D28E8 -:1079700005DD0120284908600020264908602548C7 -:107980000068401C2349086024480068B0F5FA7F6D -:107990000EDB00202149086021480068B0F5E15F56 -:1079A00001DD002002E01E480068401C1C49086000 -:1079B0001A480068401C194908607047F40000200C -:1079C000F0000020FC000020F8000020040100204E -:1079D000000100200C0100200801002014010020FB -:1079E000100100201C0100201801002024010020AB -:1079F000200100202C01002028010020340100205B -:107A0000300100203C01002038010020440100200A -:107A1000400100204C0100204801002054010020BA -:107A20005001002070B504460D46164632462946E0 -:107A30002046FBF7DFFC70BD70B50446FDF750FD36 -:107A40008020FCF76BF82046FCF768F8FCF738F864 -:107A50000546FFF7ADFE284670BD70B505460C46DD -:107A6000FDF73EFD0020FCF759F82846FCF756F8D4 -:107A70002046FCF753F8FFF79BFE70BD2DE9F04F51 -:107A80009FB00446002500201B906078217840EAD2 -:107A9000012AE078A17840EA012620791D90012E84 -:107AA0007EDB282E7CDC1D98C000B0427FDBBAF163 -:107AB000370F79DC0AEB0600382875DC0027A94669 -:107AC0002FE009F10500205C1C904FF0000B1CE03A -:107AD000012000FA0BF01C99084018B14FF47F40C8 -:107AE0001E9001E000201E900AEB070188B21E994B -:107AF000FCF75EFC781C87B2B74202DB01201B90CA -:107B000006E00BF1010000F0FF0BBBF1080FDFDB1B -:107B100000BF1B98012800D106E009F1010000F028 -:107B2000FF091D988145CCDB00BF01222846691C56 -:107B3000CDB201A90A540F222846691CCDB201A971 -:107B40000A5401A8284421680160281DC5B22946AD -:107B500001A8FBF78FFF80462846691CCDB201A91A -:107B600001F800804FEA28222846691CCDB201A9FD -:107B70000A541348008AA84201DB284601E0104855 -:107B8000008A0F4948824A8AC86801A9F8F729FC87 -:107B90000B48428AC1680B48FFF744FF1FB001E061 -:107BA00005E001E0BDE8F08F02201A9001E003201B -:107BB0001A900F201A99FEF745FB00BFEEE7000070 -:107BC00094130020140400202DE9F04F9BB00446CC -:107BD000002614B91BB0BDE8F08F6078217840EA28 -:107BE0000128E078A17840EA012794F804B0012F39 -:107BF0005FDB312F5DDCBBEB470F5AD1B8F1300FA3 -:107C000054DC08EB0700312850DC002512E0062088 -:107C100000EB4500205C052101EB4501615C40EA79 -:107C200001201A9008EB050188B21A99FCF7B8FBFD -:107C3000681C85B2BD42EADB01223046711CCEB21F -:107C400001A90A5410223046711CCEB201A90A546F -:107C500001A8304421680160301DC6B2314601A838 -:107C6000FBF708FF81463046711CCEB201A901F82E -:107C700000904FEA29223046711CCEB201A90A5465 -:107C80001048008AB04201DB304601E00D48008A0E -:107C90000C4948824A8AC86801A9F8F7A2FB09483A -:107CA000428AC1680848FFF7BDFE93E74FF0020A19 -:107CB00001E04FF0030A0AF0FF011020FEF7C2FABC -:107CC00000BF87E794130020140400202DE9F0473B -:107CD0009AB005468A4600246878297840EA012946 -:107CE000E878A97840EA012717B1B7F57F4F43D16B -:107CF000B9F1370F3DDC39464846FCF759FB012204 -:107D00002046611CCCB201A90A5405222046611C00 -:107D1000CCB201A90A5401A8204429680160201DA1 -:107D2000C4B2214601A8FBF7A5FE06462046611C09 -:107D3000CCB201A90E5432122046611CCCB201A96A -:107D40000A541148008AA04201DB204601E00E4897 -:107D5000008A0D4948824A8AC86801A9F8F741FBA0 -:107D60000948428AC1680948FFF75CFE1AB0BDE8BD -:107D7000F0874FF0020801E04FF00308414605206C -:107D8000FEF760FA00BFF1E794130020140400200E -:107D90002DE9F0479AB005468A46002415B91AB075 -:107DA000BDE8F0876878297840EA0127E878A97863 -:107DB00040EA0128302F3BDC41463846FCF7F0FA18 -:107DC00001222046611CCCB201A90A540622204699 -:107DD000611CCCB201A90A5401A8204429680160A1 -:107DE000201DC4B2214601A8FBF744FE06462046EA -:107DF000611CCCB201A90E5432122046611CCCB2D7 -:107E000001A90A540E48008AA04201DB204601E085 -:107E10000B48008A0A4948824A8AC86801A9F8F7CB -:107E2000E0FA0748428AC1680648FFF7FBFDB6E75B -:107E30004FF0020949460620FEF704FA00BFAEE7FC -:107E4000941300201404002010B591EA030F48BFDA -:107E500083F0004300F1C483841A71EB030C05D254 -:107E6000121943EB0C03001B61EB0C01DFF824E15A -:107E70004FEA1154A4EB135C1EEA430F18BF9EEAAD -:107E8000445F73D023EA0E03DCF1200E21EA045193 -:107E900043F4801332D322FA0CFE10EB0E0023FAC7 -:107EA0000CFE41EB0E01CCF1200E03FA0EFE10EB9E -:107EB0000E0051F10001B1F5801FCCF1200E32D23D -:107EC00001EB045112FA0EF2BDE8104058BF7047A2 -:107ED000401C38BF5FEA420218BF7047002814BF39 -:107EE00020F0010041F100014FEA410313F5001FAA -:107EF00038BF7047A1F1C04100F064BB012A43EBD9 -:107F00000302ACF1200CDCF11F0E32BF4FF0000E6B -:107F100023FA0CF310EB030041EB0451B4EB115FB7 -:107F2000D0D0A1EB045101F5801149085FEA30007F -:107F300001EB04510ED350F1000038BF12FA0EFECF -:107F400008D1BDE81040C9E7401C38BF5FEA4202D3 -:107F5000CAD1C3E7BDE810404FEA410313F5001F43 -:107F600038BF7047A1F1C04100F02CBB9EEA445FCE -:107F700008D011EA5E0FBDE8104004BF01F00041D7 -:107F800000207047BDE8104070B500F0CDFA00BF8A -:107F900064FBBE3E0000E0FF2DE9C04130B4DFF8D5 -:107FA000A0C23CEA111418BF3CEA131400F0EC80A4 -:107FB00081EA03051CEA111444EAD57418BF1CEACF -:107FC000131500F0C780A4EB05044FF0004545EA07 -:107FD000C12145EAC32341EA505143EA525304F117 -:107FE0007F74994204F500344FEAC0204FEAC22260 -:107FF00008BF904200F09C804FEA13650FF24016D4 -:10800000765D4FEA134506FB05F7C7F1807706FB5F -:1080100007F74FEAD737A7FB03687642C8F58038E1 -:10802000A7FB06CE38BFA8F1010807FB08E64FF012 -:10803000000EA6FB028CE6FB03CEDCF1000CCEF1B9 -:10804000004E38BFAEF1010EA6FB0C584FF00007F2 -:108050004FF00005E6FB0E87A1FB08C6A0FB07CE8C -:1080600016EB0E0645F10005E1FB076515F1E04E44 -:108070007EBFA4F580345FEA46066D4116F18007A5 -:1080800045F100054FEA17274FEA066647EA0567FC -:10809000A6F1DE46B6F1805F4FEA15251FD93846B6 -:1080A00024F0010C05EBC471BCF1FE6F01EB0C1167 -:1080B00002D8F0BCBDE8008124425CBF01F5801EFF -:1080C0009EEAC47F02D4F0BCBDE80081244238D4CB -:1080D000F0BCA1F1C041BDE8004100F073BA4FEA25 -:1080E000D22242EA43524FEAD323A7FB02864FEA49 -:1080F000D02040EA415007FB03661EEA0E0F4FEA0C -:10810000D12105FB026658BFA6EB0056B6EB005620 -:108110004FEA520E4EEAC37E18EB0E0E56EB530E8C -:10812000BDD518EB02085E417F1C55F10005B6E78E -:108130004FF480154FF000074FF000064FF0000895 -:10814000ADE7F0BC4FF0000001F1C04101F000418B -:10815000BDE8008111EA0C1F0CEA131500D00CE0F9 -:1081600013EA0C1F00F025804FF00000F0BC81EAFC -:10817000030101F00041BDE80081F0BCBDE8004111 -:1081800081EA030100F01EBAF0BCBDE8004170B501 -:1081900000F0CAF9097EFC3E00F007B881EA03014D -:1081A0004FF0000001F00041704781EA030100F048 -:1081B00009BAF0BCBDE800414FF00000214970470A -:1081C000FFFDFBF9F7F5F4F2F0EEEDEBE9E8E6E49C -:1081D000E3E1E0DEDDDBDAD8D7D5D4D3D1D0CFCD23 -:1081E000CCCBCAC8C7C6C5C4C2C1C0BFBEBDBCBB5C -:1081F000BAB9B8B7B6B5B4B3B2B1B0AFAEADACAB57 -:10820000AAA9A8A8A7A6A5A4A3A3A2A1A09F9F9E30 -:108210009D9C9C9B9A9999989797969595949393E2 -:10822000929191908F8F8E8E8D8C8C8B8B8A898979 -:1082300088888787868585848483838282818180FC -:108240000000FF070000F87F4FEA41034FEA535355 -:10825000A3F58063D3F11E03C8BFD3F1210C0CDD5D -:108260004FF0004242EAC12242EA505232FA03FC85 -:108270008CEAE17CACEBE1707047102BC4BF0020AE -:10828000704703F5787CBCF1FF3F04D06FF00042EB -:1082900082EA2100704770B500F046F949922480C7 -:1082A00000207047F2E700004FEA1153A3F5806306 -:1082B000D3F11E03A8BFD3F1200C08DB4FF000421E -:1082C00042EAC12252EA505232FA03F070470942A0 -:1082D0000BD4102BC4BF0020704703F5787CBCF191 -:1082E000FF3F05D04FF0FF3070474FF00000704760 -:1082F00070B500F019F900BF499224800020704742 -:10830000F0E710F0004248BF4042B0FA80F310FAA4 -:1083100003F10AD0C3F11D0303F580634FEA415016 -:1083200002EB035202EBD12170474FF0000070477F -:108330007FEAE17202D1101A62EB0101B1FA81F316 -:108340000B3B24D3994012D1B0FA80F310FA03F119 -:1083500008BF7047C3F11D0303F5406303EBC2235D -:108360004FEAD1224FEA415002EB03517047C3F16B -:10837000200C20FA0CFC9840C3F1320303F5406353 -:1083800003EBC22341EA0C0101EB0351704710B526 -:10839000C3F1320CC3F10004C4F1200E0CF5406CA3 -:1083A0000CEBC22201FA0EFC21FA04F100FA0EF3E2 -:1083B000E040BDE8104040EA0C0001EB025138BF3C -:1083C0007047401C41F100015B0008BF20F0010034 -:1083D00070470000DFF848C170B51CEA111E1EBFCF -:1083E0001CEA13159EEA0C0F95EA0C0F00F06F8043 -:1083F00081EA030423EA4C134EEAD47E21EA4C11AD -:1084000041F4801143F48013AE44A1FB024CA0FB65 -:108410000365AEF17F7E361955EB0C05A1FB034CCD -:108420004CF10003A0FB021C16EB0C06654153F156 -:108430000003094218BF46F0010613F4007F0BD178 -:108440004FEA03314FEA0530340341EA155140EA5F -:1084500016506FF003020AE04FEAC3214FEAC5202D -:10846000F40241EA555140EA56506FF0020202EB25 -:108470002E4201EB025585EACE710AD05FEA440C28 -:1084800018BF24F0004450F1000041F1000120EA3F -:10849000D47040F2FE7C624500D270BDA84214BF89 -:1084A0004FF080444FF04044002E08BF0024BEF13E -:1084B000806FA8BFA1F1C041BDE8704080F282800A -:1084C0004FF0000001F1C04101F0004170479EEA09 -:1084D0000C0F0CEA131518BF95EA0C0F06D04FF0DD -:1084E000000081EA030E0EF0004170BD00F01CF8A0 -:1084F0008900013E00F007B800F009B84FEA430CCC -:108500005FEA5C5C08D081EA030100F05BB84FEAE7 -:10851000410C5FEA5C5CF6D14FF000000149704706 -:108520000000FF070000F87F0EF1020E2EF0030E90 -:108530005EF8046B364205D4012A43EB030515F5BA -:10854000001F12D8012841EB010C1CF5001F0CD8AC -:108550000ED14FEAD17C15F5001F0CEB4C0C0CF141 -:10856000020C08BF4CEBD37C04E04FF0080C01E098 -:108570004FEAD37C0CEB4C0526FA05F606F007060D -:10858000B6F1040C06D20EEB860CBDE870404CF040 -:10859000010C6047DFE80CF0090B02024FF00041CC -:1085A0004FF00000A1F5002170BD194610460128CA -:1085B00051EB010418BFD4F5001484BF002001F072 -:1085C000004170BD0808A0F500114FEA3101704765 -:1085D00010B591EA030F48BF83F000433FF53CAC70 -:1085E000841A71EB030C07D212198CF0004C43EB88 -:1085F0000C03001B61EB0C01DFF8A4E14FEA1154FE -:10860000A4EB135C1EEA430F18BF9EEA445F00F020 -:10861000B08023EA6E03524221EA0451C3EB6E0399 -:1086200038BF5B1EDCF1200E25D322FA0CFE10EBC6 -:108630000E0043FA0CFE41EB0E01CCF1200E03FAC2 -:108640000EFE10EB0E0051F10001CCF1200E29D4EA -:1086500012FA0EF201EB0451BDE8104058BF70470A -:10866000401C1CBFB2F1004F704700280CBF491CD2 -:1086700020F00100704712EB020E43EB030218BF1B -:108680004FF0010E4EEA4202ACF1200CDCF11E0E5E -:1086900054D943FA0CFE10EB0E0051F1FF31CCF12E -:1086A0001E0ED5D50EF1010E12FA0EFE404141EB21 -:1086B000010101EB445C5FEA5C5C10D910EBDE70F9 -:1086C00001EB045138BFBEF1004FBDE8104018BFA8 -:1086D000704700280CBF491C20F00100704730D2C1 -:1086E0004FEAD42C11F5001124F400641BD0B1FA28 -:1086F00081F20B3AA41AA41ED2F12003914030FA61 -:1087000003F31943904001EBCC71002C01EB0451B1 -:10871000BDE81040A8BF704701F1C0414FF0000014 -:1087200001F000417047B0FA80F310FA03F100D174 -:1087300010BDE41A173C4805C90AE4E701EB0451EF -:1087400010BD491001EB0451BDE810404FEA300064 -:1087500002E04FF0000170474A0008BF0042F8D025 -:10876000B2F5001F28BF704701F000414FF0000034 -:1087700070479EEA445F07D011EA5E0FBDE81040E3 -:1087800004BF002100207047BDE8104070B5FFF71E -:10879000CBFE00BF40DFF63E83F00041104670473D -:1087A0000000E0FF4FF04070E1EE100A7047000655 -:1087B0001016000610160000000000000000010264 -:1087C000030406070809000000000102030400007A -:1087D000F087000800000020A0010000C40100088C -:1087E00010880008A0010020E81A000020020008FC -:1087F0004132104201034D24F43954012B02D76455 -:108800000518CDCC4C3D2305045AFF0101103298C8 +:105EF00043FB00F0EFF8FFF7A7FCFEF795FA00F080 +:105F000005FAFFF75BFD01F0BBF900F0B5FD00F00D +:105F100047FF07E0FFF78CFBFFF79AF9FFF70EF852 +:105F2000FFF766FEF6E700003C03002010B52DEDFC +:105F3000028B9FED5C0AB0EE408AFAF733FE04460E +:105F400020785949086008460068000208606078B7 +:105F50000968084354490860084600680002086060 +:105F6000A078096808435049086008460068B0F501 +:105F7000000F0FDB08460068A0F1807000EE100AE9 +:105F8000B8EEC00ADFED490A80EE201A484880EDDD +:105F9000001A0BE0444890ED000AB8EEC00ADFEDAD +:105FA000430A80EE201A424880ED001A4048D0EDA6 +:105FB000000A9FED400A9FED401A01EE200AF2EE22 +:105FC000080A80EE201A3D4880ED001A90ED000A84 +:105FD000F2EE040A20EE200A39480078401E00EB59 +:105FE0008000384901EB00103749097800EB810047 +:105FF00080ED000A32480078401C3149087008469C +:10600000007803282FDD012251023048FBF7C4FB42 +:10601000002026E09FED230AB0EE408A00210EE02A +:1060200000EB8002274B03EB021202EB810292EDA0 +:10603000000A30EE080AB0EE408A4A1CD1B2142998 +:10604000EEDBB3EE040AC8EE000ABCEEE00A10EE86 +:10605000101A8AB200F10D011D4B23F81120411CCA +:10606000C8B20628D6DB1648007806280DDD0120C8 +:106070001349087014480078401C134908700846FA +:106080000078132801DD002008700D4800780428EE +:1060900005DA00224FF400710C48FBF77DFBBDECE4 +:1060A000028B10BD00000000680000200000004BC3 +:1060B0007400002000A00C4600401C466C0000202C +:1060C0005C000020F007002078000020000802405B +:1060D000D009002010B501F0ABFD00224FF4007193 +:1060E0002A48FBF759FB0A20FFF766FA01202849E6 +:1060F00008708121002001F0F0FE0A20FFF75CFA11 +:106100000220234908708121002001F0E6FE0A20C8 +:10611000FFF752FA03201E4908708121002001F088 +:10612000DCFE0A20FFF748FA012251021748FBF76C +:1061300033FB0A20FFF740FA04201549087081213B +:10614000002001F0CAFE0A20FFF736FA05201049A8 +:1061500008708121002001F0C0FE0A20FFF72CFA10 +:1061600006200B4908708121002001F0B6FE0A20AC +:10617000FFF722FA01200649087000224102034875 +:10618000FBF70AFB0A20FFF717FA10BD00080240D0 +:106190005C0000202DE9F04104460D460CB1022DB3 +:1061A00001DABDE8F08126786778012E01D0002E53 +:1061B00048D1052F3AD008DC012F0DD0022F11D085 +:1061C000032F15D0042F37D118E0062F1CD00F2F26 +:1061D00020D0102F30D123E0A81E81B2A01C01F0E6 +:1061E000D1FA2EE0A81E81B2A01C01F073FB28E0BA +:1061F000A81E81B2A01C01F013FC22E0A81E81B2EF +:10620000A01C01F093FC1CE0A81E81B2A01C01F0B0 +:10621000FFFF16E0A81E81B2A01C01F06FFE10E087 +:10622000A81E81B2A01C01F00FFF0AE0A81E81B2D7 +:10623000A01C01F08BFF04E06078012100F004F85D +:1062400000BF00BF00BFACE7F0B599B005460E46F1 +:106250000024002701222146641C0DF8012045F08E +:1062600080022146641C0DF801202146641C0DF8B3 +:10627000016021466846FDF7FDFB0746FAB221465C +:10628000641C0DF801203A122146641C0DF801200F +:106290000B48008AA04201DB204601E00848008A42 +:1062A000074948824A8AC8686946FAF79AF8044852 +:1062B000428AC168034801F0F5FD19B0F0BD000045 +:1062C00094130020140400202DE9F04100240E480E +:1062D0000568C488022C01DABDE8F081A01E295CA3 +:1062E000601E285C41EA0027A01E81B22846FDF707 +:1062F000C1FB0646B74200D0EEE7034AD1881068DA +:10630000FFF748FF00BFE7E79413002010B50E48E1 +:106310000E49086000208880C88008720C48C86058 +:106320004FF48060088200204882012209490A480F +:10633000FCF7DEFF6FF001000849096808610748B3 +:10634000FCF762F910BD0000940A002094130020AD +:10635000940E00205C01002014040020840300201F +:1063600010B51848808840F2FF3188420EDB0020CB +:106370001449888008460068002101604FF6FF73C9 +:106380000A2211A11448FCF7D5FF14E01348017844 +:106390000C4882888088401C0A4B98801846006808 +:1063A00081540F48FCF784F900200D4909684862C0 +:1063B0000B48FCF729F9012208490748FCF798FF28 +:1063C00010BD000094130020E695B0E68DAEE6BA4D +:1063D000A2E587BA00000000140400205C01002040 +:1063E0008403002070B504460D46FA48007806285C +:1063F00070D2DFE800F00345B0F0EFEEF648006839 +:10640000401C40B9F5480068F34908602046B1EEE9 +:10641000000A01F001F9F1480068F14908600846F6 +:106420000068ED490968401A14281CDDED48808C8D +:1064300000EE100AB8EE400AEB48D0ED000A30EE4C +:10644000600AF2EE040A80EE201A85ED0E1A4FF073 +:10645000FF30E1490860E2490860DE480078401CEE +:10646000DC4908700BE0DE480068DB490968401A27 +:1064700005D54FF0FF30D8490860D9490860DEE201 +:10648000D5480068401CB0BBD4480068D2490860B9 +:10649000D5ED0E0AB0EE001A80EE810A9FEDD31AF8 +:1064A000C0EE010A94ED110A94ED121A30EE411A71 +:1064B00094ED120A00EE810A85ED0F0A95ED0F0AA0 +:1064C000D4ED110AB4EEE00AF1EE10FA03D295ED24 +:1064D0000F0A02E0B2E294ED110A85ED0F0A95ED84 +:1064E0000F0AD4ED120AB4EEE00AF1EE10FA03DD61 +:1064F00095ED0F0A02E00AE094ED120A85ED0F0A0D +:10650000D5ED0F0AB0EE600A204601F085F8B348D9 +:106510000068B349086008460068AF490968401A36 +:106520000A280BDD4FF0FF30AB490860AC4908602A +:10653000A8480078401CA74908700BE0A8480068EC +:10654000A5490968401A05D54FF0FF30A2490860F7 +:10655000A349086073E295F84000052878DA9E4860 +:106560000068401C20B99D4800689B49086021E0F4 +:1065700095F8401005F1080000EB810090ED000A4D +:10658000D4ED0B0AB4EEE00AF1EE10FA02D294ED6B +:106590000B0A07E095F8401005F1080000EB8100B8 +:1065A00090ED000A95F8401005F1080000EB81001D +:1065B00080ED000A8948006889490860084600683B +:1065C00085490968401A782806DD04208149087049 +:1065D0000EE032E2E1E13EE1814800687E4909686F +:1065E000401A05D54FF0FF307B4908607C490860B0 +:1065F000D5ED0E0AB0EE001A80EE810AD5ED010A43 +:10660000B7EE001A70EE810A20EE200AD4ED0B0AD4 +:10661000B4EEE00AF1EE10FA38DD75480078A0BB60 +:1066200095ED0F0AD5ED010AB7EE001A70EE810A5A +:1066300020EE200A84ED100A94ED100AD4ED110A20 +:10664000B4EEE00AF1EE10FA03D294ED100A02E083 +:10665000D0E094ED110A84ED100A94ED100AD4ED07 +:10666000120AB4EEE00AF1EE10FA02DD94ED100A1F +:1066700001E094ED120A84ED100AD4ED100AB0EE98 +:10668000600A204600F0C8FF1BE0FFE7D5ED0E0AC8 +:10669000B0EE001A80EE810AD5ED010AB7EE001ABD +:1066A00070EE810A20EE200AD4ED0B0AB4EEE00A67 +:1066B000F1EE10FA05D84E48007810B901204C4987 +:1066C0000870D5ED0E0AB0EE001A80EE810AD5ED05 +:1066D000010AB7EE001A71EE600A20EE200AD4ED2E +:1066E0000B0AB4EEE00AF1EE10FA37D24048007817 +:1066F000012833D195ED0F0AD5ED010AB7EE001A46 +:1067000071EE600A20EE200A84ED100A94ED100A62 +:10671000D4ED110AB4EEE00AF1EE10FA02D294EDD3 +:10672000100A01E094ED110A84ED100A94ED100AAC +:10673000D4ED120AB4EEE00AF1EE10FA02DD94EDA7 +:10674000100A01E094ED120A84ED100AD4ED100A4B +:10675000B0EE600A204600F05FFF7BE0D5ED0E0A48 +:10676000B0EE001A80EE810AD5ED010AB7EE001AEC +:1067700071EE600A20EE200AD4ED0B0AB4EEE00AB6 +:10678000F1EE10FA66DB1A480078012862D1002089 +:1067900017490870124800680F490968401A4FF4F9 +:1067A000FA71484300EE100AB8EEC00A95F840109E +:1067B00005F1200000EB810080ED000A4FF0FF3072 +:1067C000054908600649086095F84000401C85F8B6 +:1067D00040003FE0800100208401002050010020A3 +:1067E00088010020D00900207C01002000006144C5 +:1067F0008C01002093480068401C18B9924800683A +:106800009049086090480068904908600846006810 +:106810008C490968401A062810DD2046B1EE000AAE +:1068200000F0FAFE4FF0FF308649086087490860A3 +:1068300087480078401C864908700BE08348006850 +:1068400080490968401A05D54FF0FF307D4908603E +:106850007E490860F3E0002019E095ED070A05F194 +:10686000080101EB8001D1ED000A30EE200A85ED30 +:10687000070A95ED0D0A05F1200101EB8001D1ED2C +:10688000000A30EE200A85ED0D0A411CC8B2052829 +:10689000E3DBD5ED0E0AB0EE001A80EE810AD5EDED +:1068A000010AB7EE001A70EE810A20EE200AF1EE1E +:1068B000040A20EE200AD5ED070A80EE801A85ED45 +:1068C000071A95ED0D0AF1EE040A80EE201A85ED07 +:1068D0000D1A95ED070ADFED5F0A60EE200A9FEDC5 +:1068E0005E1A81EE200AF0EE080A80EE201A84ED8E +:1068F000171A95ED0D0AF6EE000A60EE200A9FEDDC +:10690000571A80EE810AF3EE040A80EE201A84ED15 +:10691000181A95ED0D0ADFED520A20EE200ADFED80 +:106920004F0A80EE201A84ED1D1A9FED4E0A84ED69 +:106930001A0A6078012802D0022826D112E094EDCC +:10694000170A494880ED000A94ED180A80ED010A03 +:1069500094ED1D0A80ED020A032201460020FFF794 +:1069600009F913E094ED170A3F4880ED000A94ED11 +:10697000180A80ED010A94ED1D0A80ED020A032237 +:1069800001460C20FFF7F6F800E000BF00BF3048DA +:106990000078401C2E49087051E02A480068401CCD +:1069A00018B929480068274908602748006827491E +:1069B00008600846006823490968401A0A282FDD44 +:1069C0006078012802D0022818D10BE09FED250A3B +:1069D000264880ED000A2648C07800F0BF00244910 +:1069E000C8700CE09FED1F0A224880ED000A204885 +:1069F000C07800F0DF001E49C87000E000BF00BF93 +:106A00004FF0FF300F4908601049086000F034F87B +:106A1000002020700E480078401C0D4908700BE0E3 +:106A20000A48006807490968401A05D54FF0FF3049 +:106A3000044908600549086001E000E070BD00BF3E +:106A400000BFFBE7840100205001002088010020E6 +:106A500080010020560E494090C2753E00007A44E5 +:106A60008FC2F53D00000000D0140020740100200A +:106A70007A0000207801002000202949087000BF1A +:106A800011E09FED280A2649083101EB800181EDD4 +:106A9000000A9FED240A2249203101EB800181ED9B +:106AA000000A411CC8B20528EBDB9FED1F0A1C48F9 +:106AB00080ED010A9FED1B0A80ED0E0A9FED190A79 +:106AC00080ED0F0A0020164981F840001749087030 +:106AD00000BF11E09FED130A1449083101EB80015A +:106AE00081ED000A9FED0F0A1049203101EB800172 +:106AF00081ED000A411CC8B20528EBDB9FED0A0AB4 +:106B00000A4880ED010A9FED070A80ED0E0A9FED0D +:106B1000050A80ED0F0A0020044981F84000704703 +:106B2000E8140020000000009A99193E5C1500202E +:106B300070B504460D468E48007805287ED2DFE801 +:106B400000F003347ECEF3008A480068401C40B950 +:106B500089480068874908602046B1EE000A00F0C5 +:106B60005BFD8548006885490860084600688149E2 +:106B70000968401A14280BDD4FF0FF307D4908608A +:106B80007E4908607A480078401C794908700BE01B +:106B90007A48006877490968401A05D54FF0FF30F8 +:106BA0007449086075490860E0E07548808C00EE23 +:106BB000100AB8EE400A7348D0ED000A30EE600AC1 +:106BC000F2EE040A80EE201A85ED0E1A95ED0E0AFB +:106BD0009FED6D1AC0EE010A94ED110A94ED121AA0 +:106BE00030EE411A94ED120A00EE810A85ED150A85 +:106BF00000201BE095ED150AD4ED120A70EE600A34 +:106C000000EE100AB8EE400A20EE800AF1EE000A0B +:106C100080EE201A94ED120A31EE000A05F14401CB +:106C200001EB800181ED000A411CC8B20428E1DBC0 +:106C30004F480078401C4E49087097E095E04D4859 +:106C40000068401C80B94C4800684A49086005F15A +:106C500044004E49097800EB8100D0ED000AB0EE07 +:106C6000600A204600F0D8FC4348006843490860A9 +:106C7000084600683F490968401A95F87010884234 +:106C800020DD94ED0B0A05F158004049097800EB2E +:106C9000810080ED000A4FF0FF3036490860374927 +:106CA00008603A480078401C384908700846007867 +:106CB000052813DB002008702D480078401C2C4963 +:106CC00008700BE02D4800682A490968401A05D56C +:106CD0004FF0FF30274908602849086046E0254802 +:106CE0000068401C18B924480068224908602248FE +:106CF000006822490860084600681E490968401A71 +:106D00000A2824DD6078012802D002280DD105E090 +:106D10009FED1F0A1F4880ED000A07E09FED1C0A47 +:106D20001D4880ED000A01E01EE000BF00BF4FF0EB +:106D3000FF30104908601149086000F031F8022066 +:106D4000207016480078401C144908700BE00B486E +:106D5000006808490968401A05D54FF0FF30054919 +:106D600008600649086001E000E000BF00BF70BD98 +:106D700081010020840100205001002088010020B2 +:106D8000D00900207C010020000061448D0100201A +:106D90000000000074010020780100208001002024 +:106DA00000201E490870B2EE020A084680ED1B0A58 +:106DB0000A2081F87000002019490870B2EE020A1A +:106DC000084680ED1B0A0A2081F87000002021E0AF +:106DD0009FED140A1149443101EB800181ED000A55 +:106DE0009FED100A0D49583101EB800181ED000A39 +:106DF0009FED0C0A0A49443101EB800181ED000A44 +:106E00009FED080A0649583101EB800181ED000A27 +:106E1000411CC8B20528DBDB70470000E8140020E5 +:106E20005C1500200000000010B50446D4ED130AE4 +:106E3000B0EE600AFDF76AFBD4ED150AB4EEE00A85 +:106E4000F1EE10FA7EDDD4ED130AB0EE600AFDF724 +:106E50005DFBF2EE040AB4EEE00AF1EE10FA71D234 +:106E6000D4ED130A60EEA00AB0EE600AFDF74EFB07 +:106E7000F2EE040A30EE200AF2EE040A80EE201A46 +:106E8000D54880ED001AD4ED130AB0EE600AFDF784 +:106E90003DFBF1EE040A30EE200AF2EE040A80EE29 +:106EA000201ACE4880ED001A94F8580010B101283D +:106EB0007ED16BE094ED1A0AD4ED130AC64890ED2A +:106EC000001A00EE810A84ED1A0A94ED1A0AD4ED34 +:106ED0001B0AB4EEE00AF1EE10FA02DD94ED1B0A93 +:106EE00001E094ED1A0A84ED1A0A94ED1A0AD4ED21 +:106EF0001C0AB4EEE00AF1EE10FA02D294ED1C0A7C +:106F000001E094ED1A0A84ED1A0AD4ED1E0A94EDFC +:106F1000181A80EE810AD4ED1A0A20EE200A84EDB8 +:106F2000190AD4ED1D0A94ED1E1A80EE810AD4EDE3 +:106F3000130A94ED141A70EEC10A20EE200A84EDB3 +:106F40001F0A00E0F9E094ED130AD4ED190A30EEBF +:106F5000200AD4ED1F0A30EE200AD4ED170A20EEE5 +:106F6000200A84ED200A94ED200A9FED9D1AC0EEC0 +:106F7000010A94ED110A94ED121A30EE411A94EDC3 +:106F8000120A00EE810A84ED100A6CE094ED1A0AF0 +:106F9000D4ED130A914890ED001A00EE810A84EDB9 +:106FA0001A0A94ED1A0AD4ED1B0AB4EEE00A00E0C6 +:106FB00058E0F1EE10FA02DD94ED1B0A01E094EDC9 +:106FC0001A0A84ED1A0A94ED1A0AD4ED1C0AB4EEDA +:106FD000E00AF1EE10FA02D294ED1C0A01E094ED01 +:106FE0001A0A84ED1A0AD4ED1E0A94ED181A80EEDE +:106FF000810AD4ED1A0A20EE200A84ED190AD4ED94 +:107000001D0A94ED1E1A80EE810AD4ED130A94ED48 +:10701000141A70EEC10A20EE200A84ED1F0A94EDC6 +:10702000130AD4ED190A30EE200AD4ED1F0A30EE0F +:10703000200AD4ED170A20EE200A84ED200A94EDF0 +:10704000200A9FED671AC0EE010A94ED110A94ED33 +:10705000121A30EE411A94ED120A00EE810A84ED04 +:10706000100A00E000BF00BF94ED100AD4ED210A21 +:10707000B4EEE00AF1EE10FA02D294ED100A01E04B +:1070800094ED210A84ED100A94ED100AD4ED220A41 +:10709000B4EEE00AF1EE10FA02DD94ED100A01E020 +:1070A00094ED220A84ED100A94ED130A84ED140A7B +:1070B000D4ED010A94ED0A1A70EEC10AB0EE600A2E +:1070C000FDF724FAF2EE040AB4EEE00AF1EE10FA4B +:1070D00002D8012084F88C0094ED0F0AD4ED110A37 +:1070E0009FED401A60EE810AB4EEE00AF1EE10FA6C +:1070F00002D294ED100A01E094ED110A84ED100A19 +:1071000094ED0F0AD4ED120A9FED371A60EE810A52 +:10711000B4EEE00AF1EE10FA07D894ED120A84ED0D +:10712000100A9FED320A84ED1A0AD4ED100AB0EE6F +:10713000600AD4F8900080474DE0D4ED130AB0EE19 +:10714000600AFDF7E3F9F2EE040AB4EEE00AF1EEAC +:1071500010FA40DB94F8580010B1012839D127E02B +:1071600094ED0E0A2248D0ED000A9FED1D1A01EEA3 +:10717000600A94ED171AC0EE010A94ED1E0AD4EDD0 +:10718000181A80EE211A80EE810A84ED1A0A94ED15 +:107190001A0AD4ED1C0AB4EEE00AF1EE10FA02D29B +:1071A00094ED1C0A01E094ED1A0A84ED1A0A11E02C +:1071B00094ED0E0A94ED171AC0EE010A94ED1E1A12 +:1071C000D4ED181A81EE210A80EE801A84ED1A1A85 +:1071D00000E000BF00BF10BD680100206C0100206E +:1071E0000000C84252B87E3FD7A3803F0000000095 +:1071F0006401002070B505460C46287820B10128AE +:107200000ED0022834D12AE02078012804D1FFF7DB +:1072100033FC0520184908702846FFF705FE28E0D2 +:1072200015480078052806D1FFF726FC01202070BC +:1072300000201149087021462846FFF7D3F80F486F +:107240000078042806D1FFF7ABFD01202070002054 +:107250000A49087021462846FFF76AFC09E02078B1 +:10726000012804D1FFF708FC05200349087000E05D +:1072700070BD00BF00BFFBE780010020810100203E +:1072800010B503229D490020FEF702FC00209C4916 +:10729000087001204870002009E09FED9A0A984983 +:1072A000091D01EB800181ED000A411CC8B20A28CA +:1072B000F3DB9FED940A924880ED0B0A9FED910A53 +:1072C00080ED0C0A9FED8F0A80ED0D0A9FED8D0A6F +:1072D00080ED0E0A9FED8B0A80ED0F0A9FED890A63 +:1072E00080ED100AB1EE000A80ED120AB3EE040A36 +:1072F00080ED110A9FED830A80ED130A9FED810A4C +:1073000080ED140AB6EE000A80ED150A7B4890ED78 +:10731000000A10EE101A0846FDF7D2F810B19FEDE2 +:10732000790A02E0754890ED000A754880ED170A69 +:10733000724890ED010AB5EEC00AF1EE10FA02D1E2 +:107340009FED710A02E06D4890ED010A6C4880EDF6 +:10735000180A9FED6C0A80ED190A9FED6C0A80ED0A +:107360001B0A9FED680A80ED1C0A9FED660A80EDFE +:107370001A0A624890ED020A614880ED1D0A9FEDED +:10738000640A80ED1E0A9FED5F0A80ED1F0A9FEDE3 +:107390005D0A80ED200A9FED5B0A80ED210A9FEDDA +:1073A000590A80ED220A0020554981F88C0059487D +:1073B000C1F890009FED530AD1F890008047032256 +:1073C0004E490C20FEF764FB002053490870022050 +:1073D0004870002009E09FED4B0A4F49091D01EB61 +:1073E000800181ED000A411CC8B20A28F3DB9FED41 +:1073F000450A494880ED0B0A9FED420A80ED0C0AD0 +:107400009FED400A80ED0D0A9FED3E0A80ED0E0AC9 +:107410009FED3C0A80ED0F0A9FED3A0A80ED100ABD +:10742000B1EE000A80ED120AB3EE040A80ED110AF3 +:107430009FED340A80ED130A9FED320A80ED140AA5 +:10744000B6EE000A80ED150A2C4890ED000A10EE09 +:10745000101A0846FDF734F810B19FED2A0A02E031 +:10746000264890ED000A2C4880ED170A234890ED3D +:10747000010AB5EEC00AF1EE10FA02D19FED220A20 +:1074800002E01E4890ED010A234880ED180A9FEDA6 +:107490001D0A80ED190A9FED1D0A80ED1B0A9FED64 +:1074A000190A80ED1C0A9FED170A80ED1A0A13488D +:1074B00090ED020A184880ED1D0A9FED150A80ED37 +:1074C0001E0A9FED100A80ED1F0A9FED0E0A80ED47 +:1074D000200A9FED0C0A80ED210A9FED0A0A80ED3B +:1074E000220A00200C4981F88C000C48C1F8900059 +:1074F0009FED040AD1F89000804710BDDC140020F5 +:10750000A8130020000000000024744900409C459E +:10751000CDCC4C3DA15200083C140020ED52000897 +:10752000F0EE400A9FED3B0AB0EE401A90ED110AD2 +:10753000B5EEC00AF1EE10FA02D1BFEE000A7047B4 +:10754000002161E000F1580202EB810292ED000A95 +:10755000B4EEE00AF1EE10FA49D800F158024B1CE3 +:1075600002EB830292ED000AB4EEE00AF1EE10FAAB +:107570003DDD00F1440202EB830292ED000A00F1CE +:10758000440202EB8102D2ED001A30EE610A00F1F2 +:10759000580202EB8102D2ED001A70EEE11A60EEA1 +:1075A000211A00F1580202EB830292ED000A30EE3C +:1075B000600A00F1580202EB810292ED002AB4EE5B +:1075C000C20AF1EE10FA01D2012200E0002200EE20 +:1075D000102AB8EEC00A81EE802A00F1440202EBC4 +:1075E000810292ED000A32EE000AB0EE401A90EDF0 +:1075F0001A0AB4EEE00AF1EE10FA03D890ED150A7B +:10760000B0EE401A4A1CD1B204299BDBB0EE410A0D +:1076100095E700000000000010B52DED028BB0EEE4 +:10762000408A044694ED110AB4EEC80AF1EE10FA4D +:1076300002DDB0EE480A01E094ED110AB0EE408A96 +:1076400094ED120AB4EEC80AF1EE10FA02D2B0EECE +:10765000480A01E094ED120AB0EE408A94ED110A56 +:10766000D4ED120A30EE600AD4ED120A78EE600A08 +:1076700080EE801A9FED3E0A21EE000A84ED0E0A8C +:1076800094ED0E0A9FED3A1AC0EE010A9FED390AF9 +:1076900020EE800A84ED0D0A6078012802D00228CD +:1076A0002AD114E03448B0EE480AFFF739FFB5EEAE +:1076B000C00AF1EE10FA05DD2F48B0EE480AFFF7D8 +:1076C0002FFF01E0B0EE480AB0EE408A15E02B48EB +:1076D000B0EE480AFFF724FFB5EEC00AF1EE10FA4B +:1076E00005DD2648B0EE480AFFF71AFF01E0B0EECC +:1076F000480AB0EE408A00E000BF00BF84ED0F8A68 +:1077000094ED0F0A1E48D0ED000AB7EE001A70EE95 +:10771000810A20EE200A84ED210A94ED0F0AD0EDB3 +:10772000000AB7EE001A71EE600A20EE200A84ED1E +:10773000220A94ED0F0AD4ED100AB4EEE00AF1EE3D +:1077400010FA01DA012000E0002084F8580094EDDE +:107750000F0A84ED100A002084F88C00D4ED100A82 +:10776000B0EE600AD4F890008047BDEC028B10BDEB +:107770000000C84200006144E81400205C150020AD +:10778000640100202DE9F04F9DB005460024002043 +:10779000199064216846F8F79BFE6878297840EADA +:1077A0000129E878A97840EA0126012E01DA282E7D +:1077B0007EDCB9F1370F7DDC06EB0900382879DC77 +:1077C000F01DC11700EB5171C1F3C7011C910122DB +:1077D0002046611CCCB20DF800202046611CCCB2C2 +:1077E0000DF800202046621CD4B21C990DF8001040 +:1077F0000027BB462DE000200DF8040082461AE069 +:1078000009EB070188B21BA9F9F794F91DF80400E8 +:107810009DF86C1001FA0AF10843C0B20DF804009B +:10782000781C87B2B74202DB0120199006E00AF10A +:10783000010000F0FF0ABAF1080FE1DB00BF601C95 +:10784000C4B21998012800D106E00BF1010000F044 +:10785000FF0B1C988345CEDB00BF21466846FCF732 +:1078600009F9804608F0FF022046611CCCB20DF8F1 +:1078700000204FEA28222046611CCCB20DF80020DF +:107880001248008AA04201DB204601E00F48008A2E +:107890000E4948824A8AC8686946F8F7A2FD0B4833 +:1078A000428AC1680A4800F0FDFA1DB0BDE8F08FB9 +:1078B00003E0FFE702201A9001E003201A90012064 +:1078C0001A99FEF7C1FC00BFEFE7000094130020F7 +:1078D000140400202DE9F04F9DB00546002400203F +:1078E00019906878297840EA0129E878A97840EA6F +:1078F0000126012E01DA312E7EDCB9F1300F7FDC5A +:1079000006EB090031287BDCF01DC11700EB51713B +:10791000C1F3C7011C9101222046611CCCB20DF8B5 +:10792000002002222046611CCCB20DF80020204627 +:10793000621CD4B21C990DF800100027BB462DE044 +:1079400000200DF8040082461AE009EB070188B216 +:107950001BA9F9F70BF91DF804009DF86C1001FA4A +:107960000AF10843C0B20DF80400781C87B2B74290 +:1079700002DB0120199006E00AF1010000F0FF0A85 +:10798000BAF1080FE1DB00BF601CC4B219980128EE +:1079900000D106E00BF1010000F0FF0B1C988345BD +:1079A000CEDB00BF21466846FCF764F8804608F04D +:1079B000FF022046611CCCB20DF800204FEA2822BD +:1079C0002046611CCCB20DF800201348008AA0426A +:1079D00001DB204601E01048008A0F4948824A8AAC +:1079E000C8686946F8F7FDFC0B48428AC1680B4835 +:1079F00000F058FA1DB001E005E001E0BDE8F08FAD +:107A000002201A9001E003201A9002201A99FEF732 +:107A10001BFC00BFEEE700009413002014040020BC +:107A20002DE9F04F99B00646002416B919B0BDE80B +:107A3000F08F7078317840EA0127F078B17840EA29 +:107A40000125012D65DB312D63DC302F5EDC7819DB +:107A500000285BDB7819312858DC01222046611CA4 +:107A6000CCB20DF8002003222046611CCCB20DF8E8 +:107A700000206806020E2046611CCCB20DF80020E2 +:107A80004FF0000817E007EB080188B2F9F73EF85D +:107A900081464FEA29222046611CCCB20DF8002015 +:107AA00009F0FF022046611CCCB20DF8002008F15D +:107AB00001001FFA80F8A845E5DB21466846FBF780 +:107AC000D9FF82460AF0FF022046611CCCB20DF8B5 +:107AD00000204FEA2A222046611CCCB20DF800207B +:107AE0001048008AA04201DB204601E00D48008AD0 +:107AF0000C4948824A8AC8686946F8F772FC094806 +:107B0000428AC168084800F0CDF98FE74FF0020BB8 +:107B100001E04FF0030B59460320FEF795FB00BF31 +:107B200084E7000094130020140400202DE9F04F96 +:107B300099B00546002415B919B0BDE8F08F6878F2 +:107B4000297840EA0127E878A97840EA0126012E41 +:107B500062DB312E60DC302F5BDCB819312858DC59 +:107B600001222046611CCCB20DF8002004222046E0 +:107B7000611CCCB20DF800207006020E2046611C7C +:107B8000CCB20DF800204FF0000817E007EB080119 +:107B900088B2F8F7C5FF81464FEA29222046611CCA +:107BA000CCB20DF8002009F0FF022046611CCCB2D7 +:107BB0000DF8002008F101001FFA80F8B045E5DB60 +:107BC00021466846FBF756FF82460AF0FF02204630 +:107BD000611CCCB20DF800204FEA2A222046611C1D +:107BE000CCB20DF800201048008AA04201DB2046EC +:107BF00001E00D48008A0C4948824A8AC8686946F3 +:107C0000F8F7EFFB0848428AC168084800F04AF9D3 +:107C100092E74FF0020B01E04FF0030B59460420AE +:107C2000FEF712FB00BF87E7941300201404002026 +:107C300010B5012211031448F9F7AEFD0122D1025B +:107C40001148F9F7A9FD0122D1031048F9F7A4FD65 +:107C500000224FF480410D48F9F79EFD012280215A +:107C60000A48F9F799FD012204210948F9F794FD22 +:107C7000012211460648F9F78FFD00221021054820 +:107C8000F9F78AFD10BD0000000C02400010024010 +:107C9000000402400008024068480068401C674930 +:107CA000086008460068042805DD01206449086072 +:107CB00000206249086063480068401C6149086010 +:107CC00008460068092805DD01205F49086000209A +:107CD0005C4908605D480068401C5C4908600846D3 +:107CE0000068182805DD012059490860002057491F +:107CF000086058480068401C5649086008460068FB +:107D0000312805DD012054490860002051490860F0 +:107D100052480068401C51490860084600686328C2 +:107D200005DD01204E49086000204C4908604D489F +:107D30000068401C4B49086008460068B0F5967F13 +:107D400005DB012048490860002046490860474893 +:107D50000068401C4549086008460068B0F5FA7F95 +:107D600005DB012042490860002040490860414885 +:107D70000068401C3F49086008460068B0F57A7FFB +:107D800005DB01203C49086000203A4908603B4877 +:107D90000068B0F5FA7F05DB012039490860002052 +:107DA0003649086035480068401C34490860354849 +:107DB0000068632805DD012033490860002031494F +:107DC000086030480068401C2E4908602F48006851 +:107DD000312805DD01202E49086000202B4908606C +:107DE0002A480068401C294908602A4800681D2864 +:107DF00005DD012028490860002026490860254843 +:107E00000068401C2349086024480068B0F5FA7FE8 +:107E10000EDB00202149086021480068B0F5E15FD1 +:107E200001DD002002E01E480068401C1C4908607B +:107E30001A480068401C194908607047F400002087 +:107E4000F0000020FC000020F800002004010020C9 +:107E5000000100200C010020080100201401002076 +:107E6000100100201C010020180100202401002026 +:107E7000200100202C0100202801002034010020D6 +:107E8000300100203C010020380100204401002086 +:107E9000400100204C010020480100205401002036 +:107EA0005001002070B504460D461646324629465C +:107EB0002046FBF79FFA70BD70B50446FDF710FB36 +:107EC0008020FBF72BFE2046FBF728FEFBF7F8FD92 +:107ED0000546FFF7ADFE284670BD70B505460C4659 +:107EE000FDF7FEFA0020FBF719FE2846FBF716FE09 +:107EF0002046FBF713FEFFF79BFE70BD2DE9F04F08 +:107F00009FB00446002500201B906078217840EA4D +:107F1000012AE078A17840EA012620791D90012EFF +:107F20007EDB282E7CDC1D98C000B0427FDBBAF1DE +:107F3000370F79DC0AEB0600382875DC0027A946E4 +:107F40002FE009F10500205C1C904FF0000B1CE0B5 +:107F5000012000FA0BF01C99084018B14FF47F4043 +:107F60001E9001E000201E900AEB070188B21E99C6 +:107F7000FCF71EFA781C87B2B74202DB01201B9087 +:107F800006E00BF1010000F0FF0BBBF1080FDFDB97 +:107F900000BF1B98012800D106E009F1010000F0A4 +:107FA000FF091D988145CCDB00BF01222846691CD2 +:107FB000CDB201A90A540F222846691CCDB201A9ED +:107FC0000A5401A8284421680160281DC5B2294629 +:107FD00001A8FBF74FFD80462846691CCDB201A9D8 +:107FE00001F800804FEA28222846691CCDB201A979 +:107FF0000A541348008AA84201DB284601E01048D1 +:10800000008A0F4948824A8AC86801A9F8F7E9F945 +:108010000B48428AC1680B48FFF744FF1FB001E0DC +:1080200005E001E0BDE8F08F02201A9001E0032096 +:108030001A900F201A99FEF707F900BFEEE700002B +:1080400094130020140400202DE9F04F9BB0044647 +:10805000002614B91BB0BDE8F08F6078217840EAA3 +:108060000128E078A17840EA012794F804B0012FB4 +:108070005FDB312F5DDCBBEB470F5AD1B8F1300F1E +:1080800054DC08EB0700312850DC002512E0062004 +:1080900000EB4500205C052101EB4501615C40EAF5 +:1080A00001201A9008EB050188B21A99FCF778F9BB +:1080B000681C85B2BD42EADB01223046711CCEB29B +:1080C00001A90A5410223046711CCEB201A90A54EB +:1080D00001A8304421680160301DC6B2314601A8B4 +:1080E000FBF7C8FC81463046711CCEB201A901F8ED +:1080F00000904FEA29223046711CCEB201A90A54E1 +:108100001048008AB04201DB304601E00D48008A89 +:108110000C4948824A8AC86801A9F8F762F90948F7 +:10812000428AC1680848FFF7BDFE93E74FF0020A94 +:1081300001E04FF0030A0AF0FF011020FEF784F877 +:1081400000BF87E794130020140400202DE9F047B6 +:108150009AB005468A4600246878297840EA0129C1 +:10816000E878A97840EA012717B1B7F57F4F43D1E6 +:10817000B9F1370F3DDC39464846FCF719F90122C1 +:108180002046611CCCB201A90A5405222046611C7C +:10819000CCB201A90A5401A8204429680160201D1D +:1081A000C4B2214601A8FBF765FC06462046611CC7 +:1081B000CCB201A90E5432122046611CCCB201A9E6 +:1081C0000A541148008AA04201DB204601E00E4813 +:1081D000008A0D4948824A8AC86801A9F8F701F95E +:1081E0000948428AC1680948FFF75CFE1AB0BDE839 +:1081F000F0874FF0020801E04FF0030841460520E8 +:10820000FEF722F800BFF1E79413002014040020C9 +:108210002DE9F0479AB005468A46002415B91AB0F0 +:10822000BDE8F0876878297840EA0127E878A978DE +:1082300040EA0128302F3BDC41463846FCF7B0F8D5 +:1082400001222046611CCCB201A90A540622204614 +:10825000611CCCB201A90A5401A82044296801601C +:10826000201DC4B2214601A8FBF704FC06462046A7 +:10827000611CCCB201A90E5432122046611CCCB252 +:1082800001A90A540E48008AA04201DB204601E001 +:108290000B48008A0A4948824A8AC86801A9F8F747 +:1082A000A0F80748428AC1680648FFF7FBFDB6E719 +:1082B0004FF0020949460620FDF7C6FF00BFAEE7B2 +:1082C000941300201404002010B591EA030F48BF56 +:1082D00083F0004300F1C483841A71EB030C05D2D0 +:1082E000121943EB0C03001B61EB0C01DFF824E1D6 +:1082F0004FEA1154A4EB135C1EEA430F18BF9EEA29 +:10830000445F73D023EA0E03DCF1200E21EA04510E +:1083100043F4801332D322FA0CFE10EB0E0023FA42 +:108320000CFE41EB0E01CCF1200E03FA0EFE10EB19 +:108330000E0051F10001B1F5801FCCF1200E32D2B8 +:1083400001EB045112FA0EF2BDE8104058BF70471D +:10835000401C38BF5FEA420218BF7047002814BFB4 +:1083600020F0010041F100014FEA410313F5001F25 +:1083700038BF7047A1F1C04100F064BB012A43EB54 +:108380000302ACF1200CDCF11F0E32BF4FF0000EE7 +:1083900023FA0CF310EB030041EB0451B4EB115F33 +:1083A000D0D0A1EB045101F5801149085FEA3000FB +:1083B00001EB04510ED350F1000038BF12FA0EFE4B +:1083C00008D1BDE81040C9E7401C38BF5FEA42024F +:1083D000CAD1C3E7BDE810404FEA410313F5001FBF +:1083E00038BF7047A1F1C04100F02CBB9EEA445F4A +:1083F00008D011EA5E0FBDE8104004BF01F0004153 +:1084000000207047BDE8104070B500F0CDFA00BF05 +:1084100064FBBE3E0000E0FF2DE9C04130B4DFF850 +:10842000A0C23CEA111418BF3CEA131400F0EC801F +:1084300081EA03051CEA111444EAD57418BF1CEA4A +:10844000131500F0C780A4EB05044FF0004545EA82 +:10845000C12145EAC32341EA505143EA525304F192 +:108460007F74994204F500344FEAC0204FEAC222DB +:1084700008BF904200F09C804FEA13650FF240164F +:10848000765D4FEA134506FB05F7C7F1807706FBDB +:1084900007F74FEAD737A7FB03687642C8F580385D +:1084A000A7FB06CE38BFA8F1010807FB08E64FF08E +:1084B000000EA6FB028CE6FB03CEDCF1000CCEF135 +:1084C000004E38BFAEF1010EA6FB0C584FF000076E +:1084D0004FF00005E6FB0E87A1FB08C6A0FB07CE08 +:1084E00016EB0E0645F10005E1FB076515F1E04EC0 +:1084F0007EBFA4F580345FEA46066D4116F1800721 +:1085000045F100054FEA17274FEA066647EA056777 +:10851000A6F1DE46B6F1805F4FEA15251FD9384631 +:1085200024F0010C05EBC471BCF1FE6F01EB0C11E2 +:1085300002D8F0BCBDE8008124425CBF01F5801E7A +:108540009EEAC47F02D4F0BCBDE80081244238D446 +:10855000F0BCA1F1C041BDE8004100F073BA4FEAA0 +:10856000D22242EA43524FEAD323A7FB02864FEAC4 +:10857000D02040EA415007FB03661EEA0E0F4FEA87 +:10858000D12105FB026658BFA6EB0056B6EB00569C +:108590004FEA520E4EEAC37E18EB0E0E56EB530E08 +:1085A000BDD518EB02085E417F1C55F10005B6E70A +:1085B0004FF480154FF000074FF000064FF0000811 +:1085C000ADE7F0BC4FF0000001F1C04101F0004107 +:1085D000BDE8008111EA0C1F0CEA131500D00CE075 +:1085E00013EA0C1F00F025804FF00000F0BC81EA78 +:1085F000030101F00041BDE80081F0BCBDE800418D +:1086000081EA030100F01EBAF0BCBDE8004170B57C +:1086100000F0CAF9097EFC3E00F007B881EA0301C8 +:108620004FF0000001F00041704781EA030100F0C3 +:1086300009BAF0BCBDE800414FF000002149704785 +:10864000FFFDFBF9F7F5F4F2F0EEEDEBE9E8E6E417 +:10865000E3E1E0DEDDDBDAD8D7D5D4D3D1D0CFCD9E +:10866000CCCBCAC8C7C6C5C4C2C1C0BFBEBDBCBBD7 +:10867000BAB9B8B7B6B5B4B3B2B1B0AFAEADACABD2 +:10868000AAA9A8A8A7A6A5A4A3A3A2A1A09F9F9EAC +:108690009D9C9C9B9A99999897979695959493935E +:1086A000929191908F8F8E8E8D8C8C8B8B8A8989F5 +:1086B0008888878786858584848383828281818078 +:1086C0000000FF070000F87F4FEA41034FEA5353D1 +:1086D000A3F58063D3F11E03C8BFD3F1210C0CDDD9 +:1086E0004FF0004242EAC12242EA505232FA03FC01 +:1086F0008CEAE17CACEBE1707047102BC4BF00202A +:10870000704703F5787CBCF1FF3F04D06FF0004266 +:1087100082EA2100704770B500F046F94992248042 +:1087200000207047F2E700004FEA1153A3F5806381 +:10873000D3F11E03A8BFD3F1200C08DB4FF0004299 +:1087400042EAC12252EA505232FA03F0704709421B +:108750000BD4102BC4BF0020704703F5787CBCF10C +:10876000FF3F05D04FF0FF3070474FF000007047DB +:1087700070B500F019F900BF4992248000207047BD +:10878000F0E710F0004248BF4042B0FA80F310FA20 +:1087900003F10AD0C3F11D0303F580634FEA415092 +:1087A00002EB035202EBD12170474FF000007047FB +:1087B0007FEAE17202D1101A62EB0101B1FA81F392 +:1087C0000B3B24D3994012D1B0FA80F310FA03F195 +:1087D00008BF7047C3F11D0303F5406303EBC223D9 +:1087E0004FEAD1224FEA415002EB03517047C3F1E7 +:1087F000200C20FA0CFC9840C3F1320303F54063CF +:1088000003EBC22341EA0C0101EB0351704710B5A1 +:10881000C3F1320CC3F10004C4F1200E0CF5406C1E +:108820000CEBC22201FA0EFC21FA04F100FA0EF35D +:10883000E040BDE8104040EA0C0001EB025138BFB7 +:108840007047401C41F100015B0008BF20F00100AF +:1088500070470000DFF848C170B51CEA111E1EBF4A +:108860001CEA13159EEA0C0F95EA0C0F00F06F80BE +:1088700081EA030423EA4C134EEAD47E21EA4C1128 +:1088800041F4801143F48013AE44A1FB024CA0FBE1 +:108890000365AEF17F7E361955EB0C05A1FB034C49 +:1088A0004CF10003A0FB021C16EB0C06654153F1D2 +:1088B0000003094218BF46F0010613F4007F0BD1F4 +:1088C0004FEA03314FEA0530340341EA155140EADB +:1088D00016506FF003020AE04FEAC3214FEAC520A9 +:1088E000F40241EA555140EA56506FF0020202EBA1 +:1088F0002E4201EB025585EACE710AD05FEA440CA4 +:1089000018BF24F0004450F1000041F1000120EABA +:10891000D47040F2FE7C624500D270BDA84214BF04 +:108920004FF080444FF04044002E08BF0024BEF1B9 +:10893000806FA8BFA1F1C041BDE8704080F2828085 +:108940004FF0000001F1C04101F0004170479EEA84 +:108950000C0F0CEA131518BF95EA0C0F06D04FF058 +:10896000000081EA030E0EF0004170BD00F01CF81B +:108970008900013E00F007B800F009B84FEA430C47 +:108980005FEA5C5C08D081EA030100F05BB84FEA63 +:10899000410C5FEA5C5CF6D14FF000000149704782 +:1089A0000000FF070000F87F0EF1020E2EF0030E0C +:1089B0005EF8046B364205D4012A43EB030515F536 +:1089C000001F12D8012841EB010C1CF5001F0CD828 +:1089D0000ED14FEAD17C15F5001F0CEB4C0C0CF1BD +:1089E000020C08BF4CEBD37C04E04FF0080C01E014 +:1089F0004FEAD37C0CEB4C0526FA05F606F0070689 +:108A0000B6F1040C06D20EEB860CBDE870404CF0BB +:108A1000010C6047DFE80CF0090B02024FF0004147 +:108A20004FF00000A1F5002170BD19461046012845 +:108A300051EB010418BFD4F5001484BF002001F0ED +:108A4000004170BD0808A0F500114FEA31017047E0 +:108A500010B591EA030F48BF83F000433FF53CACEB +:108A6000841A71EB030C07D212198CF0004C43EB03 +:108A70000C03001B61EB0C01DFF8A4E14FEA115479 +:108A8000A4EB135C1EEA430F18BF9EEA445F00F09C +:108A9000B08023EA6E03524221EA0451C3EB6E0315 +:108AA00038BF5B1EDCF1200E25D322FA0CFE10EB42 +:108AB0000E0043FA0CFE41EB0E01CCF1200E03FA3E +:108AC0000EFE10EB0E0051F10001CCF1200E29D466 +:108AD00012FA0EF201EB0451BDE8104058BF704786 +:108AE000401C1CBFB2F1004F704700280CBF491C4E +:108AF00020F00100704712EB020E43EB030218BF97 +:108B00004FF0010E4EEA4202ACF1200CDCF11E0ED9 +:108B100054D943FA0CFE10EB0E0051F1FF31CCF1A9 +:108B20001E0ED5D50EF1010E12FA0EFE404141EB9C +:108B3000010101EB445C5FEA5C5C10D910EBDE7074 +:108B400001EB045138BFBEF1004FBDE8104018BF23 +:108B5000704700280CBF491C20F00100704730D23C +:108B60004FEAD42C11F5001124F400641BD0B1FAA3 +:108B700081F20B3AA41AA41ED2F12003914030FADC +:108B800003F31943904001EBCC71002C01EB04512D +:108B9000BDE81040A8BF704701F1C0414FF0000090 +:108BA00001F000417047B0FA80F310FA03F100D1F0 +:108BB00010BDE41A173C4805C90AE4E701EB04516B +:108BC00010BD491001EB0451BDE810404FEA3000E0 +:108BD00002E04FF0000170474A0008BF0042F8D0A1 +:108BE000B2F5001F28BF704701F000414FF00000B0 +:108BF00070479EEA445F07D011EA5E0FBDE810405F +:108C000004BF002100207047BDE8104070B5FFF799 +:108C1000CBFE00BF40DFF63E83F0004110467047B8 +:108C20000000E0FF4FF04070E1EE100A70470006D0 +:108C300010160006101600000000000000000102DF +:108C400003040607080900000000010203040000F5 +:108C5000708C000800000020A0010000C401000882 +:108C6000908C0008A0010020901A0000200200084B +:108C70004132104201034D24F43954012B02D764D0 +:108C80000518CDCC4C3D2305045AFF010110329844 :040000050800018965 :00000001FF diff --git a/MDK-ARM/VOQC/VOQC.htm b/MDK-ARM/VOQC/VOQC.htm index ff5f422..f34c1c3 100644 --- a/MDK-ARM/VOQC/VOQC.htm +++ b/MDK-ARM/VOQC/VOQC.htm @@ -3,7 +3,7 @@ Static Call Graph - [VOQC\VOQC.axf]

Static Call Graph for image VOQC\VOQC.axf


-

#<CALLGRAPH># ARM Linker, 5060960: Last Updated: Wed Sep 11 14:13:02 2024 +

#<CALLGRAPH># ARM Linker, 5060960: Last Updated: Thu Sep 12 09:44:17 2024

Maximum Stack Usage = 452 bytes + Unknown(Functions without stacksize, Cycles, Untraceable Function Pointers)

Call chain for Maximum Stack Depth:

@@ -144,15 +144,15 @@ Global Symbols

[Calls]
  • >>   __rt_entry
-

__scatterload_rt2_thumb_only (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED) +

__scatterload_rt2_thumb_only (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED) -

__scatterload_null (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED) +

__scatterload_null (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED) -

__decompress (Thumb, 90 bytes, Stack size unknown bytes, __dczerorl2.o(!!dczerorl2), UNUSED) +

__decompress (Thumb, 90 bytes, Stack size unknown bytes, __dczerorl2.o(!!dczerorl2), UNUSED) -

__decompress1 (Thumb, 0 bytes, Stack size unknown bytes, __dczerorl2.o(!!dczerorl2), UNUSED) +

__decompress1 (Thumb, 0 bytes, Stack size unknown bytes, __dczerorl2.o(!!dczerorl2), UNUSED) -

__scatterload_zeroinit (Thumb, 28 bytes, Stack size unknown bytes, __scatter_zi.o(!!handler_zi), UNUSED) +

__scatterload_zeroinit (Thumb, 28 bytes, Stack size unknown bytes, __scatter_zi.o(!!handler_zi), UNUSED)

__rt_lib_init (Thumb, 0 bytes, Stack size unknown bytes, libinit.o(.ARM.Collect$$libinit$$00000000))

[Called By]

  • >>   __rt_entry_li @@ -162,72 +162,72 @@ Global Symbols

    [Calls]
    • >>   _fp_init
    -

    __rt_lib_init_alloca_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000002E)) +

    __rt_lib_init_alloca_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000002E)) -

    __rt_lib_init_argv_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000002C)) +

    __rt_lib_init_argv_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000002C)) -

    __rt_lib_init_atexit_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001B)) +

    __rt_lib_init_atexit_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001B)) -

    __rt_lib_init_clock_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000021)) +

    __rt_lib_init_clock_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000021)) -

    __rt_lib_init_cpp_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000032)) +

    __rt_lib_init_cpp_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000032)) -

    __rt_lib_init_exceptions_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000030)) +

    __rt_lib_init_exceptions_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000030)) -

    __rt_lib_init_fp_trap_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001F)) +

    __rt_lib_init_fp_trap_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001F)) -

    __rt_lib_init_getenv_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000023)) +

    __rt_lib_init_getenv_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000023)) -

    __rt_lib_init_heap_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000A)) +

    __rt_lib_init_heap_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000A)) -

    __rt_lib_init_lc_collate_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000011)) +

    __rt_lib_init_lc_collate_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000011)) -

    __rt_lib_init_lc_ctype_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000013)) +

    __rt_lib_init_lc_ctype_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000013)) -

    __rt_lib_init_lc_monetary_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000015)) +

    __rt_lib_init_lc_monetary_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000015)) -

    __rt_lib_init_lc_numeric_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000017)) +

    __rt_lib_init_lc_numeric_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000017)) -

    __rt_lib_init_lc_time_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000019)) +

    __rt_lib_init_lc_time_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000019)) -

    __rt_lib_init_preinit_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000004)) +

    __rt_lib_init_preinit_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000004)) -

    __rt_lib_init_rand_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000E)) +

    __rt_lib_init_rand_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000E)) -

    __rt_lib_init_return (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000033)) +

    __rt_lib_init_return (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000033)) -

    __rt_lib_init_signal_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001D)) +

    __rt_lib_init_signal_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001D)) -

    __rt_lib_init_stdio_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000025)) +

    __rt_lib_init_stdio_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000025)) -

    __rt_lib_init_user_alloc_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000C)) +

    __rt_lib_init_user_alloc_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000C))

    __rt_lib_shutdown (Thumb, 0 bytes, Stack size unknown bytes, libshutdown.o(.ARM.Collect$$libshutdown$$00000000))

    [Called By]

    • >>   __rt_exit_ls
    -

    __rt_lib_shutdown_cpp_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000004)) +

    __rt_lib_shutdown_cpp_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000004)) -

    __rt_lib_shutdown_fini_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000002)) +

    __rt_lib_shutdown_fini_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000002)) -

    __rt_lib_shutdown_fp_trap_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000009)) +

    __rt_lib_shutdown_fp_trap_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000009)) -

    __rt_lib_shutdown_heap_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000011)) +

    __rt_lib_shutdown_heap_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000011)) -

    __rt_lib_shutdown_return (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000012)) +

    __rt_lib_shutdown_return (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000012)) -

    __rt_lib_shutdown_signal_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000C)) +

    __rt_lib_shutdown_signal_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000C)) -

    __rt_lib_shutdown_stdio_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000006)) +

    __rt_lib_shutdown_stdio_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000006)) -

    __rt_lib_shutdown_user_alloc_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000E)) +

    __rt_lib_shutdown_user_alloc_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000E))

    __rt_entry (Thumb, 0 bytes, Stack size unknown bytes, __rtentry.o(.ARM.Collect$$rtentry$$00000000))

    [Called By]

    • >>   __main
    • >>   __scatterload_rt2
    -

    __rt_entry_presh_1 (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$00000002)) +

    __rt_entry_presh_1 (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$00000002))

    __rt_entry_sh (Thumb, 0 bytes, Stack size unknown bytes, __rtentry4.o(.ARM.Collect$$rtentry$$00000004))

    [Stack]

    • Max Depth = 8 + Unknown Stack Size @@ -240,7 +240,7 @@ Global Symbols

      [Calls]
      • >>   __rt_lib_init
      -

      __rt_entry_postsh_1 (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$00000009)) +

      __rt_entry_postsh_1 (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$00000009))

      __rt_entry_main (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$0000000D))

      [Stack]

      • Max Depth = 176 + Unknown Stack Size @@ -250,7 +250,7 @@ Global Symbols
      • >>   exit
      -

      __rt_entry_postli_1 (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$0000000C)) +

      __rt_entry_postli_1 (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$0000000C))

      __rt_exit (Thumb, 0 bytes, Stack size unknown bytes, rtexit.o(.ARM.Collect$$rtexit$$00000000))

      [Called By]

      • >>   exit @@ -260,7 +260,7 @@ Global Symbols

        [Calls]
        • >>   __rt_lib_shutdown
        -

        __rt_exit_prels_1 (Thumb, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000002)) +

        __rt_exit_prels_1 (Thumb, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000002))

        __rt_exit_exit (Thumb, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000004))

        [Calls]

        • >>   _sys_exit @@ -478,11 +478,11 @@ Global Symbols

          [Called By]
          • >>   __user_setup_stackheap
          -

          __I$use$semihosting (Thumb, 0 bytes, Stack size 0 bytes, use_no_semi.o(.text), UNUSED) +

          __I$use$semihosting (Thumb, 0 bytes, Stack size 0 bytes, use_no_semi.o(.text), UNUSED) -

          __use_no_semihosting_swi (Thumb, 2 bytes, Stack size 0 bytes, use_no_semi.o(.text), UNUSED) +

          __use_no_semihosting_swi (Thumb, 2 bytes, Stack size 0 bytes, use_no_semi.o(.text), UNUSED) -

          __use_no_semihosting (Thumb, 2 bytes, Stack size 0 bytes, use_no_semi_2.o(.text), UNUSED) +

          __use_no_semihosting (Thumb, 2 bytes, Stack size 0 bytes, use_no_semi_2.o(.text), UNUSED)

          __aeabi_uldivmod (Thumb, 0 bytes, Stack size 48 bytes, lludivv7m.o(.text))

          [Stack]

          • Max Depth = 48
          • Call Chain = __aeabi_uldivmod @@ -492,7 +492,7 @@ Global Symbols
          • >>   _ll_sdiv
          -

          _ll_udiv (Thumb, 238 bytes, Stack size 48 bytes, lludivv7m.o(.text), UNUSED) +

          _ll_udiv (Thumb, 238 bytes, Stack size 48 bytes, lludivv7m.o(.text), UNUSED)

          __aeabi_ldivmod (Thumb, 0 bytes, Stack size 8 bytes, llsdiv.o(.text))

          [Stack]

          • Max Depth = 8
          • Call Chain = __aeabi_ldivmod @@ -504,33 +504,33 @@ Global Symbols

            [Calls]
            • >>   __aeabi_uldivmod
            -

            __aeabi_memcpy (Thumb, 0 bytes, Stack size 0 bytes, rt_memcpy_v6.o(.text)) -

            [Called By]

            • >>   writesinglereg_rtu -
            • >>   writesinglecoil_rtu -
            • >>   writemultireg_rtu -
            • >>   writemulticoil_rtu -
            • >>   readinputreg_rtu -
            • >>   readholdreg_rtu -
            • >>   readdisinputstate_rtu -
            • >>   readcoilstate_rtu -
            • >>   modbus_errfunction_rtu +

              __aeabi_memcpy (Thumb, 0 bytes, Stack size 0 bytes, rt_memcpy_v6.o(.text)) +

              [Called By]

              • >>   writesinglereg_rtu +
              • >>   writesinglecoil_rtu +
              • >>   writemultireg_rtu +
              • >>   writemulticoil_rtu +
              • >>   readinputreg_rtu +
              • >>   readholdreg_rtu +
              • >>   readdisinputstate_rtu +
              • >>   readcoilstate_rtu +
              • >>   modbus_errfunction_rtu

              __rt_memcpy (Thumb, 138 bytes, Stack size 0 bytes, rt_memcpy_v6.o(.text), UNUSED)

              [Calls]

              • >>   __aeabi_memcpy4
              -

              _memcpy_lastbytes (Thumb, 0 bytes, Stack size unknown bytes, rt_memcpy_v6.o(.text), UNUSED) +

              _memcpy_lastbytes (Thumb, 0 bytes, Stack size unknown bytes, rt_memcpy_v6.o(.text), UNUSED)

              __aeabi_memcpy4 (Thumb, 0 bytes, Stack size 8 bytes, rt_memcpy_w.o(.text), UNUSED)

              [Called By]

              • >>   __rt_memcpy
              -

              __aeabi_memcpy8 (Thumb, 0 bytes, Stack size 8 bytes, rt_memcpy_w.o(.text), UNUSED) +

              __aeabi_memcpy8 (Thumb, 0 bytes, Stack size 8 bytes, rt_memcpy_w.o(.text), UNUSED) -

              __rt_memcpy_w (Thumb, 100 bytes, Stack size 8 bytes, rt_memcpy_w.o(.text), UNUSED) +

              __rt_memcpy_w (Thumb, 100 bytes, Stack size 8 bytes, rt_memcpy_w.o(.text), UNUSED) -

              _memcpy_lastbytes_aligned (Thumb, 0 bytes, Stack size unknown bytes, rt_memcpy_w.o(.text), UNUSED) +

              _memcpy_lastbytes_aligned (Thumb, 0 bytes, Stack size unknown bytes, rt_memcpy_w.o(.text), UNUSED)

              __aeabi_memclr4 (Thumb, 0 bytes, Stack size 4 bytes, rt_memclr_w.o(.text))

              [Stack]

              • Max Depth = 4
              • Call Chain = __aeabi_memclr4 @@ -543,28 +543,28 @@ Global Symbols
              • >>   MX_TIM1_Init
              • >>   MX_GPIO_Init
              • >>   SystemClock_Config -
              • >>   readcoilstate_rtu +
              • >>   readcoilstate_rtu
              -

              __aeabi_memclr8 (Thumb, 0 bytes, Stack size 4 bytes, rt_memclr_w.o(.text), UNUSED) +

              __aeabi_memclr8 (Thumb, 0 bytes, Stack size 4 bytes, rt_memclr_w.o(.text), UNUSED) -

              __rt_memclr_w (Thumb, 78 bytes, Stack size 4 bytes, rt_memclr_w.o(.text), UNUSED) +

              __rt_memclr_w (Thumb, 78 bytes, Stack size 4 bytes, rt_memclr_w.o(.text), UNUSED) -

              _memset_w (Thumb, 0 bytes, Stack size unknown bytes, rt_memclr_w.o(.text), UNUSED) +

              _memset_w (Thumb, 0 bytes, Stack size unknown bytes, rt_memclr_w.o(.text), UNUSED) -

              __use_two_region_memory (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED) +

              __use_two_region_memory (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED) -

              __rt_heap_escrow$2region (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED) +

              __rt_heap_escrow$2region (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED) -

              __rt_heap_expand$2region (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED) +

              __rt_heap_expand$2region (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED) -

              __user_libspace (Thumb, 8 bytes, Stack size 0 bytes, libspace.o(.text), UNUSED) +

              __user_libspace (Thumb, 8 bytes, Stack size 0 bytes, libspace.o(.text), UNUSED)

              __user_perproc_libspace (Thumb, 0 bytes, Stack size 0 bytes, libspace.o(.text))

              [Called By]

              • >>   __user_setup_stackheap
              -

              __user_perthread_libspace (Thumb, 0 bytes, Stack size 0 bytes, libspace.o(.text), UNUSED) +

              __user_perthread_libspace (Thumb, 0 bytes, Stack size 0 bytes, libspace.o(.text), UNUSED)

              __user_setup_stackheap (Thumb, 74 bytes, Stack size 8 bytes, sys_stackheap_outer.o(.text))

              [Stack]

              • Max Depth = 8 + Unknown Stack Size @@ -683,24 +683,24 @@ Global Symbols
              • >>   SystemClock_Config
              -

              GetHoldRegData (Thumb, 16 bytes, Stack size 0 bytes, modbus.o(i.GetHoldRegData)) -

              [Called By]

              • >>   readholdreg_rtu +

                GetHoldRegData (Thumb, 16 bytes, Stack size 0 bytes, modbus.o(i.GetHoldRegData)) +

                [Called By]

                • >>   readholdreg_rtu
                -

                GetInputRegData (Thumb, 16 bytes, Stack size 0 bytes, modbus.o(i.GetInputRegData)) -

                [Called By]

                • >>   readinputreg_rtu +

                  GetInputRegData (Thumb, 16 bytes, Stack size 0 bytes, modbus.o(i.GetInputRegData)) +

                  [Called By]

                  • >>   readinputreg_rtu
                  -

                  GetOneCoilVal (Thumb, 50 bytes, Stack size 12 bytes, modbus.o(i.GetOneCoilVal)) +

                  GetOneCoilVal (Thumb, 50 bytes, Stack size 12 bytes, modbus.o(i.GetOneCoilVal))

                  [Stack]

                  • Max Depth = 12
                  • Call Chain = GetOneCoilVal
                  -
                  [Called By]
                  • >>   readcoilstate_rtu +
                    [Called By]
                    • >>   readcoilstate_rtu
                    -

                    GetOneDisInputVal (Thumb, 50 bytes, Stack size 12 bytes, modbus.o(i.GetOneDisInputVal)) +

                    GetOneDisInputVal (Thumb, 50 bytes, Stack size 12 bytes, modbus.o(i.GetOneDisInputVal))

                    [Stack]

                    • Max Depth = 12
                    • Call Chain = GetOneDisInputVal
                    -
                    [Called By]
                    • >>   readdisinputstate_rtu +
                      [Called By]
                      • >>   readdisinputstate_rtu

                      GetSensorData (Thumb, 92 bytes, Stack size 8 bytes, mf5803.o(i.GetSensorData)) @@ -884,7 +884,7 @@ Global Symbols

                    • >>   ds18b20_write_byte
                    • >>   ds18b20_rst
                    • >>   ds18b20_read_bit -
                    • >>   setcs +
                    • >>   setcs
                    • >>   clrcs
                    @@ -1254,7 +1254,7 @@ Global Symbols

                  [Calls]
                  • >>   HAL_DMA_Start_IT
                  -
                  [Called By]
                  • >>   uart_send +
                    [Called By]
                    • >>   uart_send

                    HAL_UART_TxCpltCallback (Thumb, 2 bytes, Stack size 0 bytes, stm32f4xx_hal_uart.o(i.HAL_UART_TxCpltCallback)) @@ -1397,19 +1397,19 @@ Global Symbols

                    MemManage_Handler (Thumb, 4 bytes, Stack size 0 bytes, stm32f4xx_it.o(i.MemManage_Handler))
                    [Address Reference Count : 1]

                    • startup_stm32f407xx.o(RESET)
                    -

                    ModbusCRC16 (Thumb, 70 bytes, Stack size 12 bytes, modbus.o(i.ModbusCRC16)) +

                    ModbusCRC16 (Thumb, 70 bytes, Stack size 12 bytes, modbus.o(i.ModbusCRC16))

                    [Stack]

                    • Max Depth = 12
                    • Call Chain = ModbusCRC16
                    -
                    [Called By]
                    • >>   writesinglereg_rtu -
                    • >>   writesinglecoil_rtu -
                    • >>   writemultireg_rtu -
                    • >>   writemulticoil_rtu -
                    • >>   readinputreg_rtu -
                    • >>   readholdreg_rtu -
                    • >>   readdisinputstate_rtu -
                    • >>   readcoilstate_rtu +
                      [Called By]
                      • >>   writesinglereg_rtu +
                      • >>   writesinglecoil_rtu +
                      • >>   writemultireg_rtu +
                      • >>   writemulticoil_rtu +
                      • >>   readinputreg_rtu +
                      • >>   readholdreg_rtu +
                      • >>   readdisinputstate_rtu +
                      • >>   readcoilstate_rtu
                      • >>   modbus_process_rtu -
                      • >>   modbus_errfunction_rtu +
                      • >>   modbus_errfunction_rtu

                      NMI_Handler (Thumb, 4 bytes, Stack size 0 bytes, stm32f4xx_it.o(i.NMI_Handler)) @@ -1534,16 +1534,16 @@ Global Symbols

                      UsageFault_Handler (Thumb, 4 bytes, Stack size 0 bytes, stm32f4xx_it.o(i.UsageFault_Handler))
                      [Address Reference Count : 1]

                      • startup_stm32f407xx.o(RESET)
                      -

                      WriteHoldRegData (Thumb, 10 bytes, Stack size 0 bytes, modbus.o(i.WriteHoldRegData)) -

                      [Called By]

                      • >>   writesinglereg_rtu -
                      • >>   writemultireg_rtu +

                        WriteHoldRegData (Thumb, 10 bytes, Stack size 0 bytes, modbus.o(i.WriteHoldRegData)) +

                        [Called By]

                        • >>   writesinglereg_rtu +
                        • >>   writemultireg_rtu
                        -

                        WriteOneCoilData (Thumb, 114 bytes, Stack size 16 bytes, modbus.o(i.WriteOneCoilData)) +

                        WriteOneCoilData (Thumb, 114 bytes, Stack size 16 bytes, modbus.o(i.WriteOneCoilData))

                        [Stack]

                        • Max Depth = 16
                        • Call Chain = WriteOneCoilData
                        -
                        [Called By]
                        • >>   writesinglecoil_rtu -
                        • >>   writemulticoil_rtu +
                          [Called By]
                          • >>   writesinglecoil_rtu +
                          • >>   writemulticoil_rtu

                          _74hc165_init (Thumb, 24 bytes, Stack size 8 bytes, hc165.o(i._74hc165_init)) @@ -1568,8 +1568,8 @@ Global Symbols

                          [Called By]

                          • >>   __rt_exit_exit
                          -

                          abs_bias (Thumb, 26 bytes, Stack size 0 bytes, provalctrl.o(i.abs_bias)) -

                          [Called By]

                          • >>   prov_calibrate_pid +

                            abs_bias (Thumb, 26 bytes, Stack size 0 bytes, provalctrl.o(i.abs_bias)) +

                            [Called By]

                            • >>   prov_calibrate_pid

                            adcs_data (Thumb, 10 bytes, Stack size 0 bytes, adcs.o(i.adcs_data)) @@ -1963,7 +1963,7 @@ Global Symbols


                          [Calls]
                          • >>   ee_writebytes
                          -
                          [Called By]
                          • >>   prov_adj +
                            [Called By]
                            • >>   prov_adj

                            encoder_init (Thumb, 62 bytes, Stack size 8 bytes, encoder.o(i.encoder_init)) @@ -1976,7 +1976,7 @@ Global Symbols

                          • >>   main
                          -

                          encoder_run (Thumb, 116 bytes, Stack size 0 bytes, encoder.o(i.encoder_run)) +

                          encoder_run (Thumb, 116 bytes, Stack size 0 bytes, encoder.o(i.encoder_run))

                          [Called By]

                          • >>   main
                          @@ -2057,14 +2057,15 @@ Global Symbols
                          [Called By]
                          • >>   digital_ctrl
                          -

                          main (Thumb, 134 bytes, Stack size 0 bytes, main.o(i.main)) +

                          main (Thumb, 138 bytes, Stack size 0 bytes, main.o(i.main))

                          [Stack]

                          • Max Depth = 176
                          • Call Chain = main ⇒ SystemClock_Config ⇒ HAL_RCC_ClockConfig ⇒ HAL_RCC_GetSysClockFreq ⇒ __aeabi_uldivmod

                          [Calls]
                          • >>   prov_init +
                          • >>   prov_adj_section_init
                          • >>   prov_adj_init
                          • >>   modbus_rtu_init
                          • >>   mf5803_setup -
                          • >>   encoder_run +
                          • >>   encoder_run
                          • >>   encoder_init
                          • >>   ee_io_init
                          • >>   ds18b20_init @@ -2111,50 +2112,50 @@ Global Symbols
                            [Calls]
                            • >>   HAL_GPIO_WritePin
                            • >>   delay_ms
                            • >>   wf5803_WriteReg -
                            • >>   setcs +
                            • >>   setcs

                            [Called By]
                            • >>   main
                            -

                            modbus_analysis_rtu (Thumb, 180 bytes, Stack size 24 bytes, modbus_rtu.o(i.modbus_analysis_rtu)) +

                            modbus_analysis_rtu (Thumb, 180 bytes, Stack size 24 bytes, modbus_rtu.o(i.modbus_analysis_rtu))

                            [Stack]

                            • Max Depth = 396
                            • Call Chain = modbus_analysis_rtu ⇒ writemulticoil_rtu ⇒ modbus_errfunction_rtu ⇒ uart_send ⇒ HAL_UART_Transmit_DMA ⇒ HAL_DMA_Start_IT ⇒ DMA_SetConfig
                            -
                            [Calls]
                            • >>   writesinglereg_rtu -
                            • >>   writesinglecoil_rtu -
                            • >>   writemultireg_rtu -
                            • >>   writemulticoil_rtu -
                            • >>   readinputreg_rtu -
                            • >>   readholdreg_rtu -
                            • >>   readdisinputstate_rtu -
                            • >>   readcoilstate_rtu -
                            • >>   modbus_errfunction_rtu +
                              [Calls]
                              • >>   writesinglereg_rtu +
                              • >>   writesinglecoil_rtu +
                              • >>   writemultireg_rtu +
                              • >>   writemulticoil_rtu +
                              • >>   readinputreg_rtu +
                              • >>   readholdreg_rtu +
                              • >>   readdisinputstate_rtu +
                              • >>   readcoilstate_rtu +
                              • >>   modbus_errfunction_rtu

                              [Called By]
                              • >>   modbus_process_rtu
                              -

                              modbus_errfunction_rtu (Thumb, 118 bytes, Stack size 120 bytes, modbus_rtu.o(i.modbus_errfunction_rtu)) +

                              modbus_errfunction_rtu (Thumb, 118 bytes, Stack size 120 bytes, modbus_rtu.o(i.modbus_errfunction_rtu))

                              [Stack]

                              • Max Depth = 212
                              • Call Chain = modbus_errfunction_rtu ⇒ uart_send ⇒ HAL_UART_Transmit_DMA ⇒ HAL_DMA_Start_IT ⇒ DMA_SetConfig
                              -
                              [Calls]
                              • >>   uart_send -
                              • >>   ModbusCRC16 -
                              • >>   __aeabi_memcpy +
                                [Calls]
                                • >>   uart_send +
                                • >>   ModbusCRC16 +
                                • >>   __aeabi_memcpy
                                -
                                [Called By]
                                • >>   writesinglereg_rtu -
                                • >>   writesinglecoil_rtu -
                                • >>   writemultireg_rtu -
                                • >>   writemulticoil_rtu -
                                • >>   readinputreg_rtu -
                                • >>   readholdreg_rtu -
                                • >>   readdisinputstate_rtu -
                                • >>   readcoilstate_rtu -
                                • >>   modbus_analysis_rtu +
                                  [Called By]
                                  • >>   writesinglereg_rtu +
                                  • >>   writesinglecoil_rtu +
                                  • >>   writemultireg_rtu +
                                  • >>   writemulticoil_rtu +
                                  • >>   readinputreg_rtu +
                                  • >>   readholdreg_rtu +
                                  • >>   readdisinputstate_rtu +
                                  • >>   readcoilstate_rtu +
                                  • >>   modbus_analysis_rtu

                                  modbus_process_rtu (Thumb, 64 bytes, Stack size 24 bytes, modbus_rtu.o(i.modbus_process_rtu))

                                  [Stack]

                                  • Max Depth = 420
                                  • Call Chain = modbus_process_rtu ⇒ modbus_analysis_rtu ⇒ writemulticoil_rtu ⇒ modbus_errfunction_rtu ⇒ uart_send ⇒ HAL_UART_Transmit_DMA ⇒ HAL_DMA_Start_IT ⇒ DMA_SetConfig
                                  -
                                  [Calls]
                                  • >>   modbus_analysis_rtu -
                                  • >>   ModbusCRC16 +
                                    [Calls]
                                    • >>   modbus_analysis_rtu +
                                    • >>   ModbusCRC16

                                    [Called By]
                                    • >>   HAL_TIM_PeriodElapsedCallback
                                    @@ -2179,7 +2180,7 @@ Global Symbols
                                    [Called By]
                                    • >>   HAL_UART_RxCpltCallback
                                    -

                                    prov_adj (Thumb, 1632 bytes, Stack size 16 bytes, provalctrl.o(i.prov_adj)) +

                                    prov_adj (Thumb, 1632 bytes, Stack size 16 bytes, provalctrl.o(i.prov_adj))

                                    [Stack]

                                    • Max Depth = 80
                                    • Call Chain = prov_adj ⇒ ee_writefloats ⇒ ee_writebytes ⇒ i2c_sendbyte

                                    [Calls]
                                    • >>   prov_adj_init @@ -2192,23 +2193,40 @@ Global Symbols

                                      prov_adj_init (Thumb, 168 bytes, Stack size 0 bytes, provalctrl.o(i.prov_adj_init))

                                      [Called By]

                                      • >>   main
                                      • >>   prov_ctrl -
                                      • >>   prov_adj +
                                      • >>   prov_adj
                                      -

                                      prov_calibrate_pid (Thumb, 944 bytes, Stack size 8 bytes, provalctrl.o(i.prov_calibrate_pid)) -

                                      [Stack]

                                      • Max Depth = 8
                                      • Call Chain = prov_calibrate_pid +

                                        prov_adj_section (Thumb, 576 bytes, Stack size 16 bytes, provalctrl.o(i.prov_adj_section)) +

                                        [Stack]

                                        • Max Depth = 32
                                        • Call Chain = prov_adj_section ⇒ prov_set
                                        -
                                        [Calls]
                                        • >>   abs_bias +
                                          [Calls]
                                          • >>   prov_adj_section_init +
                                          • >>   prov_set

                                          [Called By]
                                          • >>   prov_ctrl
                                          -

                                          prov_ctrl (Thumb, 102 bytes, Stack size 16 bytes, provalctrl.o(i.prov_ctrl)) +

                                          prov_adj_section_init (Thumb, 122 bytes, Stack size 0 bytes, provalctrl.o(i.prov_adj_section_init)) +

                                          [Called By]

                                          • >>   main +
                                          • >>   prov_ctrl +
                                          • >>   prov_adj_section +
                                          + +

                                          prov_calibrate_pid (Thumb, 944 bytes, Stack size 8 bytes, provalctrl.o(i.prov_calibrate_pid)) +

                                          [Stack]

                                          • Max Depth = 8
                                          • Call Chain = prov_calibrate_pid +
                                          +
                                          [Calls]
                                          • >>   abs_bias +
                                          +
                                          [Called By]
                                          • >>   prov_ctrl +
                                          + +

                                          prov_ctrl (Thumb, 132 bytes, Stack size 16 bytes, provalctrl.o(i.prov_ctrl))

                                          [Stack]

                                          • Max Depth = 96
                                          • Call Chain = prov_ctrl ⇒ prov_adj ⇒ ee_writefloats ⇒ ee_writebytes ⇒ i2c_sendbyte
                                          -
                                          [Calls]
                                          • >>   prov_adj_init -
                                          • >>   prov_calibrate_pid -
                                          • >>   prov_adj +
                                            [Calls]
                                            • >>   prov_adj_section_init +
                                            • >>   prov_adj_init +
                                            • >>   prov_calibrate_pid +
                                            • >>   prov_adj_section +
                                            • >>   prov_adj

                                            [Called By]
                                            • >>   analog_ctrl
                                            @@ -2217,68 +2235,75 @@ Global Symbols

                                            [Stack]
                                            • Max Depth = 64
                                            • Call Chain = prov_init ⇒ ee_readfloats ⇒ ee_readbytes ⇒ i2c_sendbyte

                                            [Calls]
                                            • >>   ee_readfloats -
                                            • >>   __ARM_isnanf +
                                            • >>   __ARM_isnanf

                                            [Called By]
                                            • >>   main
                                            -

                                            prov_set (Thumb, 244 bytes, Stack size 16 bytes, provalctrl.o(i.prov_set)) +

                                            prov_section_calculate (Thumb, 242 bytes, Stack size 0 bytes, provalctrl.o(i.prov_section_calculate)) +

                                            [Called By]

                                            • >>   prov_set +
                                            + +

                                            prov_set (Thumb, 344 bytes, Stack size 16 bytes, provalctrl.o(i.prov_set))

                                            [Stack]

                                            • Max Depth = 16
                                            • Call Chain = prov_set
                                            +
                                            [Calls]
                                            • >>   prov_section_calculate +

                                            [Called By]
                                            • >>   analog_ctrl -
                                            • >>   prov_adj +
                                            • >>   prov_adj_section +
                                            • >>   prov_adj
                                            -

                                            readcoilstate_rtu (Thumb, 326 bytes, Stack size 152 bytes, modbus_rtu.o(i.readcoilstate_rtu)) +

                                            readcoilstate_rtu (Thumb, 326 bytes, Stack size 152 bytes, modbus_rtu.o(i.readcoilstate_rtu))

                                            [Stack]

                                            • Max Depth = 364
                                            • Call Chain = readcoilstate_rtu ⇒ modbus_errfunction_rtu ⇒ uart_send ⇒ HAL_UART_Transmit_DMA ⇒ HAL_DMA_Start_IT ⇒ DMA_SetConfig
                                            -
                                            [Calls]
                                            • >>   uart_send -
                                            • >>   modbus_errfunction_rtu -
                                            • >>   ModbusCRC16 -
                                            • >>   GetOneCoilVal +
                                              [Calls]
                                              • >>   uart_send +
                                              • >>   modbus_errfunction_rtu +
                                              • >>   ModbusCRC16 +
                                              • >>   GetOneCoilVal
                                              • >>   __aeabi_memclr4 -
                                              • >>   __aeabi_memcpy +
                                              • >>   __aeabi_memcpy
                                              -
                                              [Called By]
                                              • >>   modbus_analysis_rtu +
                                                [Called By]
                                                • >>   modbus_analysis_rtu
                                                -

                                                readdisinputstate_rtu (Thumb, 322 bytes, Stack size 152 bytes, modbus_rtu.o(i.readdisinputstate_rtu)) +

                                                readdisinputstate_rtu (Thumb, 322 bytes, Stack size 152 bytes, modbus_rtu.o(i.readdisinputstate_rtu))

                                                [Stack]

                                                • Max Depth = 364
                                                • Call Chain = readdisinputstate_rtu ⇒ modbus_errfunction_rtu ⇒ uart_send ⇒ HAL_UART_Transmit_DMA ⇒ HAL_DMA_Start_IT ⇒ DMA_SetConfig
                                                -
                                                [Calls]
                                                • >>   uart_send -
                                                • >>   modbus_errfunction_rtu -
                                                • >>   ModbusCRC16 -
                                                • >>   GetOneDisInputVal -
                                                • >>   __aeabi_memcpy +
                                                  [Calls]
                                                  • >>   uart_send +
                                                  • >>   modbus_errfunction_rtu +
                                                  • >>   ModbusCRC16 +
                                                  • >>   GetOneDisInputVal +
                                                  • >>   __aeabi_memcpy
                                                  -
                                                  [Called By]
                                                  • >>   modbus_analysis_rtu +
                                                    [Called By]
                                                    • >>   modbus_analysis_rtu
                                                    -

                                                    readholdreg_rtu (Thumb, 258 bytes, Stack size 136 bytes, modbus_rtu.o(i.readholdreg_rtu)) +

                                                    readholdreg_rtu (Thumb, 258 bytes, Stack size 136 bytes, modbus_rtu.o(i.readholdreg_rtu))

                                                    [Stack]

                                                    • Max Depth = 348
                                                    • Call Chain = readholdreg_rtu ⇒ modbus_errfunction_rtu ⇒ uart_send ⇒ HAL_UART_Transmit_DMA ⇒ HAL_DMA_Start_IT ⇒ DMA_SetConfig
                                                    -
                                                    [Calls]
                                                    • >>   uart_send -
                                                    • >>   modbus_errfunction_rtu -
                                                    • >>   ModbusCRC16 -
                                                    • >>   GetHoldRegData -
                                                    • >>   __aeabi_memcpy +
                                                      [Calls]
                                                      • >>   uart_send +
                                                      • >>   modbus_errfunction_rtu +
                                                      • >>   ModbusCRC16 +
                                                      • >>   GetHoldRegData +
                                                      • >>   __aeabi_memcpy
                                                      -
                                                      [Called By]
                                                      • >>   modbus_analysis_rtu +
                                                        [Called By]
                                                        • >>   modbus_analysis_rtu
                                                        -

                                                        readinputreg_rtu (Thumb, 252 bytes, Stack size 136 bytes, modbus_rtu.o(i.readinputreg_rtu)) +

                                                        readinputreg_rtu (Thumb, 252 bytes, Stack size 136 bytes, modbus_rtu.o(i.readinputreg_rtu))

                                                        [Stack]

                                                        • Max Depth = 348
                                                        • Call Chain = readinputreg_rtu ⇒ modbus_errfunction_rtu ⇒ uart_send ⇒ HAL_UART_Transmit_DMA ⇒ HAL_DMA_Start_IT ⇒ DMA_SetConfig
                                                        -
                                                        [Calls]
                                                        • >>   uart_send -
                                                        • >>   modbus_errfunction_rtu -
                                                        • >>   ModbusCRC16 -
                                                        • >>   GetInputRegData -
                                                        • >>   __aeabi_memcpy +
                                                          [Calls]
                                                          • >>   uart_send +
                                                          • >>   modbus_errfunction_rtu +
                                                          • >>   ModbusCRC16 +
                                                          • >>   GetInputRegData +
                                                          • >>   __aeabi_memcpy
                                                          -
                                                          [Called By]
                                                          • >>   modbus_analysis_rtu +
                                                            [Called By]
                                                            • >>   modbus_analysis_rtu
                                                            -

                                                            setcs (Thumb, 86 bytes, Stack size 8 bytes, ms5803.o(i.setcs)) +

                                                            setcs (Thumb, 86 bytes, Stack size 8 bytes, ms5803.o(i.setcs))

                                                            [Stack]

                                                            • Max Depth = 8
                                                            • Call Chain = setcs

                                                            [Calls]
                                                            • >>   HAL_GPIO_WritePin @@ -2292,20 +2317,20 @@ Global Symbols

                                                              [Called By]
                                                              • >>   HAL_TIM_PeriodElapsedCallback
                                                              -

                                                              uart_send (Thumb, 20 bytes, Stack size 16 bytes, uarts.o(i.uart_send)) +

                                                              uart_send (Thumb, 20 bytes, Stack size 16 bytes, uarts.o(i.uart_send))

                                                              [Stack]

                                                              • Max Depth = 92
                                                              • Call Chain = uart_send ⇒ HAL_UART_Transmit_DMA ⇒ HAL_DMA_Start_IT ⇒ DMA_SetConfig

                                                              [Calls]
                                                              • >>   HAL_UART_Transmit_DMA
                                                              -
                                                              [Called By]
                                                              • >>   writesinglereg_rtu -
                                                              • >>   writesinglecoil_rtu -
                                                              • >>   writemultireg_rtu -
                                                              • >>   writemulticoil_rtu -
                                                              • >>   readinputreg_rtu -
                                                              • >>   readholdreg_rtu -
                                                              • >>   readdisinputstate_rtu -
                                                              • >>   readcoilstate_rtu -
                                                              • >>   modbus_errfunction_rtu +
                                                                [Called By]
                                                                • >>   writesinglereg_rtu +
                                                                • >>   writesinglecoil_rtu +
                                                                • >>   writemultireg_rtu +
                                                                • >>   writemulticoil_rtu +
                                                                • >>   readinputreg_rtu +
                                                                • >>   readholdreg_rtu +
                                                                • >>   readdisinputstate_rtu +
                                                                • >>   readcoilstate_rtu +
                                                                • >>   modbus_errfunction_rtu

                                                                wf5803_ReadReg (Thumb, 34 bytes, Stack size 16 bytes, mf5803.o(i.wf5803_ReadReg)) @@ -2313,7 +2338,7 @@ Global Symbols


                                                              [Calls]
                                                              • >>   SPI_Write_OneByte
                                                              • >>   SPI_Read_OneByte -
                                                              • >>   setcs +
                                                              • >>   setcs
                                                              • >>   clrcs

                                                              [Called By]
                                                              • >>   GetSensorData @@ -2323,67 +2348,67 @@ Global Symbols

                                                                [Stack]
                                                                • Max Depth = 32
                                                                • Call Chain = wf5803_WriteReg ⇒ SPI_Write_OneByte

                                                                [Calls]
                                                                • >>   SPI_Write_OneByte -
                                                                • >>   setcs +
                                                                • >>   setcs
                                                                • >>   clrcs

                                                                [Called By]
                                                                • >>   mf5803_setup
                                                                • >>   GetSensorData
                                                                -

                                                                writemulticoil_rtu (Thumb, 322 bytes, Stack size 160 bytes, modbus_rtu.o(i.writemulticoil_rtu)) +

                                                                writemulticoil_rtu (Thumb, 322 bytes, Stack size 160 bytes, modbus_rtu.o(i.writemulticoil_rtu))

                                                                [Stack]

                                                                • Max Depth = 372
                                                                • Call Chain = writemulticoil_rtu ⇒ modbus_errfunction_rtu ⇒ uart_send ⇒ HAL_UART_Transmit_DMA ⇒ HAL_DMA_Start_IT ⇒ DMA_SetConfig
                                                                -
                                                                [Calls]
                                                                • >>   uart_send -
                                                                • >>   modbus_errfunction_rtu -
                                                                • >>   WriteOneCoilData -
                                                                • >>   ModbusCRC16 -
                                                                • >>   __aeabi_memcpy +
                                                                  [Calls]
                                                                  • >>   uart_send +
                                                                  • >>   modbus_errfunction_rtu +
                                                                  • >>   WriteOneCoilData +
                                                                  • >>   ModbusCRC16 +
                                                                  • >>   __aeabi_memcpy
                                                                  -
                                                                  [Called By]
                                                                  • >>   modbus_analysis_rtu +
                                                                    [Called By]
                                                                    • >>   modbus_analysis_rtu
                                                                    -

                                                                    writemultireg_rtu (Thumb, 252 bytes, Stack size 144 bytes, modbus_rtu.o(i.writemultireg_rtu)) +

                                                                    writemultireg_rtu (Thumb, 252 bytes, Stack size 144 bytes, modbus_rtu.o(i.writemultireg_rtu))

                                                                    [Stack]

                                                                    • Max Depth = 356
                                                                    • Call Chain = writemultireg_rtu ⇒ modbus_errfunction_rtu ⇒ uart_send ⇒ HAL_UART_Transmit_DMA ⇒ HAL_DMA_Start_IT ⇒ DMA_SetConfig
                                                                    -
                                                                    [Calls]
                                                                    • >>   uart_send -
                                                                    • >>   modbus_errfunction_rtu -
                                                                    • >>   WriteHoldRegData -
                                                                    • >>   ModbusCRC16 -
                                                                    • >>   __aeabi_memcpy +
                                                                      [Calls]
                                                                      • >>   uart_send +
                                                                      • >>   modbus_errfunction_rtu +
                                                                      • >>   WriteHoldRegData +
                                                                      • >>   ModbusCRC16 +
                                                                      • >>   __aeabi_memcpy
                                                                      -
                                                                      [Called By]
                                                                      • >>   modbus_analysis_rtu +
                                                                        [Called By]
                                                                        • >>   modbus_analysis_rtu
                                                                        -

                                                                        writesinglecoil_rtu (Thumb, 188 bytes, Stack size 136 bytes, modbus_rtu.o(i.writesinglecoil_rtu)) +

                                                                        writesinglecoil_rtu (Thumb, 188 bytes, Stack size 136 bytes, modbus_rtu.o(i.writesinglecoil_rtu))

                                                                        [Stack]

                                                                        • Max Depth = 348
                                                                        • Call Chain = writesinglecoil_rtu ⇒ modbus_errfunction_rtu ⇒ uart_send ⇒ HAL_UART_Transmit_DMA ⇒ HAL_DMA_Start_IT ⇒ DMA_SetConfig
                                                                        -
                                                                        [Calls]
                                                                        • >>   uart_send -
                                                                        • >>   modbus_errfunction_rtu -
                                                                        • >>   WriteOneCoilData -
                                                                        • >>   ModbusCRC16 -
                                                                        • >>   __aeabi_memcpy +
                                                                          [Calls]
                                                                          • >>   uart_send +
                                                                          • >>   modbus_errfunction_rtu +
                                                                          • >>   WriteOneCoilData +
                                                                          • >>   ModbusCRC16 +
                                                                          • >>   __aeabi_memcpy
                                                                          -
                                                                          [Called By]
                                                                          • >>   modbus_analysis_rtu +
                                                                            [Called By]
                                                                            • >>   modbus_analysis_rtu
                                                                            -

                                                                            writesinglereg_rtu (Thumb, 176 bytes, Stack size 136 bytes, modbus_rtu.o(i.writesinglereg_rtu)) +

                                                                            writesinglereg_rtu (Thumb, 176 bytes, Stack size 136 bytes, modbus_rtu.o(i.writesinglereg_rtu))

                                                                            [Stack]

                                                                            • Max Depth = 348
                                                                            • Call Chain = writesinglereg_rtu ⇒ modbus_errfunction_rtu ⇒ uart_send ⇒ HAL_UART_Transmit_DMA ⇒ HAL_DMA_Start_IT ⇒ DMA_SetConfig
                                                                            -
                                                                            [Calls]
                                                                            • >>   uart_send -
                                                                            • >>   modbus_errfunction_rtu -
                                                                            • >>   WriteHoldRegData -
                                                                            • >>   ModbusCRC16 -
                                                                            • >>   __aeabi_memcpy +
                                                                              [Calls]
                                                                              • >>   uart_send +
                                                                              • >>   modbus_errfunction_rtu +
                                                                              • >>   WriteHoldRegData +
                                                                              • >>   ModbusCRC16 +
                                                                              • >>   __aeabi_memcpy
                                                                              -
                                                                              [Called By]
                                                                              • >>   modbus_analysis_rtu +
                                                                                [Called By]
                                                                                • >>   modbus_analysis_rtu
                                                                                -

                                                                                __aeabi_dadd (Thumb, 0 bytes, Stack size 16 bytes, daddsub_clz.o(x$fpl$dadd), UNUSED) +

                                                                                __aeabi_dadd (Thumb, 0 bytes, Stack size 16 bytes, daddsub_clz.o(x$fpl$dadd), UNUSED) -

                                                                                _dadd (Thumb, 332 bytes, Stack size 16 bytes, daddsub_clz.o(x$fpl$dadd), UNUSED) -

                                                                                [Calls]

                                                                                • >>   __fpl_dretinf -
                                                                                • >>   __fpl_dnaninf -
                                                                                • >>   _dsub1 +

                                                                                  _dadd (Thumb, 332 bytes, Stack size 16 bytes, daddsub_clz.o(x$fpl$dadd), UNUSED) +

                                                                                  [Calls]

                                                                                  • >>   __fpl_dretinf +
                                                                                  • >>   __fpl_dnaninf +
                                                                                  • >>   _dsub1

                                                                                  __aeabi_ddiv (Thumb, 0 bytes, Stack size 32 bytes, ddiv.o(x$fpl$ddiv)) @@ -2393,9 +2418,9 @@ Global Symbols

                                                                                • >>   ads1256_get_data
                                                                                -

                                                                                _ddiv (Thumb, 552 bytes, Stack size 32 bytes, ddiv.o(x$fpl$ddiv), UNUSED) -

                                                                                [Calls]

                                                                                • >>   __fpl_dretinf -
                                                                                • >>   __fpl_dnaninf +

                                                                                  _ddiv (Thumb, 552 bytes, Stack size 32 bytes, ddiv.o(x$fpl$ddiv), UNUSED) +

                                                                                  [Calls]

                                                                                  • >>   __fpl_dretinf +
                                                                                  • >>   __fpl_dnaninf

                                                                                  __aeabi_d2iz (Thumb, 0 bytes, Stack size 32 bytes, dfix.o(x$fpl$dfix)) @@ -2404,8 +2429,8 @@ Global Symbols
                                                                                  [Called By]

                                                                                  • >>   ads1220_get_data
                                                                                  -

                                                                                  _dfix (Thumb, 94 bytes, Stack size 32 bytes, dfix.o(x$fpl$dfix), UNUSED) -

                                                                                  [Calls]

                                                                                  • >>   __fpl_dnaninf +

                                                                                    _dfix (Thumb, 94 bytes, Stack size 32 bytes, dfix.o(x$fpl$dfix), UNUSED) +

                                                                                    [Calls]

                                                                                    • >>   __fpl_dnaninf

                                                                                    __aeabi_d2uiz (Thumb, 0 bytes, Stack size 32 bytes, dfixu.o(x$fpl$dfixu)) @@ -2415,8 +2440,8 @@ Global Symbols

                                                                                  • >>   ads1256_get_data
                                                                                  -

                                                                                  _dfixu (Thumb, 90 bytes, Stack size 32 bytes, dfixu.o(x$fpl$dfixu), UNUSED) -

                                                                                  [Calls]

                                                                                  • >>   __fpl_dnaninf +

                                                                                    _dfixu (Thumb, 90 bytes, Stack size 32 bytes, dfixu.o(x$fpl$dfixu), UNUSED) +

                                                                                    [Calls]

                                                                                    • >>   __fpl_dnaninf

                                                                                    __aeabi_i2d (Thumb, 0 bytes, Stack size 0 bytes, dflt_clz.o(x$fpl$dflt)) @@ -2424,7 +2449,7 @@ Global Symbols

                                                                                  • >>   ADS1256ReadData
                                                                                  -

                                                                                  _dflt (Thumb, 46 bytes, Stack size 0 bytes, dflt_clz.o(x$fpl$dflt), UNUSED) +

                                                                                  _dflt (Thumb, 46 bytes, Stack size 0 bytes, dflt_clz.o(x$fpl$dflt), UNUSED)

                                                                                  __aeabi_l2d (Thumb, 0 bytes, Stack size 8 bytes, dfltll_clz.o(x$fpl$dfltll))

                                                                                  [Stack]

                                                                                  • Max Depth = 8
                                                                                  • Call Chain = __aeabi_l2d @@ -2432,7 +2457,7 @@ Global Symbols
                                                                                    [Called By]
                                                                                    • >>   ads1220_get_data
                                                                                    -

                                                                                    _ll_sto_d (Thumb, 162 bytes, Stack size 8 bytes, dfltll_clz.o(x$fpl$dfltll), UNUSED) +

                                                                                    _ll_sto_d (Thumb, 162 bytes, Stack size 8 bytes, dfltll_clz.o(x$fpl$dfltll), UNUSED)

                                                                                    __aeabi_dmul (Thumb, 0 bytes, Stack size 32 bytes, dmul.o(x$fpl$dmul))

                                                                                    [Stack]

                                                                                    • Max Depth = 32
                                                                                    • Call Chain = __aeabi_dmul @@ -2442,24 +2467,24 @@ Global Symbols
                                                                                    • >>   ADS1256ReadData
                                                                                    -

                                                                                    _dmul (Thumb, 332 bytes, Stack size 32 bytes, dmul.o(x$fpl$dmul), UNUSED) -

                                                                                    [Calls]

                                                                                    • >>   __fpl_dretinf -
                                                                                    • >>   __fpl_dnaninf +

                                                                                      _dmul (Thumb, 332 bytes, Stack size 32 bytes, dmul.o(x$fpl$dmul), UNUSED) +

                                                                                      [Calls]

                                                                                      • >>   __fpl_dretinf +
                                                                                      • >>   __fpl_dnaninf
                                                                                      -

                                                                                      __fpl_dnaninf (Thumb, 156 bytes, Stack size 16 bytes, dnaninf.o(x$fpl$dnaninf), UNUSED) -

                                                                                      [Called By]

                                                                                      • >>   _dmul -
                                                                                      • >>   _dfixu -
                                                                                      • >>   _dfix -
                                                                                      • >>   _ddiv -
                                                                                      • >>   _dsub -
                                                                                      • >>   _dadd +

                                                                                        __fpl_dnaninf (Thumb, 156 bytes, Stack size 16 bytes, dnaninf.o(x$fpl$dnaninf), UNUSED) +

                                                                                        [Called By]

                                                                                        • >>   _dmul +
                                                                                        • >>   _dfixu +
                                                                                        • >>   _dfix +
                                                                                        • >>   _ddiv +
                                                                                        • >>   _dsub +
                                                                                        • >>   _dadd
                                                                                        -

                                                                                        __fpl_dretinf (Thumb, 12 bytes, Stack size 0 bytes, dretinf.o(x$fpl$dretinf), UNUSED) -

                                                                                        [Called By]

                                                                                        • >>   _dmul -
                                                                                        • >>   _ddiv -
                                                                                        • >>   _dadd +

                                                                                          __fpl_dretinf (Thumb, 12 bytes, Stack size 0 bytes, dretinf.o(x$fpl$dretinf), UNUSED) +

                                                                                          [Called By]

                                                                                          • >>   _dmul +
                                                                                          • >>   _ddiv +
                                                                                          • >>   _dadd

                                                                                          __aeabi_dsub (Thumb, 0 bytes, Stack size 32 bytes, daddsub_clz.o(x$fpl$dsub)) @@ -2468,18 +2493,18 @@ Global Symbols
                                                                                          [Called By]

                                                                                          • >>   ads1256_get_data
                                                                                          -

                                                                                          _dsub (Thumb, 464 bytes, Stack size 32 bytes, daddsub_clz.o(x$fpl$dsub), UNUSED) -

                                                                                          [Calls]

                                                                                          • >>   __fpl_dnaninf -
                                                                                          • >>   _dadd1 +

                                                                                            _dsub (Thumb, 464 bytes, Stack size 32 bytes, daddsub_clz.o(x$fpl$dsub), UNUSED) +

                                                                                            [Calls]

                                                                                            • >>   __fpl_dnaninf +
                                                                                            • >>   _dadd1

                                                                                            _fp_init (Thumb, 10 bytes, Stack size 0 bytes, fpinit.o(x$fpl$fpinit))

                                                                                            [Called By]

                                                                                            • >>   __rt_lib_init_fp_1
                                                                                            -

                                                                                            __fplib_config_fpu_vfp (Thumb, 0 bytes, Stack size unknown bytes, fpinit.o(x$fpl$fpinit), UNUSED) +

                                                                                            __fplib_config_fpu_vfp (Thumb, 0 bytes, Stack size unknown bytes, fpinit.o(x$fpl$fpinit), UNUSED) -

                                                                                            __fplib_config_pureend_doubles (Thumb, 0 bytes, Stack size unknown bytes, fpinit.o(x$fpl$fpinit), UNUSED) +

                                                                                            __fplib_config_pureend_doubles (Thumb, 0 bytes, Stack size unknown bytes, fpinit.o(x$fpl$fpinit), UNUSED)

                                                                                            Local Symbols @@ -2625,16 +2650,16 @@ Local Symbols
                                                                                          • >>   i2c_ack
                                                                                          -

                                                                                          __ARM_isnanf (Thumb, 14 bytes, Stack size 0 bytes, provalctrl.o(i.__ARM_isnanf)) +

                                                                                          __ARM_isnanf (Thumb, 14 bytes, Stack size 0 bytes, provalctrl.o(i.__ARM_isnanf))

                                                                                          [Called By]

                                                                                          • >>   prov_init
                                                                                          -

                                                                                          _dadd1 (Thumb, 0 bytes, Stack size unknown bytes, daddsub_clz.o(x$fpl$dadd), UNUSED) -

                                                                                          [Called By]

                                                                                          • >>   _dsub +

                                                                                            _dadd1 (Thumb, 0 bytes, Stack size unknown bytes, daddsub_clz.o(x$fpl$dadd), UNUSED) +

                                                                                            [Called By]

                                                                                            • >>   _dsub
                                                                                            -

                                                                                            _dsub1 (Thumb, 0 bytes, Stack size unknown bytes, daddsub_clz.o(x$fpl$dsub), UNUSED) -

                                                                                            [Called By]

                                                                                            • >>   _dadd +

                                                                                              _dsub1 (Thumb, 0 bytes, Stack size unknown bytes, daddsub_clz.o(x$fpl$dsub), UNUSED) +

                                                                                              [Called By]

                                                                                              • >>   _dadd

                                                                                              diff --git a/MDK-ARM/VOQC/VOQC.map b/MDK-ARM/VOQC/VOQC.map index 852a21d..edd837b 100644 --- a/MDK-ARM/VOQC/VOQC.map +++ b/MDK-ARM/VOQC/VOQC.map @@ -70,6 +70,7 @@ Section Cross References main.o(i.main) refers to eeprom.o(i.ee_io_init) for ee_io_init main.o(i.main) refers to provalctrl.o(i.prov_init) for prov_init main.o(i.main) refers to provalctrl.o(i.prov_adj_init) for prov_adj_init + main.o(i.main) refers to provalctrl.o(i.prov_adj_section_init) for prov_adj_section_init main.o(i.main) refers to gpios.o(i.digital_ctrl) for digital_ctrl main.o(i.main) refers to adcs.o(i.analog_gather) for analog_gather main.o(i.main) refers to provalctrl.o(i.analog_ctrl) for analog_ctrl @@ -1564,19 +1565,27 @@ Section Cross References provalctrl.o(i.prov_adj) refers to provalctrl.o(.bss) for data_wr provalctrl.o(i.prov_adj) refers to modbus.o(.data) for CoilState provalctrl.o(i.prov_adj_init) refers to provalctrl.o(.bss) for adj_pv1 + provalctrl.o(i.prov_adj_section) refers to provalctrl.o(i.prov_set) for prov_set + provalctrl.o(i.prov_adj_section) refers to provalctrl.o(i.prov_adj_section_init) for prov_adj_section_init provalctrl.o(i.prov_adj_section) refers to provalctrl.o(.data) for astep_s - provalctrl.o(i.prov_adj_section_init) refers to provalctrl.o(.bss) for adj_section_pv1 + provalctrl.o(i.prov_adj_section) refers to timer.o(.data) for tick500ms + provalctrl.o(i.prov_adj_section) refers to modbus.o(.bss) for InputReg + provalctrl.o(i.prov_adj_section_init) refers to provalctrl.o(.bss) for adj_pv1 provalctrl.o(i.prov_calibrate_pid) refers to provalctrl.o(i.abs_bias) for abs_bias provalctrl.o(i.prov_calibrate_pid) refers to provalctrl.o(.data) for beta_in provalctrl.o(i.prov_ctrl) refers to provalctrl.o(i.prov_adj_init) for prov_adj_init provalctrl.o(i.prov_ctrl) refers to provalctrl.o(i.prov_calibrate_pid) for prov_calibrate_pid provalctrl.o(i.prov_ctrl) refers to provalctrl.o(i.prov_adj) for prov_adj + provalctrl.o(i.prov_ctrl) refers to provalctrl.o(i.prov_adj_section_init) for prov_adj_section_init + provalctrl.o(i.prov_ctrl) refers to provalctrl.o(i.prov_adj_section) for prov_adj_section provalctrl.o(i.prov_ctrl) refers to provalctrl.o(.data) for astep provalctrl.o(i.prov_init) refers to eeprom.o(i.ee_readfloats) for ee_readfloats provalctrl.o(i.prov_init) refers to provalctrl.o(i.__ARM_isnanf) for __ARM_isnanf provalctrl.o(i.prov_init) refers to provalctrl.o(.bss) for data_rd provalctrl.o(i.prov_init) refers to dac7311.o(i.ao_blf1_set) for ao_blf1_set provalctrl.o(i.prov_init) refers to dac7311.o(i.ao_blf2_set) for ao_blf2_set + provalctrl.o(i.prov_set) refers to provalctrl.o(i.prov_section_calculate) for prov_section_calculate + provalctrl.o(i.prov_set) refers to provalctrl.o(.bss) for adj_pv1 provalctrl.o(i.prov_set) refers to provalctrl.o(.data) for out_makeup encoder.o(i.encoder_init) refers to stm32f4xx_hal_tim.o(i.HAL_TIM_Encoder_Stop) for HAL_TIM_Encoder_Stop encoder.o(i.encoder_init) refers to stm32f4xx_hal_tim.o(i.HAL_TIM_Encoder_Start) for HAL_TIM_Encoder_Start @@ -2644,8 +2653,6 @@ Removing Unused input sections from the image. Removing provalctrl.o(.rev16_text), (4 bytes). Removing provalctrl.o(.revsh_text), (4 bytes). Removing provalctrl.o(.rrx_text), (6 bytes). - Removing provalctrl.o(i.prov_adj_section), (40 bytes). - Removing provalctrl.o(i.prov_adj_section_init), (120 bytes). Removing encoder.o(.rev16_text), (4 bytes). Removing encoder.o(.revsh_text), (4 bytes). Removing encoder.o(.rrx_text), (6 bytes). @@ -2657,7 +2664,7 @@ Removing Unused input sections from the image. Removing flash.o(i.STMFLASH_ReadWord), (6 bytes). Removing flash.o(i.WriteFlashData), (176 bytes). -759 unused section(s) (total 80841 bytes) removed from the image. +757 unused section(s) (total 80681 bytes) removed from the image. ============================================================================== @@ -2700,98 +2707,98 @@ Image Symbol Table ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.c 0x00000000 Number 0 stm32f4xx_hal_tim_ex.o ABSOLUTE ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c 0x00000000 Number 0 stm32f4xx_hal_uart.o ABSOLUTE ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_adc.c 0x00000000 Number 0 stm32f4xx_ll_adc.o ABSOLUTE - ../clib/angel/boardlib.s 0x00000000 Number 0 boardinit1.o ABSOLUTE - ../clib/angel/boardlib.s 0x00000000 Number 0 boardshut.o ABSOLUTE - ../clib/angel/boardlib.s 0x00000000 Number 0 boardinit3.o ABSOLUTE ../clib/angel/boardlib.s 0x00000000 Number 0 boardinit2.o ABSOLUTE + ../clib/angel/boardlib.s 0x00000000 Number 0 boardshut.o ABSOLUTE + ../clib/angel/boardlib.s 0x00000000 Number 0 boardinit1.o ABSOLUTE + ../clib/angel/boardlib.s 0x00000000 Number 0 boardinit3.o ABSOLUTE ../clib/angel/dczerorl2.s 0x00000000 Number 0 __dczerorl2.o ABSOLUTE ../clib/angel/handlers.s 0x00000000 Number 0 __scatter_zi.o ABSOLUTE - ../clib/angel/kernel.s 0x00000000 Number 0 __rtentry4.o ABSOLUTE - ../clib/angel/kernel.s 0x00000000 Number 0 rtexit2.o ABSOLUTE - ../clib/angel/kernel.s 0x00000000 Number 0 __rtentry.o ABSOLUTE ../clib/angel/kernel.s 0x00000000 Number 0 __rtentry2.o ABSOLUTE + ../clib/angel/kernel.s 0x00000000 Number 0 __rtentry.o ABSOLUTE + ../clib/angel/kernel.s 0x00000000 Number 0 __rtentry4.o ABSOLUTE ../clib/angel/kernel.s 0x00000000 Number 0 rtexit.o ABSOLUTE - ../clib/angel/rt.s 0x00000000 Number 0 rt_errno_addr_intlibspace.o ABSOLUTE + ../clib/angel/kernel.s 0x00000000 Number 0 rtexit2.o ABSOLUTE ../clib/angel/rt.s 0x00000000 Number 0 rt_errno_addr.o ABSOLUTE - ../clib/angel/rt.s 0x00000000 Number 0 aeabi_ldiv0.o ABSOLUTE - ../clib/angel/rt.s 0x00000000 Number 0 rt_div0.o ABSOLUTE ../clib/angel/rt.s 0x00000000 Number 0 rt_raise.o ABSOLUTE ../clib/angel/rt.s 0x00000000 Number 0 aeabi_ldiv0_sigfpe.o ABSOLUTE + ../clib/angel/rt.s 0x00000000 Number 0 rt_div0.o ABSOLUTE + ../clib/angel/rt.s 0x00000000 Number 0 aeabi_ldiv0.o ABSOLUTE + ../clib/angel/rt.s 0x00000000 Number 0 rt_errno_addr_intlibspace.o ABSOLUTE ../clib/angel/scatter.s 0x00000000 Number 0 __scatter.o ABSOLUTE ../clib/angel/startup.s 0x00000000 Number 0 __main.o ABSOLUTE - ../clib/angel/sys.s 0x00000000 Number 0 indicate_semi.o ABSOLUTE - ../clib/angel/sys.s 0x00000000 Number 0 use_no_semi.o ABSOLUTE - ../clib/angel/sys.s 0x00000000 Number 0 sys_stackheap_outer.o ABSOLUTE ../clib/angel/sys.s 0x00000000 Number 0 libspace.o ABSOLUTE + ../clib/angel/sys.s 0x00000000 Number 0 indicate_semi.o ABSOLUTE + ../clib/angel/sys.s 0x00000000 Number 0 sys_stackheap_outer.o ABSOLUTE ../clib/angel/sys.s 0x00000000 Number 0 use_no_semi_2.o ABSOLUTE - ../clib/angel/sysapp.c 0x00000000 Number 0 sys_wrch.o ABSOLUTE + ../clib/angel/sys.s 0x00000000 Number 0 use_no_semi.o ABSOLUTE ../clib/angel/sysapp.c 0x00000000 Number 0 sys_command.o ABSOLUTE + ../clib/angel/sysapp.c 0x00000000 Number 0 sys_wrch.o ABSOLUTE ../clib/armsys.c 0x00000000 Number 0 argv_veneer.o ABSOLUTE ../clib/armsys.c 0x00000000 Number 0 argv_veneer.o ABSOLUTE - ../clib/armsys.c 0x00000000 Number 0 _get_argv_nomalloc.o ABSOLUTE ../clib/armsys.c 0x00000000 Number 0 no_argv.o ABSOLUTE + ../clib/armsys.c 0x00000000 Number 0 _get_argv_nomalloc.o ABSOLUTE ../clib/fenv.c 0x00000000 Number 0 _rserrno.o ABSOLUTE ../clib/heapalloc.c 0x00000000 Number 0 hrguard.o ABSOLUTE ../clib/heapaux.c 0x00000000 Number 0 heapauxi.o ABSOLUTE + ../clib/libinit.s 0x00000000 Number 0 libshutdown.o ABSOLUTE + ../clib/libinit.s 0x00000000 Number 0 libinit.o ABSOLUTE ../clib/libinit.s 0x00000000 Number 0 libshutdown2.o ABSOLUTE ../clib/libinit.s 0x00000000 Number 0 libinit2.o ABSOLUTE - ../clib/libinit.s 0x00000000 Number 0 libinit.o ABSOLUTE - ../clib/libinit.s 0x00000000 Number 0 libshutdown.o ABSOLUTE ../clib/longlong.s 0x00000000 Number 0 lludivv7m.o ABSOLUTE ../clib/longlong.s 0x00000000 Number 0 llsdiv.o ABSOLUTE ../clib/memcpset.s 0x00000000 Number 0 rt_memcpy_v6.o ABSOLUTE ../clib/memcpset.s 0x00000000 Number 0 rt_memcpy_w.o ABSOLUTE ../clib/memcpset.s 0x00000000 Number 0 rt_memclr_w.o ABSOLUTE ../clib/misc.s 0x00000000 Number 0 printf_stubs.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 __printf.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 _printf_char_common.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 _printf_hex_int_ptr.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 _printf_intcommon.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 __2printf.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 __printf_ss.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 _printf_char_file.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 noretval__2printf.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 __printf_flags_ss.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 __printf_wp.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 __printf_flags_wp.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 __printf_ss_wp.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 __printf_flags_ss_wp.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 _printf_hex_ll.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 _printf_char.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 _printf_hex_ptr.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 _printf_hex_int.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 _printf_hex_int_ll.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 _printf_hex_ptr.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 _printf_dec.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 _printf_str.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 _printf_pad.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 _printf_hex_int_ptr.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 _printf_hex_ll_ptr.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 __printf_nopercent.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 _printf_hex_int_ll_ptr.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 _printf_hex_ll.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 _printf_hex_ll_ptr.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 _printf_char_common.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 noretval__2printf.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 _printf_dec.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 _printf_pad.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 __printf.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 _printf_str.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 __printf_wp.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 _printf_char.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 __printf_ss_wp.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 __printf_flags_ss_wp.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 __2printf.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 __printf_flags_ss.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 __printf_ss.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 __printf_flags.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 _printf_hex_int_ll_ptr.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 __printf_flags_wp.o ABSOLUTE ../clib/printf_percent.s 0x00000000 Number 0 _printf_s.o ABSOLUTE - ../clib/printf_percent.s 0x00000000 Number 0 _printf_x.o ABSOLUTE - ../clib/printf_percent.s 0x00000000 Number 0 _printf_d.o ABSOLUTE ../clib/printf_percent.s 0x00000000 Number 0 _printf_percent_end.o ABSOLUTE + ../clib/printf_percent.s 0x00000000 Number 0 _printf_x.o ABSOLUTE ../clib/printf_percent.s 0x00000000 Number 0 _printf_percent.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_fpe_formal.o ABSOLUTE + ../clib/printf_percent.s 0x00000000 Number 0 _printf_d.o ABSOLUTE ../clib/signal.c 0x00000000 Number 0 defsig_fpe_outer.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 __raise.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_general.o ABSOLUTE ../clib/signal.c 0x00000000 Number 0 defsig_abrt_inner.o ABSOLUTE ../clib/signal.c 0x00000000 Number 0 defsig_rtred_inner.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_exit.o ABSOLUTE ../clib/signal.c 0x00000000 Number 0 defsig_rtmem_inner.o ABSOLUTE ../clib/signal.c 0x00000000 Number 0 defsig_rtmem_outer.o ABSOLUTE ../clib/signal.c 0x00000000 Number 0 defsig_rtmem_formal.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_fpe_inner.o ABSOLUTE ../clib/signal.c 0x00000000 Number 0 defsig_stak_inner.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_pvfn_inner.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_general.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 __raise.o ABSOLUTE ../clib/signal.c 0x00000000 Number 0 defsig_cppl_inner.o ABSOLUTE ../clib/signal.c 0x00000000 Number 0 defsig_segv_inner.o ABSOLUTE ../clib/signal.c 0x00000000 Number 0 defsig_other.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_fpe_inner.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_exit.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_pvfn_inner.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_fpe_formal.o ABSOLUTE ../clib/signal.s 0x00000000 Number 0 defsig.o ABSOLUTE - ../clib/stdio.c 0x00000000 Number 0 ferror.o ABSOLUTE ../clib/stdio.c 0x00000000 Number 0 ferror_locked.o ABSOLUTE + ../clib/stdio.c 0x00000000 Number 0 ferror.o ABSOLUTE ../clib/stdlib.c 0x00000000 Number 0 exit.o ABSOLUTE ../fplib/basic.s 0x00000000 Number 0 basic.o ABSOLUTE ../fplib/daddsub.s 0x00000000 Number 0 daddsub_clz.o ABSOLUTE @@ -2818,11 +2825,11 @@ Image Symbol Table ../mathlib/fabs.c 0x00000000 Number 0 fabs.o ABSOLUTE ../mathlib/fpclassify.c 0x00000000 Number 0 fpclassify.o ABSOLUTE ../mathlib/poly.c 0x00000000 Number 0 poly.o ABSOLUTE - ../mathlib/pow.c 0x00000000 Number 0 pow.o ABSOLUTE ../mathlib/pow.c 0x00000000 Number 0 pow_x.o ABSOLUTE + ../mathlib/pow.c 0x00000000 Number 0 pow.o ABSOLUTE ../mathlib/qnan.c 0x00000000 Number 0 qnan.o ABSOLUTE - ../mathlib/sqrt.c 0x00000000 Number 0 sqrt_x.o ABSOLUTE ../mathlib/sqrt.c 0x00000000 Number 0 sqrt.o ABSOLUTE + ../mathlib/sqrt.c 0x00000000 Number 0 sqrt_x.o ABSOLUTE ..\CH395Q\ch395.c 0x00000000 Number 0 ch395.o ABSOLUTE ..\CH395Q\ch395cmd.c 0x00000000 Number 0 ch395cmd.o ABSOLUTE ..\Core\Src\adc.c 0x00000000 Number 0 adc.o ABSOLUTE @@ -3178,61 +3185,64 @@ Image Symbol Table i.i2c_waitack 0x08005e40 Section 0 eeprom.o(i.i2c_waitack) i.led_ctrl 0x08005e78 Section 0 gpios.o(i.led_ctrl) i.main 0x08005e9c Section 0 main.o(i.main) - i.mf5803_loop 0x08005f28 Section 0 mf5803.o(i.mf5803_loop) - i.mf5803_setup 0x080060d0 Section 0 mf5803.o(i.mf5803_setup) - i.modbus_analysis_rtu 0x08006190 Section 0 modbus_rtu.o(i.modbus_analysis_rtu) - i.modbus_errfunction_rtu 0x08006244 Section 0 modbus_rtu.o(i.modbus_errfunction_rtu) - i.modbus_process_rtu 0x080062c4 Section 0 modbus_rtu.o(i.modbus_process_rtu) - i.modbus_rtu_init 0x08006308 Section 0 modbus_rtu.o(i.modbus_rtu_init) - i.modbus_rx_cb 0x0800635c Section 0 modbus_rtu.o(i.modbus_rx_cb) - i.prov_adj 0x080063e0 Section 0 provalctrl.o(i.prov_adj) - i.prov_adj_init 0x08006a74 Section 0 provalctrl.o(i.prov_adj_init) - i.prov_calibrate_pid 0x08006b2c Section 0 provalctrl.o(i.prov_calibrate_pid) - i.prov_ctrl 0x08006ef8 Section 0 provalctrl.o(i.prov_ctrl) - i.prov_init 0x08006f64 Section 0 provalctrl.o(i.prov_init) - i.prov_set 0x08007204 Section 0 provalctrl.o(i.prov_set) - i.readcoilstate_rtu 0x08007304 Section 0 modbus_rtu.o(i.readcoilstate_rtu) - i.readdisinputstate_rtu 0x08007454 Section 0 modbus_rtu.o(i.readdisinputstate_rtu) - i.readholdreg_rtu 0x080075a0 Section 0 modbus_rtu.o(i.readholdreg_rtu) - i.readinputreg_rtu 0x080076ac Section 0 modbus_rtu.o(i.readinputreg_rtu) - i.setcs 0x080077b0 Section 0 ms5803.o(i.setcs) - i.tim6_cnt 0x08007818 Section 0 timer.o(i.tim6_cnt) - i.uart_send 0x08007a24 Section 0 uarts.o(i.uart_send) - i.wf5803_ReadReg 0x08007a38 Section 0 mf5803.o(i.wf5803_ReadReg) - i.wf5803_WriteReg 0x08007a5a Section 0 mf5803.o(i.wf5803_WriteReg) - i.writemulticoil_rtu 0x08007a7c Section 0 modbus_rtu.o(i.writemulticoil_rtu) - i.writemultireg_rtu 0x08007bc8 Section 0 modbus_rtu.o(i.writemultireg_rtu) - i.writesinglecoil_rtu 0x08007ccc Section 0 modbus_rtu.o(i.writesinglecoil_rtu) - i.writesinglereg_rtu 0x08007d90 Section 0 modbus_rtu.o(i.writesinglereg_rtu) - x$fpl$dadd 0x08007e48 Section 336 daddsub_clz.o(x$fpl$dadd) - $v0 0x08007e48 Number 0 daddsub_clz.o(x$fpl$dadd) - _dadd1 0x08007e59 Thumb Code 0 daddsub_clz.o(x$fpl$dadd) - x$fpl$ddiv 0x08007f98 Section 688 ddiv.o(x$fpl$ddiv) - $v0 0x08007f98 Number 0 ddiv.o(x$fpl$ddiv) - ddiv_entry 0x08007f9f Thumb Code 0 ddiv.o(x$fpl$ddiv) - x$fpl$dfix 0x08008248 Section 94 dfix.o(x$fpl$dfix) - $v0 0x08008248 Number 0 dfix.o(x$fpl$dfix) - x$fpl$dfixu 0x080082a8 Section 90 dfixu.o(x$fpl$dfixu) - $v0 0x080082a8 Number 0 dfixu.o(x$fpl$dfixu) - x$fpl$dflt 0x08008302 Section 46 dflt_clz.o(x$fpl$dflt) - $v0 0x08008302 Number 0 dflt_clz.o(x$fpl$dflt) - x$fpl$dfltll 0x08008330 Section 162 dfltll_clz.o(x$fpl$dfltll) - $v0 0x08008330 Number 0 dfltll_clz.o(x$fpl$dfltll) - x$fpl$dmul 0x080083d4 Section 340 dmul.o(x$fpl$dmul) - $v0 0x080083d4 Number 0 dmul.o(x$fpl$dmul) - x$fpl$dnaninf 0x08008528 Section 156 dnaninf.o(x$fpl$dnaninf) - $v0 0x08008528 Number 0 dnaninf.o(x$fpl$dnaninf) - x$fpl$dretinf 0x080085c4 Section 12 dretinf.o(x$fpl$dretinf) - $v0 0x080085c4 Number 0 dretinf.o(x$fpl$dretinf) - x$fpl$dsub 0x080085d0 Section 468 daddsub_clz.o(x$fpl$dsub) - $v0 0x080085d0 Number 0 daddsub_clz.o(x$fpl$dsub) - _dsub1 0x080085e1 Thumb Code 0 daddsub_clz.o(x$fpl$dsub) - x$fpl$fpinit 0x080087a4 Section 10 fpinit.o(x$fpl$fpinit) - $v0 0x080087a4 Number 0 fpinit.o(x$fpl$fpinit) - .constdata 0x080087ae Section 8 stm32f4xx_hal_dma.o(.constdata) - x$fpl$usenofp 0x080087ae Section 0 usenofp.o(x$fpl$usenofp) - flagBitshiftOffset 0x080087ae Data 8 stm32f4xx_hal_dma.o(.constdata) - .constdata 0x080087b6 Section 24 system_stm32f4xx.o(.constdata) + i.mf5803_loop 0x08005f2c Section 0 mf5803.o(i.mf5803_loop) + i.mf5803_setup 0x080060d4 Section 0 mf5803.o(i.mf5803_setup) + i.modbus_analysis_rtu 0x08006194 Section 0 modbus_rtu.o(i.modbus_analysis_rtu) + i.modbus_errfunction_rtu 0x08006248 Section 0 modbus_rtu.o(i.modbus_errfunction_rtu) + i.modbus_process_rtu 0x080062c8 Section 0 modbus_rtu.o(i.modbus_process_rtu) + i.modbus_rtu_init 0x0800630c Section 0 modbus_rtu.o(i.modbus_rtu_init) + i.modbus_rx_cb 0x08006360 Section 0 modbus_rtu.o(i.modbus_rx_cb) + i.prov_adj 0x080063e4 Section 0 provalctrl.o(i.prov_adj) + i.prov_adj_init 0x08006a78 Section 0 provalctrl.o(i.prov_adj_init) + i.prov_adj_section 0x08006b30 Section 0 provalctrl.o(i.prov_adj_section) + i.prov_adj_section_init 0x08006da0 Section 0 provalctrl.o(i.prov_adj_section_init) + i.prov_calibrate_pid 0x08006e28 Section 0 provalctrl.o(i.prov_calibrate_pid) + i.prov_ctrl 0x080071f4 Section 0 provalctrl.o(i.prov_ctrl) + i.prov_init 0x08007280 Section 0 provalctrl.o(i.prov_init) + i.prov_section_calculate 0x08007520 Section 0 provalctrl.o(i.prov_section_calculate) + i.prov_set 0x08007618 Section 0 provalctrl.o(i.prov_set) + i.readcoilstate_rtu 0x08007784 Section 0 modbus_rtu.o(i.readcoilstate_rtu) + i.readdisinputstate_rtu 0x080078d4 Section 0 modbus_rtu.o(i.readdisinputstate_rtu) + i.readholdreg_rtu 0x08007a20 Section 0 modbus_rtu.o(i.readholdreg_rtu) + i.readinputreg_rtu 0x08007b2c Section 0 modbus_rtu.o(i.readinputreg_rtu) + i.setcs 0x08007c30 Section 0 ms5803.o(i.setcs) + i.tim6_cnt 0x08007c98 Section 0 timer.o(i.tim6_cnt) + i.uart_send 0x08007ea4 Section 0 uarts.o(i.uart_send) + i.wf5803_ReadReg 0x08007eb8 Section 0 mf5803.o(i.wf5803_ReadReg) + i.wf5803_WriteReg 0x08007eda Section 0 mf5803.o(i.wf5803_WriteReg) + i.writemulticoil_rtu 0x08007efc Section 0 modbus_rtu.o(i.writemulticoil_rtu) + i.writemultireg_rtu 0x08008048 Section 0 modbus_rtu.o(i.writemultireg_rtu) + i.writesinglecoil_rtu 0x0800814c Section 0 modbus_rtu.o(i.writesinglecoil_rtu) + i.writesinglereg_rtu 0x08008210 Section 0 modbus_rtu.o(i.writesinglereg_rtu) + x$fpl$dadd 0x080082c8 Section 336 daddsub_clz.o(x$fpl$dadd) + $v0 0x080082c8 Number 0 daddsub_clz.o(x$fpl$dadd) + _dadd1 0x080082d9 Thumb Code 0 daddsub_clz.o(x$fpl$dadd) + x$fpl$ddiv 0x08008418 Section 688 ddiv.o(x$fpl$ddiv) + $v0 0x08008418 Number 0 ddiv.o(x$fpl$ddiv) + ddiv_entry 0x0800841f Thumb Code 0 ddiv.o(x$fpl$ddiv) + x$fpl$dfix 0x080086c8 Section 94 dfix.o(x$fpl$dfix) + $v0 0x080086c8 Number 0 dfix.o(x$fpl$dfix) + x$fpl$dfixu 0x08008728 Section 90 dfixu.o(x$fpl$dfixu) + $v0 0x08008728 Number 0 dfixu.o(x$fpl$dfixu) + x$fpl$dflt 0x08008782 Section 46 dflt_clz.o(x$fpl$dflt) + $v0 0x08008782 Number 0 dflt_clz.o(x$fpl$dflt) + x$fpl$dfltll 0x080087b0 Section 162 dfltll_clz.o(x$fpl$dfltll) + $v0 0x080087b0 Number 0 dfltll_clz.o(x$fpl$dfltll) + x$fpl$dmul 0x08008854 Section 340 dmul.o(x$fpl$dmul) + $v0 0x08008854 Number 0 dmul.o(x$fpl$dmul) + x$fpl$dnaninf 0x080089a8 Section 156 dnaninf.o(x$fpl$dnaninf) + $v0 0x080089a8 Number 0 dnaninf.o(x$fpl$dnaninf) + x$fpl$dretinf 0x08008a44 Section 12 dretinf.o(x$fpl$dretinf) + $v0 0x08008a44 Number 0 dretinf.o(x$fpl$dretinf) + x$fpl$dsub 0x08008a50 Section 468 daddsub_clz.o(x$fpl$dsub) + $v0 0x08008a50 Number 0 daddsub_clz.o(x$fpl$dsub) + _dsub1 0x08008a61 Thumb Code 0 daddsub_clz.o(x$fpl$dsub) + x$fpl$fpinit 0x08008c24 Section 10 fpinit.o(x$fpl$fpinit) + $v0 0x08008c24 Number 0 fpinit.o(x$fpl$fpinit) + .constdata 0x08008c2e Section 8 stm32f4xx_hal_dma.o(.constdata) + x$fpl$usenofp 0x08008c2e Section 0 usenofp.o(x$fpl$usenofp) + flagBitshiftOffset 0x08008c2e Data 8 stm32f4xx_hal_dma.o(.constdata) + .constdata 0x08008c36 Section 24 system_stm32f4xx.o(.constdata) .data 0x20000000 Section 9 stm32f4xx_hal.o(.data) .data 0x2000000c Section 4 system_stm32f4xx.o(.data) .data 0x20000010 Section 24 ads1256.o(.data) @@ -3245,7 +3255,7 @@ Image Symbol Table .data 0x200000ee Section 2 gpios.o(.data) .data 0x200000f0 Section 105 timer.o(.data) .data 0x2000015c Section 8 uarts.o(.data) - .data 0x20000164 Section 41 provalctrl.o(.data) + .data 0x20000164 Section 42 provalctrl.o(.data) .data 0x20000190 Section 16 encoder.o(.data) .bss 0x200001a0 Section 168 adc.o(.bss) .bss 0x20000248 Section 84 i2c.o(.bss) @@ -3258,13 +3268,13 @@ Image Symbol Table .bss 0x200009d0 Section 196 modbus.o(.bss) .bss 0x20000a94 Section 2048 modbus_rtu.o(.bss) .bss 0x20001294 Section 276 uarts.o(.bss) - .bss 0x200013a8 Section 640 provalctrl.o(.bss) - .bss 0x20001628 Section 96 libspace.o(.bss) - HEAP 0x20001688 Section 512 startup_stm32f407xx.o(HEAP) - Heap_Mem 0x20001688 Data 512 startup_stm32f407xx.o(HEAP) - STACK 0x20001888 Section 1024 startup_stm32f407xx.o(STACK) - Stack_Mem 0x20001888 Data 1024 startup_stm32f407xx.o(STACK) - __initial_sp 0x20001c88 Data 0 startup_stm32f407xx.o(STACK) + .bss 0x200013a8 Section 552 provalctrl.o(.bss) + .bss 0x200015d0 Section 96 libspace.o(.bss) + HEAP 0x20001630 Section 512 startup_stm32f407xx.o(HEAP) + Heap_Mem 0x20001630 Data 512 startup_stm32f407xx.o(HEAP) + STACK 0x20001830 Section 1024 startup_stm32f407xx.o(STACK) + Stack_Mem 0x20001830 Data 1024 startup_stm32f407xx.o(STACK) + __initial_sp 0x20001c30 Data 0 startup_stm32f407xx.o(STACK) Global Symbols @@ -3632,59 +3642,62 @@ Image Symbol Table i2c_stop 0x08005e1d Thumb Code 30 eeprom.o(i.i2c_stop) i2c_waitack 0x08005e41 Thumb Code 50 eeprom.o(i.i2c_waitack) led_ctrl 0x08005e79 Thumb Code 26 gpios.o(i.led_ctrl) - main 0x08005e9d Thumb Code 134 main.o(i.main) - mf5803_loop 0x08005f29 Thumb Code 376 mf5803.o(i.mf5803_loop) - mf5803_setup 0x080060d1 Thumb Code 184 mf5803.o(i.mf5803_setup) - modbus_analysis_rtu 0x08006191 Thumb Code 180 modbus_rtu.o(i.modbus_analysis_rtu) - modbus_errfunction_rtu 0x08006245 Thumb Code 118 modbus_rtu.o(i.modbus_errfunction_rtu) - modbus_process_rtu 0x080062c5 Thumb Code 64 modbus_rtu.o(i.modbus_process_rtu) - modbus_rtu_init 0x08006309 Thumb Code 58 modbus_rtu.o(i.modbus_rtu_init) - modbus_rx_cb 0x0800635d Thumb Code 98 modbus_rtu.o(i.modbus_rx_cb) - prov_adj 0x080063e1 Thumb Code 1632 provalctrl.o(i.prov_adj) - prov_adj_init 0x08006a75 Thumb Code 168 provalctrl.o(i.prov_adj_init) - prov_calibrate_pid 0x08006b2d Thumb Code 944 provalctrl.o(i.prov_calibrate_pid) - prov_ctrl 0x08006ef9 Thumb Code 102 provalctrl.o(i.prov_ctrl) - prov_init 0x08006f65 Thumb Code 636 provalctrl.o(i.prov_init) - prov_set 0x08007205 Thumb Code 244 provalctrl.o(i.prov_set) - readcoilstate_rtu 0x08007305 Thumb Code 326 modbus_rtu.o(i.readcoilstate_rtu) - readdisinputstate_rtu 0x08007455 Thumb Code 322 modbus_rtu.o(i.readdisinputstate_rtu) - readholdreg_rtu 0x080075a1 Thumb Code 258 modbus_rtu.o(i.readholdreg_rtu) - readinputreg_rtu 0x080076ad Thumb Code 252 modbus_rtu.o(i.readinputreg_rtu) - setcs 0x080077b1 Thumb Code 86 ms5803.o(i.setcs) - tim6_cnt 0x08007819 Thumb Code 420 timer.o(i.tim6_cnt) - uart_send 0x08007a25 Thumb Code 20 uarts.o(i.uart_send) - wf5803_ReadReg 0x08007a39 Thumb Code 34 mf5803.o(i.wf5803_ReadReg) - wf5803_WriteReg 0x08007a5b Thumb Code 34 mf5803.o(i.wf5803_WriteReg) - writemulticoil_rtu 0x08007a7d Thumb Code 322 modbus_rtu.o(i.writemulticoil_rtu) - writemultireg_rtu 0x08007bc9 Thumb Code 252 modbus_rtu.o(i.writemultireg_rtu) - writesinglecoil_rtu 0x08007ccd Thumb Code 188 modbus_rtu.o(i.writesinglecoil_rtu) - writesinglereg_rtu 0x08007d91 Thumb Code 176 modbus_rtu.o(i.writesinglereg_rtu) - __aeabi_dadd 0x08007e49 Thumb Code 0 daddsub_clz.o(x$fpl$dadd) - _dadd 0x08007e49 Thumb Code 332 daddsub_clz.o(x$fpl$dadd) - __aeabi_ddiv 0x08007f99 Thumb Code 0 ddiv.o(x$fpl$ddiv) - _ddiv 0x08007f99 Thumb Code 552 ddiv.o(x$fpl$ddiv) - __aeabi_d2iz 0x08008249 Thumb Code 0 dfix.o(x$fpl$dfix) - _dfix 0x08008249 Thumb Code 94 dfix.o(x$fpl$dfix) - __aeabi_d2uiz 0x080082a9 Thumb Code 0 dfixu.o(x$fpl$dfixu) - _dfixu 0x080082a9 Thumb Code 90 dfixu.o(x$fpl$dfixu) - __aeabi_i2d 0x08008303 Thumb Code 0 dflt_clz.o(x$fpl$dflt) - _dflt 0x08008303 Thumb Code 46 dflt_clz.o(x$fpl$dflt) - __aeabi_l2d 0x08008331 Thumb Code 0 dfltll_clz.o(x$fpl$dfltll) - _ll_sto_d 0x08008331 Thumb Code 162 dfltll_clz.o(x$fpl$dfltll) - __aeabi_dmul 0x080083d5 Thumb Code 0 dmul.o(x$fpl$dmul) - _dmul 0x080083d5 Thumb Code 332 dmul.o(x$fpl$dmul) - __fpl_dnaninf 0x08008529 Thumb Code 156 dnaninf.o(x$fpl$dnaninf) - __fpl_dretinf 0x080085c5 Thumb Code 12 dretinf.o(x$fpl$dretinf) - __aeabi_dsub 0x080085d1 Thumb Code 0 daddsub_clz.o(x$fpl$dsub) - _dsub 0x080085d1 Thumb Code 464 daddsub_clz.o(x$fpl$dsub) - _fp_init 0x080087a5 Thumb Code 10 fpinit.o(x$fpl$fpinit) - __fplib_config_fpu_vfp 0x080087ad Thumb Code 0 fpinit.o(x$fpl$fpinit) - __fplib_config_pureend_doubles 0x080087ad Thumb Code 0 fpinit.o(x$fpl$fpinit) - __I$use$fp 0x080087ae Number 0 usenofp.o(x$fpl$usenofp) - AHBPrescTable 0x080087b6 Data 16 system_stm32f4xx.o(.constdata) - APBPrescTable 0x080087c6 Data 8 system_stm32f4xx.o(.constdata) - Region$$Table$$Base 0x080087d0 Number 0 anon$$obj.o(Region$$Table) - Region$$Table$$Limit 0x080087f0 Number 0 anon$$obj.o(Region$$Table) + main 0x08005e9d Thumb Code 138 main.o(i.main) + mf5803_loop 0x08005f2d Thumb Code 376 mf5803.o(i.mf5803_loop) + mf5803_setup 0x080060d5 Thumb Code 184 mf5803.o(i.mf5803_setup) + modbus_analysis_rtu 0x08006195 Thumb Code 180 modbus_rtu.o(i.modbus_analysis_rtu) + modbus_errfunction_rtu 0x08006249 Thumb Code 118 modbus_rtu.o(i.modbus_errfunction_rtu) + modbus_process_rtu 0x080062c9 Thumb Code 64 modbus_rtu.o(i.modbus_process_rtu) + modbus_rtu_init 0x0800630d Thumb Code 58 modbus_rtu.o(i.modbus_rtu_init) + modbus_rx_cb 0x08006361 Thumb Code 98 modbus_rtu.o(i.modbus_rx_cb) + prov_adj 0x080063e5 Thumb Code 1632 provalctrl.o(i.prov_adj) + prov_adj_init 0x08006a79 Thumb Code 168 provalctrl.o(i.prov_adj_init) + prov_adj_section 0x08006b31 Thumb Code 576 provalctrl.o(i.prov_adj_section) + prov_adj_section_init 0x08006da1 Thumb Code 122 provalctrl.o(i.prov_adj_section_init) + prov_calibrate_pid 0x08006e29 Thumb Code 944 provalctrl.o(i.prov_calibrate_pid) + prov_ctrl 0x080071f5 Thumb Code 132 provalctrl.o(i.prov_ctrl) + prov_init 0x08007281 Thumb Code 636 provalctrl.o(i.prov_init) + prov_section_calculate 0x08007521 Thumb Code 242 provalctrl.o(i.prov_section_calculate) + prov_set 0x08007619 Thumb Code 344 provalctrl.o(i.prov_set) + readcoilstate_rtu 0x08007785 Thumb Code 326 modbus_rtu.o(i.readcoilstate_rtu) + readdisinputstate_rtu 0x080078d5 Thumb Code 322 modbus_rtu.o(i.readdisinputstate_rtu) + readholdreg_rtu 0x08007a21 Thumb Code 258 modbus_rtu.o(i.readholdreg_rtu) + readinputreg_rtu 0x08007b2d Thumb Code 252 modbus_rtu.o(i.readinputreg_rtu) + setcs 0x08007c31 Thumb Code 86 ms5803.o(i.setcs) + tim6_cnt 0x08007c99 Thumb Code 420 timer.o(i.tim6_cnt) + uart_send 0x08007ea5 Thumb Code 20 uarts.o(i.uart_send) + wf5803_ReadReg 0x08007eb9 Thumb Code 34 mf5803.o(i.wf5803_ReadReg) + wf5803_WriteReg 0x08007edb Thumb Code 34 mf5803.o(i.wf5803_WriteReg) + writemulticoil_rtu 0x08007efd Thumb Code 322 modbus_rtu.o(i.writemulticoil_rtu) + writemultireg_rtu 0x08008049 Thumb Code 252 modbus_rtu.o(i.writemultireg_rtu) + writesinglecoil_rtu 0x0800814d Thumb Code 188 modbus_rtu.o(i.writesinglecoil_rtu) + writesinglereg_rtu 0x08008211 Thumb Code 176 modbus_rtu.o(i.writesinglereg_rtu) + __aeabi_dadd 0x080082c9 Thumb Code 0 daddsub_clz.o(x$fpl$dadd) + _dadd 0x080082c9 Thumb Code 332 daddsub_clz.o(x$fpl$dadd) + __aeabi_ddiv 0x08008419 Thumb Code 0 ddiv.o(x$fpl$ddiv) + _ddiv 0x08008419 Thumb Code 552 ddiv.o(x$fpl$ddiv) + __aeabi_d2iz 0x080086c9 Thumb Code 0 dfix.o(x$fpl$dfix) + _dfix 0x080086c9 Thumb Code 94 dfix.o(x$fpl$dfix) + __aeabi_d2uiz 0x08008729 Thumb Code 0 dfixu.o(x$fpl$dfixu) + _dfixu 0x08008729 Thumb Code 90 dfixu.o(x$fpl$dfixu) + __aeabi_i2d 0x08008783 Thumb Code 0 dflt_clz.o(x$fpl$dflt) + _dflt 0x08008783 Thumb Code 46 dflt_clz.o(x$fpl$dflt) + __aeabi_l2d 0x080087b1 Thumb Code 0 dfltll_clz.o(x$fpl$dfltll) + _ll_sto_d 0x080087b1 Thumb Code 162 dfltll_clz.o(x$fpl$dfltll) + __aeabi_dmul 0x08008855 Thumb Code 0 dmul.o(x$fpl$dmul) + _dmul 0x08008855 Thumb Code 332 dmul.o(x$fpl$dmul) + __fpl_dnaninf 0x080089a9 Thumb Code 156 dnaninf.o(x$fpl$dnaninf) + __fpl_dretinf 0x08008a45 Thumb Code 12 dretinf.o(x$fpl$dretinf) + __aeabi_dsub 0x08008a51 Thumb Code 0 daddsub_clz.o(x$fpl$dsub) + _dsub 0x08008a51 Thumb Code 464 daddsub_clz.o(x$fpl$dsub) + _fp_init 0x08008c25 Thumb Code 10 fpinit.o(x$fpl$fpinit) + __fplib_config_fpu_vfp 0x08008c2d Thumb Code 0 fpinit.o(x$fpl$fpinit) + __fplib_config_pureend_doubles 0x08008c2d Thumb Code 0 fpinit.o(x$fpl$fpinit) + __I$use$fp 0x08008c2e Number 0 usenofp.o(x$fpl$usenofp) + AHBPrescTable 0x08008c36 Data 16 system_stm32f4xx.o(.constdata) + APBPrescTable 0x08008c46 Data 8 system_stm32f4xx.o(.constdata) + Region$$Table$$Base 0x08008c50 Number 0 anon$$obj.o(Region$$Table) + Region$$Table$$Limit 0x08008c70 Number 0 anon$$obj.o(Region$$Table) uwTick 0x20000000 Data 4 stm32f4xx_hal.o(.data) uwTickPrio 0x20000004 Data 4 stm32f4xx_hal.o(.data) uwTickFreq 0x20000008 Data 1 stm32f4xx_hal.o(.data) @@ -3760,6 +3773,7 @@ Image Symbol Table tick_previous 0x20000184 Data 4 provalctrl.o(.data) tick_current 0x20000188 Data 4 provalctrl.o(.data) hys_flag 0x2000018c Data 1 provalctrl.o(.data) + temp_cnt 0x2000018d Data 1 provalctrl.o(.data) last_encode_num 0x20000190 Data 4 encoder.o(.data) curr_encode_num 0x20000194 Data 4 encoder.o(.data) encode_num 0x20000198 Data 4 encoder.o(.data) @@ -3797,12 +3811,10 @@ Image Symbol Table pv_two 0x2000143c Data 148 provalctrl.o(.bss) data_wr 0x200014d0 Data 12 provalctrl.o(.bss) data_rd 0x200014dc Data 12 provalctrl.o(.bss) - adj_pv1 0x200014e8 Data 68 provalctrl.o(.bss) - adj_pv2 0x2000152c Data 68 provalctrl.o(.bss) - adj_section_pv1 0x20001570 Data 92 provalctrl.o(.bss) - adj_section_pv2 0x200015cc Data 92 provalctrl.o(.bss) - __libspace_start 0x20001628 Data 96 libspace.o(.bss) - __temporary_stack_top$libspace 0x20001688 Data 0 libspace.o(.bss) + adj_pv1 0x200014e8 Data 116 provalctrl.o(.bss) + adj_pv2 0x2000155c Data 116 provalctrl.o(.bss) + __libspace_start 0x200015d0 Data 96 libspace.o(.bss) + __temporary_stack_top$libspace 0x20001630 Data 0 libspace.o(.bss) @@ -3812,73 +3824,73 @@ Memory Map of the image Image Entry point : 0x08000189 - Load Region LR_IROM1 (Base: 0x08000000, Size: 0x00008990, Max: 0x00100000, ABSOLUTE, COMPRESSED[0x00008810]) + Load Region LR_IROM1 (Base: 0x08000000, Size: 0x00008e10, Max: 0x00100000, ABSOLUTE, COMPRESSED[0x00008c90]) - Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x000087f0, Max: 0x00100000, ABSOLUTE) + Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00008c70, Max: 0x00100000, ABSOLUTE) Exec Addr Load Addr Size Type Attr Idx E Section Name Object 0x08000000 0x08000000 0x00000188 Data RO 3 RESET startup_stm32f407xx.o - 0x08000188 0x08000188 0x00000008 Code RO 6207 * !!!main c_w.l(__main.o) - 0x08000190 0x08000190 0x00000034 Code RO 6504 !!!scatter c_w.l(__scatter.o) - 0x080001c4 0x080001c4 0x0000005a Code RO 6502 !!dczerorl2 c_w.l(__dczerorl2.o) + 0x08000188 0x08000188 0x00000008 Code RO 6213 * !!!main c_w.l(__main.o) + 0x08000190 0x08000190 0x00000034 Code RO 6510 !!!scatter c_w.l(__scatter.o) + 0x080001c4 0x080001c4 0x0000005a Code RO 6508 !!dczerorl2 c_w.l(__dczerorl2.o) 0x0800021e 0x0800021e 0x00000002 PAD - 0x08000220 0x08000220 0x0000001c Code RO 6506 !!handler_zi c_w.l(__scatter_zi.o) - 0x0800023c 0x0800023c 0x00000002 Code RO 6371 .ARM.Collect$$libinit$$00000000 c_w.l(libinit.o) - 0x0800023e 0x0800023e 0x00000004 Code RO 6384 .ARM.Collect$$libinit$$00000001 c_w.l(libinit2.o) - 0x08000242 0x08000242 0x00000000 Code RO 6387 .ARM.Collect$$libinit$$00000004 c_w.l(libinit2.o) - 0x08000242 0x08000242 0x00000000 Code RO 6390 .ARM.Collect$$libinit$$0000000A c_w.l(libinit2.o) - 0x08000242 0x08000242 0x00000000 Code RO 6392 .ARM.Collect$$libinit$$0000000C c_w.l(libinit2.o) - 0x08000242 0x08000242 0x00000000 Code RO 6394 .ARM.Collect$$libinit$$0000000E c_w.l(libinit2.o) - 0x08000242 0x08000242 0x00000000 Code RO 6397 .ARM.Collect$$libinit$$00000011 c_w.l(libinit2.o) - 0x08000242 0x08000242 0x00000000 Code RO 6399 .ARM.Collect$$libinit$$00000013 c_w.l(libinit2.o) - 0x08000242 0x08000242 0x00000000 Code RO 6401 .ARM.Collect$$libinit$$00000015 c_w.l(libinit2.o) - 0x08000242 0x08000242 0x00000000 Code RO 6403 .ARM.Collect$$libinit$$00000017 c_w.l(libinit2.o) - 0x08000242 0x08000242 0x00000000 Code RO 6405 .ARM.Collect$$libinit$$00000019 c_w.l(libinit2.o) - 0x08000242 0x08000242 0x00000000 Code RO 6407 .ARM.Collect$$libinit$$0000001B c_w.l(libinit2.o) - 0x08000242 0x08000242 0x00000000 Code RO 6409 .ARM.Collect$$libinit$$0000001D c_w.l(libinit2.o) - 0x08000242 0x08000242 0x00000000 Code RO 6411 .ARM.Collect$$libinit$$0000001F c_w.l(libinit2.o) - 0x08000242 0x08000242 0x00000000 Code RO 6413 .ARM.Collect$$libinit$$00000021 c_w.l(libinit2.o) - 0x08000242 0x08000242 0x00000000 Code RO 6415 .ARM.Collect$$libinit$$00000023 c_w.l(libinit2.o) - 0x08000242 0x08000242 0x00000000 Code RO 6417 .ARM.Collect$$libinit$$00000025 c_w.l(libinit2.o) - 0x08000242 0x08000242 0x00000000 Code RO 6421 .ARM.Collect$$libinit$$0000002C c_w.l(libinit2.o) - 0x08000242 0x08000242 0x00000000 Code RO 6423 .ARM.Collect$$libinit$$0000002E c_w.l(libinit2.o) - 0x08000242 0x08000242 0x00000000 Code RO 6425 .ARM.Collect$$libinit$$00000030 c_w.l(libinit2.o) - 0x08000242 0x08000242 0x00000000 Code RO 6427 .ARM.Collect$$libinit$$00000032 c_w.l(libinit2.o) - 0x08000242 0x08000242 0x00000002 Code RO 6428 .ARM.Collect$$libinit$$00000033 c_w.l(libinit2.o) - 0x08000244 0x08000244 0x00000002 Code RO 6456 .ARM.Collect$$libshutdown$$00000000 c_w.l(libshutdown.o) - 0x08000246 0x08000246 0x00000000 Code RO 6483 .ARM.Collect$$libshutdown$$00000002 c_w.l(libshutdown2.o) - 0x08000246 0x08000246 0x00000000 Code RO 6485 .ARM.Collect$$libshutdown$$00000004 c_w.l(libshutdown2.o) - 0x08000246 0x08000246 0x00000000 Code RO 6487 .ARM.Collect$$libshutdown$$00000006 c_w.l(libshutdown2.o) - 0x08000246 0x08000246 0x00000000 Code RO 6490 .ARM.Collect$$libshutdown$$00000009 c_w.l(libshutdown2.o) - 0x08000246 0x08000246 0x00000000 Code RO 6493 .ARM.Collect$$libshutdown$$0000000C c_w.l(libshutdown2.o) - 0x08000246 0x08000246 0x00000000 Code RO 6495 .ARM.Collect$$libshutdown$$0000000E c_w.l(libshutdown2.o) - 0x08000246 0x08000246 0x00000000 Code RO 6498 .ARM.Collect$$libshutdown$$00000011 c_w.l(libshutdown2.o) - 0x08000246 0x08000246 0x00000002 Code RO 6499 .ARM.Collect$$libshutdown$$00000012 c_w.l(libshutdown2.o) - 0x08000248 0x08000248 0x00000000 Code RO 6257 .ARM.Collect$$rtentry$$00000000 c_w.l(__rtentry.o) - 0x08000248 0x08000248 0x00000000 Code RO 6320 .ARM.Collect$$rtentry$$00000002 c_w.l(__rtentry2.o) - 0x08000248 0x08000248 0x00000006 Code RO 6332 .ARM.Collect$$rtentry$$00000004 c_w.l(__rtentry4.o) - 0x0800024e 0x0800024e 0x00000000 Code RO 6322 .ARM.Collect$$rtentry$$00000009 c_w.l(__rtentry2.o) - 0x0800024e 0x0800024e 0x00000004 Code RO 6323 .ARM.Collect$$rtentry$$0000000A c_w.l(__rtentry2.o) - 0x08000252 0x08000252 0x00000000 Code RO 6325 .ARM.Collect$$rtentry$$0000000C c_w.l(__rtentry2.o) - 0x08000252 0x08000252 0x00000008 Code RO 6326 .ARM.Collect$$rtentry$$0000000D c_w.l(__rtentry2.o) - 0x0800025a 0x0800025a 0x00000002 Code RO 6376 .ARM.Collect$$rtexit$$00000000 c_w.l(rtexit.o) - 0x0800025c 0x0800025c 0x00000000 Code RO 6432 .ARM.Collect$$rtexit$$00000002 c_w.l(rtexit2.o) - 0x0800025c 0x0800025c 0x00000004 Code RO 6433 .ARM.Collect$$rtexit$$00000003 c_w.l(rtexit2.o) - 0x08000260 0x08000260 0x00000006 Code RO 6434 .ARM.Collect$$rtexit$$00000004 c_w.l(rtexit2.o) + 0x08000220 0x08000220 0x0000001c Code RO 6512 !!handler_zi c_w.l(__scatter_zi.o) + 0x0800023c 0x0800023c 0x00000002 Code RO 6377 .ARM.Collect$$libinit$$00000000 c_w.l(libinit.o) + 0x0800023e 0x0800023e 0x00000004 Code RO 6390 .ARM.Collect$$libinit$$00000001 c_w.l(libinit2.o) + 0x08000242 0x08000242 0x00000000 Code RO 6393 .ARM.Collect$$libinit$$00000004 c_w.l(libinit2.o) + 0x08000242 0x08000242 0x00000000 Code RO 6396 .ARM.Collect$$libinit$$0000000A c_w.l(libinit2.o) + 0x08000242 0x08000242 0x00000000 Code RO 6398 .ARM.Collect$$libinit$$0000000C c_w.l(libinit2.o) + 0x08000242 0x08000242 0x00000000 Code RO 6400 .ARM.Collect$$libinit$$0000000E c_w.l(libinit2.o) + 0x08000242 0x08000242 0x00000000 Code RO 6403 .ARM.Collect$$libinit$$00000011 c_w.l(libinit2.o) + 0x08000242 0x08000242 0x00000000 Code RO 6405 .ARM.Collect$$libinit$$00000013 c_w.l(libinit2.o) + 0x08000242 0x08000242 0x00000000 Code RO 6407 .ARM.Collect$$libinit$$00000015 c_w.l(libinit2.o) + 0x08000242 0x08000242 0x00000000 Code RO 6409 .ARM.Collect$$libinit$$00000017 c_w.l(libinit2.o) + 0x08000242 0x08000242 0x00000000 Code RO 6411 .ARM.Collect$$libinit$$00000019 c_w.l(libinit2.o) + 0x08000242 0x08000242 0x00000000 Code RO 6413 .ARM.Collect$$libinit$$0000001B c_w.l(libinit2.o) + 0x08000242 0x08000242 0x00000000 Code RO 6415 .ARM.Collect$$libinit$$0000001D c_w.l(libinit2.o) + 0x08000242 0x08000242 0x00000000 Code RO 6417 .ARM.Collect$$libinit$$0000001F c_w.l(libinit2.o) + 0x08000242 0x08000242 0x00000000 Code RO 6419 .ARM.Collect$$libinit$$00000021 c_w.l(libinit2.o) + 0x08000242 0x08000242 0x00000000 Code RO 6421 .ARM.Collect$$libinit$$00000023 c_w.l(libinit2.o) + 0x08000242 0x08000242 0x00000000 Code RO 6423 .ARM.Collect$$libinit$$00000025 c_w.l(libinit2.o) + 0x08000242 0x08000242 0x00000000 Code RO 6427 .ARM.Collect$$libinit$$0000002C c_w.l(libinit2.o) + 0x08000242 0x08000242 0x00000000 Code RO 6429 .ARM.Collect$$libinit$$0000002E c_w.l(libinit2.o) + 0x08000242 0x08000242 0x00000000 Code RO 6431 .ARM.Collect$$libinit$$00000030 c_w.l(libinit2.o) + 0x08000242 0x08000242 0x00000000 Code RO 6433 .ARM.Collect$$libinit$$00000032 c_w.l(libinit2.o) + 0x08000242 0x08000242 0x00000002 Code RO 6434 .ARM.Collect$$libinit$$00000033 c_w.l(libinit2.o) + 0x08000244 0x08000244 0x00000002 Code RO 6462 .ARM.Collect$$libshutdown$$00000000 c_w.l(libshutdown.o) + 0x08000246 0x08000246 0x00000000 Code RO 6489 .ARM.Collect$$libshutdown$$00000002 c_w.l(libshutdown2.o) + 0x08000246 0x08000246 0x00000000 Code RO 6491 .ARM.Collect$$libshutdown$$00000004 c_w.l(libshutdown2.o) + 0x08000246 0x08000246 0x00000000 Code RO 6493 .ARM.Collect$$libshutdown$$00000006 c_w.l(libshutdown2.o) + 0x08000246 0x08000246 0x00000000 Code RO 6496 .ARM.Collect$$libshutdown$$00000009 c_w.l(libshutdown2.o) + 0x08000246 0x08000246 0x00000000 Code RO 6499 .ARM.Collect$$libshutdown$$0000000C c_w.l(libshutdown2.o) + 0x08000246 0x08000246 0x00000000 Code RO 6501 .ARM.Collect$$libshutdown$$0000000E c_w.l(libshutdown2.o) + 0x08000246 0x08000246 0x00000000 Code RO 6504 .ARM.Collect$$libshutdown$$00000011 c_w.l(libshutdown2.o) + 0x08000246 0x08000246 0x00000002 Code RO 6505 .ARM.Collect$$libshutdown$$00000012 c_w.l(libshutdown2.o) + 0x08000248 0x08000248 0x00000000 Code RO 6263 .ARM.Collect$$rtentry$$00000000 c_w.l(__rtentry.o) + 0x08000248 0x08000248 0x00000000 Code RO 6326 .ARM.Collect$$rtentry$$00000002 c_w.l(__rtentry2.o) + 0x08000248 0x08000248 0x00000006 Code RO 6338 .ARM.Collect$$rtentry$$00000004 c_w.l(__rtentry4.o) + 0x0800024e 0x0800024e 0x00000000 Code RO 6328 .ARM.Collect$$rtentry$$00000009 c_w.l(__rtentry2.o) + 0x0800024e 0x0800024e 0x00000004 Code RO 6329 .ARM.Collect$$rtentry$$0000000A c_w.l(__rtentry2.o) + 0x08000252 0x08000252 0x00000000 Code RO 6331 .ARM.Collect$$rtentry$$0000000C c_w.l(__rtentry2.o) + 0x08000252 0x08000252 0x00000008 Code RO 6332 .ARM.Collect$$rtentry$$0000000D c_w.l(__rtentry2.o) + 0x0800025a 0x0800025a 0x00000002 Code RO 6382 .ARM.Collect$$rtexit$$00000000 c_w.l(rtexit.o) + 0x0800025c 0x0800025c 0x00000000 Code RO 6438 .ARM.Collect$$rtexit$$00000002 c_w.l(rtexit2.o) + 0x0800025c 0x0800025c 0x00000004 Code RO 6439 .ARM.Collect$$rtexit$$00000003 c_w.l(rtexit2.o) + 0x08000260 0x08000260 0x00000006 Code RO 6440 .ARM.Collect$$rtexit$$00000004 c_w.l(rtexit2.o) 0x08000266 0x08000266 0x00000002 PAD 0x08000268 0x08000268 0x00000040 Code RO 4 .text startup_stm32f407xx.o - 0x080002a8 0x080002a8 0x00000002 Code RO 6134 .text c_w.l(use_no_semi.o) - 0x080002aa 0x080002aa 0x00000002 Code RO 6136 .text c_w.l(use_no_semi_2.o) - 0x080002ac 0x080002ac 0x000000ee Code RO 6138 .text c_w.l(lludivv7m.o) - 0x0800039a 0x0800039a 0x00000048 Code RO 6140 .text c_w.l(llsdiv.o) - 0x080003e2 0x080003e2 0x0000008a Code RO 6199 .text c_w.l(rt_memcpy_v6.o) - 0x0800046c 0x0800046c 0x00000064 Code RO 6201 .text c_w.l(rt_memcpy_w.o) - 0x080004d0 0x080004d0 0x0000004e Code RO 6203 .text c_w.l(rt_memclr_w.o) - 0x0800051e 0x0800051e 0x00000006 Code RO 6205 .text c_w.l(heapauxi.o) - 0x08000524 0x08000524 0x00000008 Code RO 6353 .text c_w.l(libspace.o) - 0x0800052c 0x0800052c 0x0000004a Code RO 6356 .text c_w.l(sys_stackheap_outer.o) - 0x08000576 0x08000576 0x00000012 Code RO 6360 .text c_w.l(exit.o) + 0x080002a8 0x080002a8 0x00000002 Code RO 6140 .text c_w.l(use_no_semi.o) + 0x080002aa 0x080002aa 0x00000002 Code RO 6142 .text c_w.l(use_no_semi_2.o) + 0x080002ac 0x080002ac 0x000000ee Code RO 6144 .text c_w.l(lludivv7m.o) + 0x0800039a 0x0800039a 0x00000048 Code RO 6146 .text c_w.l(llsdiv.o) + 0x080003e2 0x080003e2 0x0000008a Code RO 6205 .text c_w.l(rt_memcpy_v6.o) + 0x0800046c 0x0800046c 0x00000064 Code RO 6207 .text c_w.l(rt_memcpy_w.o) + 0x080004d0 0x080004d0 0x0000004e Code RO 6209 .text c_w.l(rt_memclr_w.o) + 0x0800051e 0x0800051e 0x00000006 Code RO 6211 .text c_w.l(heapauxi.o) + 0x08000524 0x08000524 0x00000008 Code RO 6359 .text c_w.l(libspace.o) + 0x0800052c 0x0800052c 0x0000004a Code RO 6362 .text c_w.l(sys_stackheap_outer.o) + 0x08000576 0x08000576 0x00000012 Code RO 6366 .text c_w.l(exit.o) 0x08000588 0x08000588 0x0000007e Code RO 775 i.ADC_DMAConvCplt stm32f4xx_hal_adc.o 0x08000606 0x08000606 0x0000001a Code RO 776 i.ADC_DMAError stm32f4xx_hal_adc.o 0x08000620 0x08000620 0x0000000e Code RO 777 i.ADC_DMAHalfConvCplt stm32f4xx_hal_adc.o @@ -4078,8 +4090,8 @@ Memory Map of the image 0x08005a90 0x08005a90 0x00000028 Code RO 4630 i.ee_readfloats eeprom.o 0x08005ab8 0x08005ab8 0x000000bc Code RO 4631 i.ee_writebytes eeprom.o 0x08005b74 0x08005b74 0x00000024 Code RO 4632 i.ee_writefloats eeprom.o - 0x08005b98 0x08005b98 0x00000058 Code RO 6055 i.encoder_init encoder.o - 0x08005bf0 0x08005bf0 0x00000090 Code RO 6056 i.encoder_run encoder.o + 0x08005b98 0x08005b98 0x00000058 Code RO 6061 i.encoder_init encoder.o + 0x08005bf0 0x08005bf0 0x00000090 Code RO 6062 i.encoder_run encoder.o 0x08005c80 0x08005c80 0x0000006c Code RO 4905 i.hc595_write_data hc595.o 0x08005cec 0x08005cec 0x00000030 Code RO 4633 i.i2c_ack eeprom.o 0x08005d1c 0x08005d1c 0x0000000e Code RO 4635 i.i2c_delay eeprom.o @@ -4091,54 +4103,57 @@ Memory Map of the image 0x08005e1c 0x08005e1c 0x00000024 Code RO 4640 i.i2c_stop eeprom.o 0x08005e40 0x08005e40 0x00000038 Code RO 4641 i.i2c_waitack eeprom.o 0x08005e78 0x08005e78 0x00000024 Code RO 5833 i.led_ctrl gpios.o - 0x08005e9c 0x08005e9c 0x0000008c Code RO 18 i.main main.o - 0x08005f28 0x08005f28 0x000001a8 Code RO 4968 i.mf5803_loop mf5803.o - 0x080060d0 0x080060d0 0x000000c0 Code RO 4969 i.mf5803_setup mf5803.o - 0x08006190 0x08006190 0x000000b4 Code RO 5108 i.modbus_analysis_rtu modbus_rtu.o - 0x08006244 0x08006244 0x00000080 Code RO 5109 i.modbus_errfunction_rtu modbus_rtu.o - 0x080062c4 0x080062c4 0x00000044 Code RO 5110 i.modbus_process_rtu modbus_rtu.o - 0x08006308 0x08006308 0x00000054 Code RO 5111 i.modbus_rtu_init modbus_rtu.o - 0x0800635c 0x0800635c 0x00000084 Code RO 5112 i.modbus_rx_cb modbus_rtu.o - 0x080063e0 0x080063e0 0x00000694 Code RO 5964 i.prov_adj provalctrl.o - 0x08006a74 0x08006a74 0x000000b8 Code RO 5965 i.prov_adj_init provalctrl.o - 0x08006b2c 0x08006b2c 0x000003cc Code RO 5968 i.prov_calibrate_pid provalctrl.o - 0x08006ef8 0x08006ef8 0x0000006c Code RO 5969 i.prov_ctrl provalctrl.o - 0x08006f64 0x08006f64 0x000002a0 Code RO 5970 i.prov_init provalctrl.o - 0x08007204 0x08007204 0x00000100 Code RO 5971 i.prov_set provalctrl.o - 0x08007304 0x08007304 0x00000150 Code RO 5113 i.readcoilstate_rtu modbus_rtu.o - 0x08007454 0x08007454 0x0000014c Code RO 5114 i.readdisinputstate_rtu modbus_rtu.o - 0x080075a0 0x080075a0 0x0000010c Code RO 5115 i.readholdreg_rtu modbus_rtu.o - 0x080076ac 0x080076ac 0x00000104 Code RO 5116 i.readinputreg_rtu modbus_rtu.o - 0x080077b0 0x080077b0 0x00000068 Code RO 4749 i.setcs ms5803.o - 0x08007818 0x08007818 0x0000020c Code RO 5867 i.tim6_cnt timer.o - 0x08007a24 0x08007a24 0x00000014 Code RO 5910 i.uart_send uarts.o - 0x08007a38 0x08007a38 0x00000022 Code RO 4970 i.wf5803_ReadReg mf5803.o - 0x08007a5a 0x08007a5a 0x00000022 Code RO 4972 i.wf5803_WriteReg mf5803.o - 0x08007a7c 0x08007a7c 0x0000014c Code RO 5117 i.writemulticoil_rtu modbus_rtu.o - 0x08007bc8 0x08007bc8 0x00000104 Code RO 5118 i.writemultireg_rtu modbus_rtu.o - 0x08007ccc 0x08007ccc 0x000000c4 Code RO 5119 i.writesinglecoil_rtu modbus_rtu.o - 0x08007d90 0x08007d90 0x000000b8 Code RO 5120 i.writesinglereg_rtu modbus_rtu.o - 0x08007e48 0x08007e48 0x00000150 Code RO 6209 x$fpl$dadd fz_wm.l(daddsub_clz.o) - 0x08007f98 0x08007f98 0x000002b0 Code RO 6216 x$fpl$ddiv fz_wm.l(ddiv.o) - 0x08008248 0x08008248 0x0000005e Code RO 6219 x$fpl$dfix fz_wm.l(dfix.o) - 0x080082a6 0x080082a6 0x00000002 PAD - 0x080082a8 0x080082a8 0x0000005a Code RO 6227 x$fpl$dfixu fz_wm.l(dfixu.o) - 0x08008302 0x08008302 0x0000002e Code RO 6232 x$fpl$dflt fz_wm.l(dflt_clz.o) - 0x08008330 0x08008330 0x000000a2 Code RO 6237 x$fpl$dfltll fz_wm.l(dfltll_clz.o) - 0x080083d2 0x080083d2 0x00000002 PAD - 0x080083d4 0x080083d4 0x00000154 Code RO 6241 x$fpl$dmul fz_wm.l(dmul.o) - 0x08008528 0x08008528 0x0000009c Code RO 6273 x$fpl$dnaninf fz_wm.l(dnaninf.o) - 0x080085c4 0x080085c4 0x0000000c Code RO 6275 x$fpl$dretinf fz_wm.l(dretinf.o) - 0x080085d0 0x080085d0 0x000001d4 Code RO 6211 x$fpl$dsub fz_wm.l(daddsub_clz.o) - 0x080087a4 0x080087a4 0x0000000a Code RO 6444 x$fpl$fpinit fz_wm.l(fpinit.o) - 0x080087ae 0x080087ae 0x00000000 Code RO 6281 x$fpl$usenofp fz_wm.l(usenofp.o) - 0x080087ae 0x080087ae 0x00000008 Data RO 1572 .constdata stm32f4xx_hal_dma.o - 0x080087b6 0x080087b6 0x00000018 Data RO 4417 .constdata system_stm32f4xx.o - 0x080087ce 0x080087ce 0x00000002 PAD - 0x080087d0 0x080087d0 0x00000020 Data RO 6500 Region$$Table anon$$obj.o + 0x08005e9c 0x08005e9c 0x00000090 Code RO 18 i.main main.o + 0x08005f2c 0x08005f2c 0x000001a8 Code RO 4968 i.mf5803_loop mf5803.o + 0x080060d4 0x080060d4 0x000000c0 Code RO 4969 i.mf5803_setup mf5803.o + 0x08006194 0x08006194 0x000000b4 Code RO 5108 i.modbus_analysis_rtu modbus_rtu.o + 0x08006248 0x08006248 0x00000080 Code RO 5109 i.modbus_errfunction_rtu modbus_rtu.o + 0x080062c8 0x080062c8 0x00000044 Code RO 5110 i.modbus_process_rtu modbus_rtu.o + 0x0800630c 0x0800630c 0x00000054 Code RO 5111 i.modbus_rtu_init modbus_rtu.o + 0x08006360 0x08006360 0x00000084 Code RO 5112 i.modbus_rx_cb modbus_rtu.o + 0x080063e4 0x080063e4 0x00000694 Code RO 5964 i.prov_adj provalctrl.o + 0x08006a78 0x08006a78 0x000000b8 Code RO 5965 i.prov_adj_init provalctrl.o + 0x08006b30 0x08006b30 0x00000270 Code RO 5966 i.prov_adj_section provalctrl.o + 0x08006da0 0x08006da0 0x00000088 Code RO 5967 i.prov_adj_section_init provalctrl.o + 0x08006e28 0x08006e28 0x000003cc Code RO 5968 i.prov_calibrate_pid provalctrl.o + 0x080071f4 0x080071f4 0x0000008c Code RO 5969 i.prov_ctrl provalctrl.o + 0x08007280 0x08007280 0x000002a0 Code RO 5970 i.prov_init provalctrl.o + 0x08007520 0x08007520 0x000000f8 Code RO 5971 i.prov_section_calculate provalctrl.o + 0x08007618 0x08007618 0x0000016c Code RO 5972 i.prov_set provalctrl.o + 0x08007784 0x08007784 0x00000150 Code RO 5113 i.readcoilstate_rtu modbus_rtu.o + 0x080078d4 0x080078d4 0x0000014c Code RO 5114 i.readdisinputstate_rtu modbus_rtu.o + 0x08007a20 0x08007a20 0x0000010c Code RO 5115 i.readholdreg_rtu modbus_rtu.o + 0x08007b2c 0x08007b2c 0x00000104 Code RO 5116 i.readinputreg_rtu modbus_rtu.o + 0x08007c30 0x08007c30 0x00000068 Code RO 4749 i.setcs ms5803.o + 0x08007c98 0x08007c98 0x0000020c Code RO 5867 i.tim6_cnt timer.o + 0x08007ea4 0x08007ea4 0x00000014 Code RO 5910 i.uart_send uarts.o + 0x08007eb8 0x08007eb8 0x00000022 Code RO 4970 i.wf5803_ReadReg mf5803.o + 0x08007eda 0x08007eda 0x00000022 Code RO 4972 i.wf5803_WriteReg mf5803.o + 0x08007efc 0x08007efc 0x0000014c Code RO 5117 i.writemulticoil_rtu modbus_rtu.o + 0x08008048 0x08008048 0x00000104 Code RO 5118 i.writemultireg_rtu modbus_rtu.o + 0x0800814c 0x0800814c 0x000000c4 Code RO 5119 i.writesinglecoil_rtu modbus_rtu.o + 0x08008210 0x08008210 0x000000b8 Code RO 5120 i.writesinglereg_rtu modbus_rtu.o + 0x080082c8 0x080082c8 0x00000150 Code RO 6215 x$fpl$dadd fz_wm.l(daddsub_clz.o) + 0x08008418 0x08008418 0x000002b0 Code RO 6222 x$fpl$ddiv fz_wm.l(ddiv.o) + 0x080086c8 0x080086c8 0x0000005e Code RO 6225 x$fpl$dfix fz_wm.l(dfix.o) + 0x08008726 0x08008726 0x00000002 PAD + 0x08008728 0x08008728 0x0000005a Code RO 6233 x$fpl$dfixu fz_wm.l(dfixu.o) + 0x08008782 0x08008782 0x0000002e Code RO 6238 x$fpl$dflt fz_wm.l(dflt_clz.o) + 0x080087b0 0x080087b0 0x000000a2 Code RO 6243 x$fpl$dfltll fz_wm.l(dfltll_clz.o) + 0x08008852 0x08008852 0x00000002 PAD + 0x08008854 0x08008854 0x00000154 Code RO 6247 x$fpl$dmul fz_wm.l(dmul.o) + 0x080089a8 0x080089a8 0x0000009c Code RO 6279 x$fpl$dnaninf fz_wm.l(dnaninf.o) + 0x08008a44 0x08008a44 0x0000000c Code RO 6281 x$fpl$dretinf fz_wm.l(dretinf.o) + 0x08008a50 0x08008a50 0x000001d4 Code RO 6217 x$fpl$dsub fz_wm.l(daddsub_clz.o) + 0x08008c24 0x08008c24 0x0000000a Code RO 6450 x$fpl$fpinit fz_wm.l(fpinit.o) + 0x08008c2e 0x08008c2e 0x00000000 Code RO 6287 x$fpl$usenofp fz_wm.l(usenofp.o) + 0x08008c2e 0x08008c2e 0x00000008 Data RO 1572 .constdata stm32f4xx_hal_dma.o + 0x08008c36 0x08008c36 0x00000018 Data RO 4417 .constdata system_stm32f4xx.o + 0x08008c4e 0x08008c4e 0x00000002 PAD + 0x08008c50 0x08008c50 0x00000020 Data RO 6506 Region$$Table anon$$obj.o - Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x080087f0, Size: 0x00001c88, Max: 0x0001c000, ABSOLUTE, COMPRESSED[0x00000020]) + Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x08008c70, Size: 0x00001c30, Max: 0x0001c000, ABSOLUTE, COMPRESSED[0x00000020]) Exec Addr Load Addr Size Type Attr Idx E Section Name Object @@ -4158,9 +4173,9 @@ Memory Map of the image 0x200000f0 COMPRESSED 0x00000069 Data RW 5868 .data timer.o 0x20000159 COMPRESSED 0x00000003 PAD 0x2000015c COMPRESSED 0x00000008 Data RW 5912 .data uarts.o - 0x20000164 COMPRESSED 0x00000029 Data RW 5973 .data provalctrl.o - 0x2000018d COMPRESSED 0x00000003 PAD - 0x20000190 COMPRESSED 0x00000010 Data RW 6057 .data encoder.o + 0x20000164 COMPRESSED 0x0000002a Data RW 5974 .data provalctrl.o + 0x2000018e COMPRESSED 0x00000002 PAD + 0x20000190 COMPRESSED 0x00000010 Data RW 6063 .data encoder.o 0x200001a0 - 0x000000a8 Zero RW 312 .bss adc.o 0x20000248 - 0x00000054 Zero RW 378 .bss i2c.o 0x2000029c - 0x00000058 Zero RW 420 .bss spi.o @@ -4173,13 +4188,13 @@ Memory Map of the image 0x200009d0 - 0x000000c4 Zero RW 5047 .bss modbus.o 0x20000a94 - 0x00000800 Zero RW 5121 .bss modbus_rtu.o 0x20001294 - 0x00000114 Zero RW 5911 .bss uarts.o - 0x200013a8 - 0x00000280 Zero RW 5972 .bss provalctrl.o - 0x20001628 - 0x00000060 Zero RW 6354 .bss c_w.l(libspace.o) - 0x20001688 - 0x00000200 Zero RW 2 HEAP startup_stm32f407xx.o - 0x20001888 - 0x00000400 Zero RW 1 STACK startup_stm32f407xx.o + 0x200013a8 - 0x00000228 Zero RW 5973 .bss provalctrl.o + 0x200015d0 - 0x00000060 Zero RW 6360 .bss c_w.l(libspace.o) + 0x20001630 - 0x00000200 Zero RW 2 HEAP startup_stm32f407xx.o + 0x20001830 - 0x00000400 Zero RW 1 STACK startup_stm32f407xx.o - Execution Region RW_IRAM2 (Exec base: 0x2001c000, Load base: 0x08008810, Size: 0x00000000, Max: 0x00004000, ABSOLUTE) + Execution Region RW_IRAM2 (Exec base: 0x2001c000, Load base: 0x08008c90, Size: 0x00000000, Max: 0x00004000, ABSOLUTE) **** No section assigned to this execution region **** @@ -4205,12 +4220,12 @@ Image component sizes 152 12 0 0 0 1189 hc165.o 152 16 0 0 0 1182 hc595.o 196 26 0 0 84 1801 i2c.o - 446 22 0 0 0 724479 main.o + 450 22 0 0 0 724483 main.o 968 70 0 25 480 5418 mf5803.o 358 32 0 110 196 7004 modbus.o 2760 146 0 0 2048 13814 modbus_rtu.o 256 50 0 17 0 3087 ms5803.o - 4704 266 0 41 640 14825 provalctrl.o + 5852 350 0 42 552 17234 provalctrl.o 204 22 0 0 88 1813 spi.o 64 26 392 0 1536 868 startup_stm32f407xx.o 212 36 0 9 0 9681 stm32f4xx_hal.o @@ -4233,9 +4248,9 @@ Image component sizes 1288 114 0 0 840 5126 usart.o ---------------------------------------------------------------------- - 30976 2058 458 416 6792 948385 Object Totals + 32128 2142 458 416 6704 950798 Object Totals 0 0 32 0 0 0 (incl. Generated) - 32 0 2 13 3 0 (incl. Padding) + 32 0 2 12 3 0 (incl. Padding) ---------------------------------------------------------------------- @@ -4298,15 +4313,15 @@ Image component sizes Code (inc. data) RO Data RW Data ZI Data Debug - 34342 2250 458 416 6888 928133 Grand Totals - 34342 2250 458 32 6888 928133 ELF Image Totals (compressed) - 34342 2250 458 32 0 0 ROM Totals + 35494 2334 458 416 6800 930346 Grand Totals + 35494 2334 458 32 6800 930346 ELF Image Totals (compressed) + 35494 2334 458 32 0 0 ROM Totals ============================================================================== - Total RO Size (Code + RO Data) 34800 ( 33.98kB) - Total RW Size (RW Data + ZI Data) 7304 ( 7.13kB) - Total ROM Size (Code + RO Data + RW Data) 34832 ( 34.02kB) + Total RO Size (Code + RO Data) 35952 ( 35.11kB) + Total RW Size (RW Data + ZI Data) 7216 ( 7.05kB) + Total ROM Size (Code + RO Data + RW Data) 35984 ( 35.14kB) ============================================================================== diff --git a/MDK-ARM/VOQC/VOQC_VOQC.dep b/MDK-ARM/VOQC/VOQC_VOQC.dep index 0b13edd..9fc4a2d 100644 --- a/MDK-ARM/VOQC/VOQC_VOQC.dep +++ b/MDK-ARM/VOQC/VOQC_VOQC.dep @@ -1,7 +1,7 @@ Dependencies for Project 'VOQC', Target 'VOQC': (DO NOT MODIFY !) CompilerVersion: 5060960::V5.06 update 7 (build 960)::.\ARMCC F (startup_stm32f407xx.s)(0x66C45208)(--cpu Cortex-M4.fp.sp -g --apcs=interwork -I.\RTE\_VOQC -IE:\Softwares\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include -IE:\Softwares\Arm\Packs\Keil\STM32F4xx_DFP\2.15.0\Drivers\CMSIS\Device\ST\STM32F4xx\Include --pd "__UVISION_VERSION SETA 539" --pd "_RTE_ SETA 1" --pd "STM32F407xx SETA 1" --pd "_RTE_ SETA 1" --list startup_stm32f407xx.lst --xref -o voqc\startup_stm32f407xx.o --depend voqc\startup_stm32f407xx.d) -F (../Core/Src/main.c)(0x66D1563F)(--c99 -c --cpu Cortex-M4.fp.sp -g -O0 -Otime --apcs=interwork --split_sections -I ../Core/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I ../Drivers/CMSIS/Include -I ../board/Inc -I ../CH395Q -I ../modbus/Inc -I ../users/Inc -I.\RTE\_VOQC -IE:\Softwares\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include -IE:\Softwares\Arm\Packs\Keil\STM32F4xx_DFP\2.15.0\Drivers\CMSIS\Device\ST\STM32F4xx\Include -D__UVISION_VERSION="539" -D_RTE_ -DSTM32F407xx -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F407xx -o voqc\main.o --omf_browse voqc\main.crf --depend voqc\main.d) +F (../Core/Src/main.c)(0x66E246CC)(--c99 -c --cpu Cortex-M4.fp.sp -g -O0 -Otime --apcs=interwork --split_sections -I ../Core/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I ../Drivers/CMSIS/Include -I ../board/Inc -I ../CH395Q -I ../modbus/Inc -I ../users/Inc -I.\RTE\_VOQC -IE:\Softwares\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include -IE:\Softwares\Arm\Packs\Keil\STM32F4xx_DFP\2.15.0\Drivers\CMSIS\Device\ST\STM32F4xx\Include -D__UVISION_VERSION="539" -D_RTE_ -DSTM32F407xx -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F407xx -o voqc\main.o --omf_browse voqc\main.crf --depend voqc\main.d) I (../Core/Inc/main.h)(0x66C45208) I (../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h)(0x66C45208) I (../Core/Inc/stm32f4xx_hal_conf.h)(0x66C45208) @@ -66,7 +66,7 @@ I (E:\Softwares\Keil_v5\ARM\ARMCC\include\math.h)(0x5E8E3CC2) I (../board/Inc/ms5803.h)(0x66C45208) I (../board/Inc/ds18b20.h)(0x66C45208) I (../board/Inc/dac7311.h)(0x66C45208) -I (../users/Inc/provalctrl.h)(0x66E1315A) +I (../users/Inc/provalctrl.h)(0x66E246CC) I (../board/Inc/eeprom.h)(0x66D1563F) F (../Core/Src/gpio.c)(0x66C45208)(--c99 -c --cpu Cortex-M4.fp.sp -g -O0 -Otime --apcs=interwork --split_sections -I ../Core/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I ../Drivers/CMSIS/Include -I ../board/Inc -I ../CH395Q -I ../modbus/Inc -I ../users/Inc -I.\RTE\_VOQC -IE:\Softwares\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include -IE:\Softwares\Arm\Packs\Keil\STM32F4xx_DFP\2.15.0\Drivers\CMSIS\Device\ST\STM32F4xx\Include -D__UVISION_VERSION="539" -D_RTE_ -DSTM32F407xx -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F407xx -o voqc\gpio.o --omf_browse voqc\gpio.crf --depend voqc\gpio.d) I (../Core/Inc/gpio.h)(0x66C45208) @@ -1429,7 +1429,7 @@ I (../CH395Q/ch395inc.h)(0x66C579FB) I (../Core/Inc/spi.h)(0x66C45208) I (../CH395Q/ch395cmd.h)(0x66C45208) I (E:\Softwares\Keil_v5\ARM\ARMCC\include\string.h)(0x5E8E3CC2) -I (../users/Inc/provalctrl.h)(0x66E1315A) +I (../users/Inc/provalctrl.h)(0x66E246CC) I (../board/Inc/dac7311.h)(0x66C45208) I (../board/Inc/eeprom.h)(0x66D1563F) I (E:\Softwares\Keil_v5\ARM\ARMCC\include\math.h)(0x5E8E3CC2) @@ -2243,8 +2243,8 @@ I (../Core/Inc/spi.h)(0x66C45208) I (../CH395Q/ch395cmd.h)(0x66C45208) I (E:\Softwares\Keil_v5\ARM\ARMCC\include\string.h)(0x5E8E3CC2) I (E:\Softwares\Keil_v5\ARM\ARMCC\include\stdio.h)(0x5E8E3CC2) -F (..\users\Src\provalctrl.c)(0x66E134E4)(--c99 -c --cpu Cortex-M4.fp.sp -g -O0 -Otime --apcs=interwork --split_sections -I ../Core/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I ../Drivers/CMSIS/Include -I ../board/Inc -I ../CH395Q -I ../modbus/Inc -I ../users/Inc -I.\RTE\_VOQC -IE:\Softwares\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include -IE:\Softwares\Arm\Packs\Keil\STM32F4xx_DFP\2.15.0\Drivers\CMSIS\Device\ST\STM32F4xx\Include -D__UVISION_VERSION="539" -D_RTE_ -DSTM32F407xx -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F407xx -o voqc\provalctrl.o --omf_browse voqc\provalctrl.crf --depend voqc\provalctrl.d) -I (../users/Inc/provalctrl.h)(0x66E1315A) +F (..\users\Src\provalctrl.c)(0x66E24756)(--c99 -c --cpu Cortex-M4.fp.sp -g -O0 -Otime --apcs=interwork --split_sections -I ../Core/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I ../Drivers/CMSIS/Include -I ../board/Inc -I ../CH395Q -I ../modbus/Inc -I ../users/Inc -I.\RTE\_VOQC -IE:\Softwares\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include -IE:\Softwares\Arm\Packs\Keil\STM32F4xx_DFP\2.15.0\Drivers\CMSIS\Device\ST\STM32F4xx\Include -D__UVISION_VERSION="539" -D_RTE_ -DSTM32F407xx -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F407xx -o voqc\provalctrl.o --omf_browse voqc\provalctrl.crf --depend voqc\provalctrl.d) +I (../users/Inc/provalctrl.h)(0x66E246CC) I (../modbus/Inc/modbus.h)(0x66D1563F) I (../users/Inc/timer.h)(0x66E132AE) I (../Core/Inc/tim.h)(0x66C45208) diff --git a/MDK-ARM/VOQC/adc.o b/MDK-ARM/VOQC/adc.o index 012e964b8995f1eea4291ded1d917ff5a2179446..dc34a97ffad6eb8c70898da17c513579931d8f49 100644 GIT binary patch delta 121 zcmbQU&u-2>yA6N&WsDSz42(>a7#JDi<3l`sUE|{wlngAbOiZi{jG83{+9d@TftU%1 znSq!Eh*^P{4T#x+m;;D8ftU-3xq+AmhyA6N&WegRJ42(>a7#JDi<3l`sUE|{wlnhO*3@ofn&6_0!+9d@TftU%1 znSq!Eh*^P{4T#x+m;;D8ftU-3xq+Amha7#JDi<3l`sUE|{wlngAbOiZi{O`6y9wy)=91Y#y2 zW(HywAZ7((HXvpPVh$kY1Y#~A<_2OOAO`8-+rFNc-<*fd!ooz?m|?Obr{&~KCV}l{ PQv7Yq+jqa7#JDi<3l`sUE|{wlnhO*3@oh-jGEW;wy)=91Y#y2 zW(HywAZ7((HXvpPVh$kY1Y#~A<_2OOAO`8-+rFNc-<*ftC@IxM*O+0lBd6u$OeTTt Qrc(TE%-i?K@;mGU0Gk6SC;$Ke diff --git a/MDK-ARM/VOQC/ads1220.crf b/MDK-ARM/VOQC/ads1220.crf index c224bbe04a83be76b8c8b746117222baa0495187..e71c15af2e7d6913938e845367110e3f9b1d4f7a 100644 GIT binary patch delta 1706 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 diff --git a/MDK-ARM/VOQC/ads1220.o b/MDK-ARM/VOQC/ads1220.o index b6f333041c6e761a27c35363fc1a2e7ae25c194a..aaea2179fe49479669a69684f5753fdbd0329d48 100644 GIT binary patch delta 751 zcmZvWT}V@57{}lDJv)Bn$AhO-wrpEYZvx{ur{zjaOhiFbGA#OdJKK)59PVs8n>Sgg zgXoLIh#Z zi?>`gUbk2E`f3R!oDcQ%b#d;lRa^Z&pTAL^&bn@9T@+!6gxC-nDL@L5BBU7EgOnhp zNST#&l^^^L^wR0B&Y_-D{k;E7pSxMSs)QWN$l~Kld9_%og7>}ij5^qW7P`t4rfwvN zl4G=PyPyZnaCGc%qfw#_Y`};|jcC4{(jqCHD6>i0g?&GLA8fG0$0NV#}n(b&cR4^F*BETG-@fI5HSE6 z^Pl#TDbz-aN5^z>-|G`n_Kh%zanNb&?bIlfQ#ihP{qADIBcauP*JAr92ajVz;3O?;8)2mT?@Nv zdBqN!aNh=(_%;E4@puYk%eV{AcJ()8;KZ(LV^6?oJ<7tDBXmIwu0x%z6381dxC|b7 Sp$f>nsMr9H^>YK(_WlNyVdJ>~ delta 740 zcmZvWT}YEr7{{M;w)v4C55A_dW$$#;8)5NoE|q22*9rqcK`8p*^lp1s+St4AK_Fo! zQ6vbm&JY4g22w`dy%*kSNJtlbT@(=prd@T{MMMO3bQMH9@Pj|k|2hBvv%1;0y4m;m zroGwS;!!+a2M}OvxPQRUSc}8$^(j5R{oNA<`;CH~2&lj$Fbgb#GC{eZLQpB#C8!cq z3u=sly|(o$f75`k>4JrSSgvj2D~kqbWjbAvSdn&B|+Mvr0w@W3#LZ&=pW;V ziMZ%sETPBropDBuWHgZGP2?2q_+&c9KQ`h0tFXP1VInY{Oo7xz$SCc2VLm5sSA-+# zMUd8jI>D4POYeZxgPc+W5sd}YiG&svKdLEpn&o71swOlQ#2$4H%UN|K#Zn`|%f*D# z|1_~=@z^quz7dkRV?{sN;>WGnMV|06E1oCw{Jj+~kOkgr!@cAgKV!o^WW~tX@DVwi zt7;c5;E<*)ax9~##T_||$vI76`<)Qb9kply7!^|0StuKaY*7XxVK+?v)gG7;I+kI2 zRD(HVycx$U$~@s7S0~IIF7G#n+VMbd<#V$LodB3Law=|+-GjkSMN!yr)bBqU3JiF! zxY;E>oyUXxdmb5Inni_A&Eh`edI;-kr2p6Xt1+}1%W?c!Rl+rdtJIb-cSPY?f&zy2cEX9XUL=A7ta-ycYng Cu^lx4 delta 116 zcmey;VgIGWegmhRjG=;&fsu(410zFxe2Ay7Yka(dlA(!}frXW+d9$iqyQ&-`5HkTW zGZ3=?F)I+W0Wmuea{w_X5OV=BHxTmxG4FO&IX>SPY{n)Ay2cEX9XUL=A7ta-ycYne C(;WW* diff --git a/MDK-ARM/VOQC/ch395.o b/MDK-ARM/VOQC/ch395.o index 205e7250e6de6ce191045e3aafe2f6c872bd0c19..203c47d79590955b98db3cdddda9ae9669ac9b11 100644 GIT binary patch delta 109 zcmX>y!{NvbhYh*5(nbnK21X`I42%r%@gbhRuJQ2-N(PozCMH&f%^kMw9kz@>%ml>D vK+FQftU$~L#Oy%K0mPg@%mu{UK+FTgyxTi$`3^r|F-|m0-tI5Q|Me{ZUCtys delta 109 zcmX>y!{NvbhYh*5(uN8~21X`I42%r%@gbhRuJQ2-N`@v@29{O^%^kMw9kz@>%ml>D vK+FQftU$~L#Oy%K0mPg@%mu{UK+FTgyxTi$`3^r|F-$fw*zPaK|Me{ZTH_=J diff --git a/MDK-ARM/VOQC/ch395cmd.o b/MDK-ARM/VOQC/ch395cmd.o index a60d61c7dcdd3afd004c033c44b757a691ed89bb..9461d890ef59532c1d41cf1219b5dee668310584 100644 GIT binary patch delta 126 zcmaF!(D}_n=M6`v%NQvb85o%;F)%X3$A@_Oy2i&VC>dBtI zF*6Xe05K~NvjH(X5OV-AClGT1F*gwN05R|Ohtv54pR*gArzPteGfdxT&u=;TKCeK# NQ$7E7r+R@^g#h*jG>rfN delta 126 zcmaF!(D}_n=M6`v%NQyc85o%;F)%X3$A@_Oy2i&VC>feq8CY5w7&bqg-u`epBM>tI zF*6Xe05K~NvjH(X5OV-AClGT1F*gwN05R|Ohtv54pR*g8q*&-0GfdxT&u=;TKCeK# NQ$7E7r+R@^g#hlDG*kcp diff --git a/MDK-ARM/VOQC/dac7311.o b/MDK-ARM/VOQC/dac7311.o index ce1205af92be0d4c126f656e117aebc39e77ca25..0309412cf8b18c58ce6d84000e9cc784ae3b6228 100644 GIT binary patch delta 121 zcmaEI*Y3$(yA8ZzGDZqU21X`I42%r%@gbhRuJQ2-N(PozCMH&f2F;pc?V4hYK+FWh z%s|Wn#H>Kf2E^<@%mKulK+FZi+(66&#Jt-z#rSw1u_YQB=o&LjZxrFSoV<@!V0-Hi HzW8kbYNa1B delta 121 zcmaEI*Y3$(yA8ZzGKLC921X`I42%r%@gbhRuJQ2-N`@v@1{PMP=FOU7?V4hYK+FWh z%s|Wn#H>Kf2E^<@%mKulK+FZi+(66&#Jt-z#rSw1v89-q=o&LjZxrFSoV<@!V0-Hi HzW8kbZCW2g diff --git a/MDK-ARM/VOQC/dma.o b/MDK-ARM/VOQC/dma.o index 2a7d2a1bb22c1ce836b9add143604985ed70ca2a..195677e4e9485c5f05a6d1cb3fdcbfc719fb8361 100644 GIT binary patch delta 117 zcmZ28*KW;RyA8RVGDZqU21X`I42%r%@gbhRuJQ2-N(PozCMH$}hRvOv?VX&AK+FWh z%s|Wn#H>Kf2E^<@%mKt8HC#Z<4a7V^%)7mllP~8UyOFV3vaT`1Kf2E^<@%mKt8HC#Z<4a7V^%)7mllP~8UyRm_}g|0EfKf2E^<@%mKulK+FZi+(66&#Jt;0rTG>-U^hy%w9qwXnEcSia=YjszW)6H D8www> delta 117 zcmZ4T-EPTuyA6`kGKLC921X`I42%r%@gbhRuJQ2-N`@v@29{O^hRvqZ?WWRKf2E^<@%mKulK+FZi+(66&#Jt;0rTG>-U^g~2NY*uGnEcSia=YjszW)6H D7a7#JDi<3l`sUE|{wlngAbOiZi{O`DJMv>)YR1Y#y2 zW(HywAZ7((HXvpPVh$kY1Y#~A<_2Prdfx3vdH4+Ovm0BcndllbOipC<-0u2@&v*?0 D(=sM+ delta 117 zcmeyd!S2TfyA3OOWDFII42(>a7#JDi<3l`sUE|{wlnhO*3@oh-jGB+~v>)YR1Y#y2 zW(HywAZ7((HXvpPVh$kY1Y#~A<_2Prdfx3vdH4+Ovl|&2C+iwBOipC<-0u2@&v*?0 D&w?ge diff --git a/MDK-ARM/VOQC/flash.o b/MDK-ARM/VOQC/flash.o index 3543e81e7240de28b395b4b91f7734548ff1382a..2ae7eb8876400d4765a88a69f7ce2e0e6549dcd6 100644 GIT binary patch delta 121 zcmX?e+V0G0yA6)QGDZqU21X`I42%r%@gbhRuJQ2-N(PozCMH&frp>X!?Xkj)K+FWh z%s|Wn#H>Kf2E^<@%mKulK+FZi+(66&#Jt;Mh53pevRLREGfe-ukKf2E^<@%mKulK+FZi+(66&#Jt;Mh53pevKXb9nQXuCh3_i!_7y+)RMr9j DbKD}B diff --git a/MDK-ARM/VOQC/gpio.o b/MDK-ARM/VOQC/gpio.o index 1b3b7d3dc38a24d045974a48d658be8f17634f29..c00135a66805926c4fb28db79f85e62c0c593db8 100644 GIT binary patch delta 121 zcmcbz)b7esyA6pvGDZqU21X`I42%r%@gbhRuJQ2-N(PozCMH$}M$NT6?X^6NK+FWh z%s|Wn#H>Kf2E^<@%mKulK+FZi+&~Oc&%3>rhp+M;yP=_(g|0EfWJOcU$@`fEw!6LN H>st;0JA@-W delta 121 zcmcbz)b7esyA6pvGKLC921X`I42%r%@gbhRuJQ2-N`@v@1{PMP=FPP{?X^6NK+FWh z%s|Wn#H>Kf2E^<@%mKulK+FZi+&~Oc&%3>rhp+M;yHTost;0K+q#| diff --git a/MDK-ARM/VOQC/gpios.o b/MDK-ARM/VOQC/gpios.o index dc93b00a7a4c82f9ac326745c62b01f59730db1c..cb3b48f5f4e38728b65ce05c903b85c278c5a4fd 100644 GIT binary patch delta 116 zcmex!)9%kryAAt!WQ-Jy42(>a7#JDi<3l`sUE|{wlngAbOiZi{O`C7?wBP1o1Y#y2 zW(HywAZ7((HXvpPVh$kY1Y#~A<_2Prdfx4~dH6QGWHCxgwba7#JDi<3l`sUE|{wlnhO*3@oh-jGAxrwBP1o1Y#y2 zW(HywAZ7((HXvpPVh$kY1Y#~A<_2Prdfx4~dH6QGWKK3q-roO>?<({5G4J-d+G4J-d+G4J-d+avl|;HTId=xOlMrhXF2%-v%vPn Julbg)1OV6&CVBt> delta 122 zcmX@H%I?G}yA6%pGKLC921X`I42%r%@gbhRuJQ2-N`@v@29{O^hRt)i+vjpK0x=U1 zGXpUT5VHa?8xXStF$WNH0x=g5gVgc>G4J-d+avm2$Pn&=ucOlMrhXF2%-v%vPn Julbg)1OVE5CZ+%Y diff --git a/MDK-ARM/VOQC/i2c.o b/MDK-ARM/VOQC/i2c.o index edbce027f028b9ce38e6f27544f7ca0a5d8412c9..7d91dd3bc1a9a2cfa7ad045f3adc474b23beec8b 100644 GIT binary patch delta 109 zcmaE{%kIT4yA6W;GDZqU21X`I42%r%@gbhRuJQ2-N(PozCMH$}M$NkX?YjJoK+FWh v%s|Wn#H>Kf2E^<@%mKulK+FZi+(66&#Jt;e`S~8)V>UK2-!AZuFJe6a|4AFC delta 109 zcmaE{%kIT4yA6W;GKLC921X`I42%r%@gbhRuJQ2-N`@v@1{PMP=FPhN?YjJoK+FWh v%s|Wn#H>Kf2E^<@%mKulK+FZi+(66&#Jt;e`S~8)V>V1n+b-~qFJe6a17;iz diff --git a/MDK-ARM/VOQC/main.crf b/MDK-ARM/VOQC/main.crf index 76081ac083a423e340c9ce5b30dcbd45668f0bea..f9c302cfbfb096a4a67ec4ee738cf78fa5be8c43 100644 GIT binary patch delta 1419 zcmZvcU2GIp7>2*E-L|{a-Pu}K`V*`Nj2D_-7~@}+B{t2vHV6e0NbXFp&Vv3I*VLEuAAl*HA{|B-(yZ_CpTEg#v1J~tfr5t-B8Xk{^ z8LEP+As_*yRuj!ZC3Nw=&P!l_q zWJXOvr)V)fAdW-HlxRHvhQrj(_?WAERQh7Gu&0uOYQMAhwm+U@` zR-D4BieIm$4J9{}H#D8tX{`j|fpj8~(G@Lk82X?|eNGdJS~SFHC^(eU(iz1}59m31 z*J-INFPrL)n?{Wlrz~$H>}A=<4Lz638#;xGbCx>{=Db)nbd`=ecT`rBcB^R810YG|v$g*0W2 zpq4|$zAfL2m;@RsIy%QgwBhk{UOs%4vesJ?l(#j!omUg#C*HE6`* zdi(Q)ED8x!NsGtaI+~v3*bCyK8>UY{FN)XzvO$Zp$Z$2W?cyA07PLbwf=+-maRzh} zln|eRPJwiB8Z-w=ih0mHC?!sT7C;4FL<~a_=Sf(z%PL~ zmW{xR9zN~*3$*0%2H0N#acJGZWe=YMUIOA6p9FsGVayHDH^6;Z{Vlfm5~9nf(Pt;{ zTMwTAUIC)r^}z2ui~_&+a2;^_RWNq&82ASdJAl_bd=&U25a;nQ@Fx!+0{-mbgKh)i zHHk;j$@9=VEIM)6zrxxeK62aXH~T_TzOQE76?EMWrR284Js5HW`5_ii6~wQ@`W@B; ztO-~X%p-0i{Q>J^SPR%<{5<|{xXtt@%xRb>nd5UMEpzozM1LWgK{Ssk77#5$OU#Ge z)%15MT44KdO1`aTANu*nK8Aj}*Sir~K|G6*bET2X%rm&*e_>ySeT8wvL9&i;{3^<8 WT>YFIAbe}%E9h#?Ssy;WwDvz{i_o(G delta 1337 zcmZvcTWl0n7{|Y_*WGD%7R!ojt#|?trs4xnNR<}Nx~!D|1zTc`W|*BFwhP;fv$IrG z+({&9NK7>8!@T)`T3!grzPO2(_+(O~)a{C-%y2DL5U7B6ynz4hY|}ol$$#_v{{K1W zeCM3Wj7+s1DYgZsC88>(*u6Z{>d~CEI=}V{xyG3}SQwoPghzeBHPTl{zy7q2@LT_G zdvK&Z$WRqj4b?!kP#shc`5=FxJt)mY?Rcv{oU2>K#NXuEuO{{=yVGit9&whF2*Iv_ z?KAYWx?f39ciG(lH?-)g^w@o#eU65m(BiXxZw6DNBV~JG;)>nft}W;@a9U*T=< z`=#4k<~-~**9BWP)%cP*HuXpfyq$MYP0O^ympBWW0I9+Oodm_jG-wi}iPNBOK?!jRR0Qdw1eyZv7DZ4AloXSo??8QG z!VS_X&>rERZw)PV*acl~&DGNx_^*pE-3D?%hA8)HxQ*nZ%32(I+u{JqvncnWJYccp z`sf_WVT-o|&jYdNZNLj2ZUtWSa0~Df5C^guIOE}qz{_RCTAkooFpet*{K3Obz#oA) zz~_NiJdC&jx(Y;3u@Bhd%ZPqLjixpNuX)%3ybi=JHvn&V_zZB)!>55i19MgzuLs|p zXMPHJ%fofnjGSdYiM#v{_Ep%| fn6IF`i*gR-O|EuaKjF(5yNj+qp02^Cl2-i>1}C~s diff --git a/MDK-ARM/VOQC/main.o b/MDK-ARM/VOQC/main.o index 34516145688936191a209c5d55f8ce3f98d047a1..a28500cd41770f6cd4323d24de804b592019707b 100644 GIT binary patch delta 11133 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 S7g2iFfM3!X@qK)M^Y|y(l71!t delta 11128 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 diff --git a/MDK-ARM/VOQC/mf5803.o b/MDK-ARM/VOQC/mf5803.o index fc00e4d15d1e7cf4fdf2afc383ed61fd0efacea3..e9ed2bb0f482152f5a41cec0ec4c656780798661 100644 GIT binary patch delta 121 zcmZ2-&3?%>`we!=GDZqU21X`I42%r%@gbhRuJQ2-N(PozCMH&f2F+2*?NQ2%K+FWh z%s|Wn#H>Kf2E^<@%mKulK+FZi+(66&#Jt<1l=)`=WHU2J)-`6BesB}7<>Y(p0^40= I`5&AG03?VbumAu6 delta 121 zcmZ2-&3?%>`we!=GKLC921X`I42%r%@gbhRuJQ2-N`@v@29{O^hRspR?NQ2%K+FWh z%s|Wn#H>Kf2E^<@%mKulK+FZi+(66&#Jt<1l=)`=WJ^r8&^2b5esB}7<>Y(p0^40= I`5&AG04G)>-v9sr diff --git a/MDK-ARM/VOQC/modbus.o b/MDK-ARM/VOQC/modbus.o index 3c050aa81931263d598247b0b1eedac9a3939237..77b1003b1286c445435971baef6e647acb51402e 100644 GIT binary patch delta 108 zcmbR8!fwh7yA9k@(nbnK21X`I42%r%@gbhRuJQ2-N(PozCMH&f&1zEZYEq0q%ml>D uK+FQftU$~L#Oy%K0mPg@%mu{UK+FTgyxY~J_}K0-8=0kS*Z;xybTD uK+FQftU$~L#Oy%K0mPg@%mu{UK+FTgyxY~J_}K0-8=4z#*Z;xybTa7#JDi<3l`sUE|{wlngAbOiZi{o4?q$f3al*VkRJF z24WTo2jXRt}(;(KwECh$?LcUwl9(8 H|8f=pdb%x$ delta 120 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 delta 6147 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 G)AnDpr?^P~ diff --git a/MDK-ARM/VOQC/provalctrl.o b/MDK-ARM/VOQC/provalctrl.o index 1e46651c7f50c112639b079777ca0377fa34abe7..96dc1901520e67ef4b53dc9e2164e07cf6312924 100644 GIT binary patch delta 27441 zcmZ{M33wDm*Y&NQ%p^0(q>~UJga9FI0a*e>_9d*cD4?RE0tvDh6f{6kaAAUiAfloX z8$|_o+`*`EeFgOu#0}8b4S@uAFkux@QT}tQZfB;O|JbG!<@1rMs^*UltP}UWB|B<0e z9V}Ce;dfBhwin}at9OspfsH|6PSxtFb95KWUOO8&3L&8ejTsqSKnE8SN3#(vWDn;q z4;ev`;vq2MJ`dErS$(o3W%=OjJ@?ckqNxc~AQj6{k^9*L);*E>=q7uiNz}y{H`qDh+EI@X^2HruMyMTXhE9!ecKw5vNS z>uOR$;gJ(!cv2|jDNhImV#;|I{kgk$mz>2*n5be};`hFR`8zvQWn%>5c5;vW*%@d( zSI=5*RYUa6pBvC63Vo$)^t`0ya8quhG_HK6-M8Wq`w=U07|U>7OYd zo3W@;{BNHs^;9~1;4Dd^}Rl0oSSFDcCvJT$t(fjYABST?rRFhw9 z?W&>7yxJ)t*Aw%S+Um@rNNvkZBbo}l7hEGW*WsnwcXV@Vm&&0k%E8+2@G3%FTwB(` zbyxghAx~+Uv+L*`!G+I_$ zmbtEGK&T}gEx`u7M{mMDnVV}B#;13PH`|h$aL8SD9d@Qy<&W4{J3?O_+)?xI=~Abu zDlSFyD;idvQKv>N+qzoj>8L6Ch!wk}#$ItxjU8%U{&Cv1aU5@XL4!_;%D1E+sJJNo zK7aWQP0sWkg`C%PdU=z~r1S}jXi$SiORPK8;08COF1O;W4HdmJ(^UDTO)m6Zr!D6s z6nUUhzV+wn|N`_@en4s?l(m_x>3sT zigU9ADp*oFeRfIV)T>G>MztJmsafTd)>M5l(pw?0^sQ8k(S6@>& zZ~D~InO9#`ICaXbsq<$|DVZfJh)LuR3~x^ z8r`9NFMxE3_~uyTlgmTWj)$2)1E03kF@Hdh1b0V9gS5i}tNht^?c$%(wgbwKv~QrY zxpw*O?UK~tiu>C&RxOqoKQ!<*45`mJnp!${mhrHpd`Irz>c#R;+V`yJ)bRnIT3`N8 z&p}g_?*$c5fd>A@fpq+}0@?W6CeRgsl`o9HDZcrT8~A+SMV1nvY3 z(YCq11%Vb|@PWUUFT`kB0aB`p+bK`X>yz*I2fCp2qQDURogFv>f8zoz{b>6Ch>d*L zq6J@KgYqGHT~wfaPTmOhZu#qZh3dnK%&vWvS_!X1#_aQR?14~Oi)F0Qt z&z1Zge2W5)0vl-uaRH9r7ifpSew_~lTB3x9(I2=-a)H1=YBblBY#}uK>69-6FOmtMD+){>smaBfj~QdJU5LDiW~c`L3_S%dES}rk~13l z9*c0__7eJ5KCatHULxI|RO;J`!TDX3dXJ~Xhp8`r<;-^D(MfpWMtJr(9KRmPoPXD& za~23>NrkvT7MhF4eEKGE!@1>6dYr9ZteDZmr^+YwI;Ho$k8Y%UWsOpEWU`S0w5rT{ zkaOmf1mLX*eQ~VLrK~F&$65E2fQ;*c^HP;vX1g}P@(I10CSQo1WYLW&jM&+WdpF|^ zzP@)$hIf14G@5sGMnIG8A1ly>v?9%&Ta=n@2g_ z3Nq#D!fDsep|vJ^*{m5|>G`^RH`>Da(%I1q?bj^KE1h0Kzq+}?d8E+8(wS4QWV>r- zUOj)_8IV)+My+XW{hSBO+p@yB30DR>#OQ<0`sq>kOEf-{i4 z9I3eCk8!?+!7Grx5@}Y2f5xLKconi&Bb8Kax_oSMcrLQ@kV=u}SA?&*a(?()Wcj+j z5b3&#r3YJB!5fgh5oyuQ&($n@u0|nQNIs-EBtKFBDZcW#nuOE0hRa~O80jXYo1G&A z5;H1yUK_l!L2xOATacDj4!bS*WH5Lu@+**TTlU*M!OGw632l8ccsuwVNOxBLw_jo_ zD|i?3cO#Wo!qKJv;A-S~vpG)7*TNZ6Hm_zJ_z9U*Xq zB~+$POL{>CpM&~5(hH_KN?M&6+yvo8qzV&4%e6_T8wX#8@Cs6;vFu-w^w;{}YY<*X zdZQ9?HO>gWh5Ubz-maW7EBs8a;1=ZHL3)=xHLvXcc=&>};C~^!kF>S&uFCK-75o7C z?MNS1!sxT4;K#^+g7m3rDfRvER2AF_VHeV8M!ailxMzzXFU2pAzO3B&WBBGk@N4A1 zLE7zrXH_n&3E!L=+yh}R(mv-%^W;XAO;3lHW(KPv>__^J#mvfgnPqo8GkUxra4C#2~|2|1>>JOek{&%F4 zm4AGeJR}_c6ZyZ8P9gnWIkGzWdX;<{dEN*L$x@ZO_9wp|AC3d@BL$G+D<40Q{I&`Q zkq;pyA|+MM`8E0XxL`8!Hd0FEoFmC^_`+$(H$X~9YFOF(x8%_(*ckZ?q$ZWOpGf{J zCD;`CETm?YGvn>{;(nAM~)p+ zIOc+Lvd?t3bhbaU#`~Q+jwLsCp6g-q;HZ zorG?7XI1O;>}F3=pE|3%*+qRn58b2KbLo6Uy&pa}w#$t>N+Q5i%(t7)wmt4blg|tC_U#nFZShIGh53+rc`Z>Wf?JL#s@=)`wPQM;@ zheSU0n+xrL%7s1bt%3M%)2HNj>P}8-zr@~^W&Q1!e37CdY~+3vdAU`O`|9zydfZ=+ z2WS%fzpn$~HUjm^<0IN2&269JwLwM*T1e#2-RyKQI~J5>p-HnJVHs@fR7jEljJp^ur9x$ zE`V^o@?>4kmml*hCEJ z)hiECuBSY)UU?#AdCHSax!XQjNtEI-2-kBErr!%BSbz`X<{i>x`qfiz*DJT_Cn?Xh zxPFQ*uWO&I6si`34!VKVdJa-)YfJ-*n$mL~o`r`xs3;#r&1hkP%XqGvQ=x~qpkW1= zfA^y(o6hhUw4_uI&!OK3y4LKl747lx*7UB2x1pyzye-}3;q7SQz(}maTq^Pyw5PK? zyaRRi@H42Phj*k?17iJkqVGJsGi~?qF0?7)5%Oq_hj%4!c{iHjDeq3_cz8aY>EUNm zmWTHspNIFP$btT`5%;2<9^RW?_3%El&cplCEgs&FW_x&l8t>r)sIP}({Bt})0R=sL z5FP0k8{lC2+QWy?77rgvPkHz-y350d(?SoAoJCVS!U!7a;UlT5hmWEr9zL3sho4Qq z^oeof%Eecmq)9ov%s^!5rg(O4ZK+lzYshd+_fJG z-kLeu*A)sNE zkqCxQqXG{vC7*|PP+NN#2gbg$y4}N1()k|VT{ZS_rM@~-*VpYMfD&3`1g)l8{nP{x z@1n?ZS+HTu5a2$0E_4eEf}Y%)-syv;Wts1hrdm` zy2S?Y2CeY$Lsa1574%2fSo?B%k-4;w0A8SCkHIsP?cq<-m;A6#KB?A+beo62OMN_i zD;@3PTJsb?N>6(DIw}Hp+lRqt)W~D-DSg^G*1>LC>fv9~01sbF$2-N^JM^4~@1q$W z{u5<&infmczN61O#yU7icX)Uuo#){#Rg#ATVBjq9%KIF}3sXS#*T=aGk$twAsT;X;s7{bWl?~ytB&p@RJnp z;oa3&e9@?DK&dA@yoBa?ct2I(;k{HO-6N!{AKJO@ctq}`S3JCkmV0=j8tdV=QBx0J zM8C9+^|y>FJp85zE%XR)Q$G)XgOrCKqW9XwI;@}-9$rr4Jp2V};Nj2ESA5--PpTDp zk{<8~AJQZbf0vqg_*UB6%B^m;)p`$KM>9P9GivYQpVFb6nEDZGH@z4uSYOft4_`}t zJ=`JX;rnQ7%NU2&Pqf0rzoW4pevlf)@JOmvNk3)BI%uh$_wa>ulZT(8@g9DR+Io13 zI@yBiKD?{m^6=Iw66JjV&r*Y;0yrMqdHCh@X7f6KD8G^xdiYf8>*4e0AHMg>C)H}N z-tq8GYIz-x@Erb5W9kIv-Bg-~llqKr?sX2Yrg9JOtIqfEo+{JB8>qca-P-K`4tm7p zXdgl$UG55+hg3@sUqMxwu?}vehduljn(X0=sj-Luhdyo+TmN-hDxBL#0JYTDWAGv! z&xoyXH$CU!&(l;7f0~+l_!G3NacuqVbc=_-LuVSU+eZNJQ%$4T3Xjku9{vzr>fyU6 z)x$rb?G0n=e?w&+{sr~+@cZddI@_D}5x~8)K?}x7s9^O<<^63k0ls*s1@O7ADt^`Coi11(94b-0uU zcz78dPmC>pi=OoG*Jz@L*O2Yuo9Mrx*!p+T^%0No9Ch~ar|7$2Y=y_k@$e65gokgT z;|a0$|D~rq{9(G(!ylwbsz=yK@5RSD_?WKq@UN+phyRbh3&h&rNB4U8YC7A)_YhvV zsQaW^KSbzde;vmZRMQn6{tLDA@Rw>@5+` z<4inpE`oLFL8X7X4LORAGY9f`i-`*1cQ2kW zb~ud@4vQJ#a2DeeL`xXg5-n$ZlxQU*db*17F(RH{?#N4wF&*JYE1?J)4slQJR_2Y7 zCy9pgNT3$K6TuCh&4>oaF`@_K8PS7@jL#r2Ml@W^hz4gdK0$PYG+ZVP^Hnu;yP~#& zLxB+%W{9u`6`5yZ$QXI0S?duwlZ?Zq&4#6V$<0+WNh$$#$L`MR8QLJ_@n`HM?tDXBN*_n|V4h}s#A~;$w zz_=RkA~5FS^#j4T8N1*Id*O!!bv@V>Gta}UFt!%nRXEzw<=uqmVnDQTfe7%T`Gvv< z3BO4AIl?ChA1nM~;eCZ)BK$1jmkJ*ye4_9n*butGNg@msK3Vuk;f2Ec3ojDhi$@hb zeU@l5<8q?+7_W}%Uo*$>?PJ8O>JbM&#yo;)#luXpUdQ@iTuangcr!*U2Yw@f9q=0f zJgtL-pT&sjoy52fFX=F@#|~wD81KC>K0@>qwd8}fSFfY%Wiu_OC4{)cD? zz?XeC&<(;dKO$uV-5~TN=0M#b$}^I9O$W!ZKneQ>iYAs#@G)0px`0K#TfrTID<(3 zHiFj?_N#UT)Q+x^9)ar~0r`G!-9*L@xb_3&cYJuHbWc(432=z`<^8W6Un`3P1-hp| z-P4<84iVsA+z_}sbb92#^_qaaUK7A`X1{* z?f81UuErd9q|ZeEQgAopGHDp)x?%8N#2#(w>xafcxR5c&Zt72GBZF#J$DTq6x?&oYl+&Wfrb!_ofjJc|A zfOUV*Ri?j~R(E_pX1lS9b~57R{wpKK5d(@DMTTEoW8{~}7)J`~69M=<;rdnqj&q>4 zdtUHu!EXeA5&Tmyov-+)*Gf>|5x^%~GNUV{;0eK(1$PPZKQ>?o89swO1cwP;EVw|h zTyT@%X2H(|j|nF8k6rAzYn;Kcf>#SJ61+$7Wx>w{4-1|aO!XT-odt&px>K=(hkhK+ zaEy5WFM#&-ao|J73CgTly!f}5IRbO%iVyb8X9?oqsQCke?+Jb)$ZsCAeFGV}7J_XB z^8_Q4B;!W7og2pej~&1^(olCnecXVK^`-+T7Q9t(z2IvG zBjhfcBT^8Mfb?+!jyekOBRE#j4g5;s3k8=6t`>Y=aHrsRg2y#t{1as{v=*Ewc!%H? zLH*qc0kxC4zF6>P!CM8NmpT7Z@TA}q7-F81ZGuM`BM_R#n}VT&Qv~l7^aV}%D8ah~ zgCV1L6}&`nonVb%??hv_K(I8)@PT33|JNhKk=-Y_QSfWQp9O=-u-ihE#|Zl#!bb_8 zCHx-Y_X~es_-DfZ5zMh=|L5AqaX&^lE);%+@OuRB7yWtRI|aWKJSeDAjGrvQe8Dk- z(*&2L$o{`qglfUR1XELuqYS~mj2MC8!WRfG68&!BUkUyscw8_w&G>69*fAoR5rSg` ziv->BJA|(hd`a+KLA`w|qW6d&dE4Hg%!%$SY%SSc`iP1V*7kca|2p%m94CsDIZm8` zZ;P_{hRb4mK=2#EzXY4fBI_aewBTEUI|cX18fqnLVTZv8^^!TeLGbB%bD1eq@vGp| zGL-i>Fhlve;Kzcg=|;a257&7uB{VkJU2uuua~d)KaT&&-tKc-jjZKXHa#Mp_x}MA@^g&AMS_b3e-nJTl___p>>C2VOzst( z@GM4|@`$pla6fk7j;gEKvG|QJ#WC38;x6T! zqal6B2DT9Uu7YC(-4UA2{0lzFL`)t8Fz#p6#YfPZG!Gd;i5+thP9e; zSOm{J#h`&8E`GW}EMSdiF>b;0HsN;)cN^FxdYbfHKaoV>`bi`3e$lrH>W9A2Q~6xM z``XAJ z+IE7I1ogvR=w-s67ko=_r(lYE?+~0Uc$eUR1^2|u{?AA-4PGEPTksLVZv>AD#>>qo zLy&)R;(&_;Zxwu4@GC+5M-SSrli>6a_8(V#P=uES4+@?TOp>EhPr>1Wmk7=jTqF3t z;9kKbIdU}?94k0EBAK~@FA8oJ#7`AEz*NCp!7Bte2yPZUA($$+*^2~c2(A#^CKx#` znRL1BjuTw*|G6D^k=yWC!Ht631bfQu`B}mD1dj#mEcLiHgX^tCRif4O7Km=Zv_+N;F2piUa(Z~VZkjx zz5i=PNX|4p=p%TE;4;A{1wR)&E_i{Qh-M4&t0=syo)O$7ct9|G9x%BoHbRR_r(7tYXFE=z* zZj-q8@}m)M*mfNV_7WT;h!_-5hwK}z$tg?}yhyP&>{B2f1U$hi@T=yJhp1vd%0 zH;ui*4+)-TdtviONFhI=zbP?QR^J?J_ z$Pk`pL_pW`ZFCFKV!53z6TDrpoH1sot2q#yPJUn50zpnG6}EA3~Lpxd!)g)b9yr|uPSz5j#K)4_uJu^D>&HS;a_ElTts z1P?Kyr+)}{1Fq%(7f6q>aNM<(Dh;<594Lr-c%u8PdA4jJOg(plqi4WGF?7#>-GrYb zh=Z-}v3n}sApA{1_b~f|@IM7pWK9j^-!gdU$B1y5pt}v-2a}J8{)*s-f_ntrZP-yp zWRT$bg3ART6s!>ZAR?J>1&;{E%c5!~m?wCJpt}h9RTJ*O^MVHj{c@z^S5>%tfZznd zhXf;)k~t*k$E0wD=7PNh#|r8n@KNqQ&3aAr4+ZxLo)AowvtDb#T0V+lZC$`8t1X!S zOF0v>ZT9gZS}5OyhDO(dyN}(kP#tA1`v|&gVyf_4Wolj!bRY8#l@Wf5aU15pnloGQ zo0Al{Q}DZRKMyGav}I_~F}-NFGGdQ?$e0)1-)}I-#pG?qk)oqlZoSu7zd+GjjFIeU z#aCIl(fmMfjZo%yjIYc;sJDRMb2(5u+8cGK9bKddeIP4GQH_j%d*wV!Mqq;AOu^fL zdjIP;1$a)Sz^ZAKoGUtv)4I*GNu2+0SotNJu=^r{vQA=;4fSb zJSiBjzyCwf4yvP$ZexSVitc2@7e8H&@pK!~LmZJI#^vr?wnJb)3mz9tkdbIE=w3hE zH8a)y{(pxUxDB9FWL+v#(N?D7O9|l3dV%0Dpy#?tbSia#Sdm)Ki0UiZ@AdLTWjOQ* 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 delta 24974 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 delta 109 zcmdn9$!^akyA6{3GKLC921X`I42%r%@gbhRuJQ2-N`@v@1{PMP=FO)3?WX*UK+FWh v%s|Wn#H>Kf2E^<@%mKulK+FZi+(66&#Jt;0`T08UGN&Y)Y(MyhuX+st?(rO& diff --git a/MDK-ARM/VOQC/stm32f4xx_hal.o b/MDK-ARM/VOQC/stm32f4xx_hal.o index 83afab1b0f6e75f38bf46e98f676039229049380..98022ccb4cdd1f614d7235904e24e1303ded85f3 100644 GIT binary patch delta 122 zcmbQzY(J&he#1K#86yQF10xe921bVX_z+KD*Z6n^B?C(<6B8=~vt};Wb}m;&AZ7w$ zW*}w(Vpbq#17da{<^W<&Am##MZXo6XV&3gsu6&sb*o_m7EOd<-rZXPqwVZ6qEU^9X IQ@)G00hj_Hq5uE@ delta 122 zcmbQzY(J&he#1K#8AAml10xe921bVX_z+KD*Z6n^B|~E?V>2sLgJv$*b}m;&AZ7w$ zW*}w(Vpbq#17da{<^W<&Am##MZXo6XV&3gsu6&sb*bOa`Ep&|;rZXPqwVZ6qEU^9X IQ@)G00hS&hq5uE@ diff --git a/MDK-ARM/VOQC/stm32f4xx_hal_adc.o b/MDK-ARM/VOQC/stm32f4xx_hal_adc.o index 1cbbf97d54989c3cead8187eb23508a3ee2badaa..77e7e1a39466ab24d426d357ef332eb0f95b0a86 100644 GIT binary patch delta 109 zcmcby%>KqQ`whOaGDZqU21X`I42%r%@gbhRuJQ2-N(PozCMH$}M$MVA?U}KRK+FWh v%s|Wn#H>Kf2E^<@%mKulK+FZi+(66&#Jt-xWBH2bFk7ZrY`_1Lukt1UZRjMh delta 109 zcmcby%>KqQ`whOaGKLC921X`I42%r%@gbhRuJQ2-N`}T(#%5L~rp=kL?U}KRK+FWh v%s|Wn#H>Kf2E^<@%mKulK+FZi+(66&#Jt-xWBH2bFdG<}Y`_1Lukt1UY(XS) diff --git a/MDK-ARM/VOQC/stm32f4xx_hal_adc_ex.o b/MDK-ARM/VOQC/stm32f4xx_hal_adc_ex.o index dad6db0391e2212d793a3572eb49d1b286964a05..e8812b8ab5932be4faa12150086646daa088c830 100644 GIT binary patch delta 119 zcmdn8&~D2@yA3<-WQ-Jy42(>a7#JDi<3l`sUE|{wlngAbOiZi{jGC|7wO_Sk1Y#y2 zW(HywAZ7((HXvpPVh$kY1Y#~A<_2OOAm-hE)sD|^Hk-LcvaT`1q+rX*`rHEBi*E5b GZ36(dr7C*> delta 119 zcmdn8&~D2@yA3<-WDFII42(>a7#JDi<3l`sUE|{wlnjlnjLob}Oq;LTwO_Sk1Y#y2 zW(HywAZ7((HXvpPVh$kY1Y#~A<_2OOAm-hE)sD|^Hd|`4iLNojq+rX*`rHEBi*E5b GZ36(hXey@w diff --git a/MDK-ARM/VOQC/stm32f4xx_hal_cortex.o b/MDK-ARM/VOQC/stm32f4xx_hal_cortex.o index f1b005f4974b36917aca16c780d0aa1ef1c3f60d..958e194c4a342168704455c18774db39aabdb464 100644 GIT binary patch delta 122 zcmdmS-fqWvyA7(&GDZqU21X`I42%r%@gbhRuJQ2-N(PozCMH$}X3dVy?T*fjK+FWh z%s|Wn#H>Kf2E^<@%mKulK+FZi+(66&#Jt-bo%x>5W;aesGto6>nEuh3+j8=IR)Oth J_xYSo003;|B(4Ae delta 122 zcmdmS-fqWvyA7(&GKLC921X`I42%r%@gbhRuJQ2-N`}T(#%5Ng2F;Gn?T*fjK+FWh z%s|Wn#H>Kf2E^<@%mKulK+FZi+(66&#Jt-bo%x>5W;ZfTHPJO@nEuh3+j8=IR)Oth J_xYSo003s&BzXV; diff --git a/MDK-ARM/VOQC/stm32f4xx_hal_dma.o b/MDK-ARM/VOQC/stm32f4xx_hal_dma.o index 7bdd16cf5f45938f54d998066eec4d96fe0d3336..e7ce81b360b53123fad37c19a46dba7297fc249d 100644 GIT binary patch delta 110 zcmZ3p$ZpLdyAApdGDZqU21X`I42%r%@gbhRuJQ2-N(PozCMH$}X3gFX?cNTIK+FWh w%s|Wn#H>Kf2E^<@%mKulK+FZi+(66&#Jt0M?cNTIK+FWh w%s|Wn#H>Kf2E^<@%mKulK+FZi+(66&#Jta7#JDi<3l`sUE|{wlngAbOiZi{%$hIiwqMj`1Y#y2 vW(HywAZ7((HXvpPVh$kY1Y#~A<_2OOAm-hEQI{`rCbO}H!FJu_eB1j098o6^ delta 109 zcmaE|*7nI-+YMWFWegRJ42(>a7#JDi<3l`sUE|{wlnjlnjLob}4Vo|NwqMj`1Y#y2 vW(HywAZ7((HXvpPVh$kY1Y#~A<_2OOAm-hEQI{`rCbN-+$#&i2eB1j08iOYc diff --git a/MDK-ARM/VOQC/stm32f4xx_hal_exti.o b/MDK-ARM/VOQC/stm32f4xx_hal_exti.o index a91eac474bbda114284d70540e3a066db9e80b4f..de37e5be9cd7f96794a2df5e2caba38adb34e748 100644 GIT binary patch delta 1225 zcmYk)&r4KM6bJD8GR?BNWAuZeG$tK#Acmel2o(k=a=;ctjz4nxF^y1*X<@jE*%$*s zxiMzdcL*#ug&SjBl(QK#qHtrlu$m%a%mN{&^bZg^r}N~!#h0`AoOkbehr2Q#T%HeR zyvE|}skE=I#oJ=Gv^6M0B@zP{BjH5C+hBHdwzYMd=k6DL4+}nnvWHSZ*-NRUR8jU( zsww*^2Pid^gA~_X!KeG5RNZVf1FZ^cjWr!}y>Ik(#a#D0y*XiYqdDqsG)xRe-A%?Y z#<*ngoJ$rT_5hj>Jih_j>|a$IB_Gb~w$)QL=Ehb8ZjlQQWdA_F8Pk|}F8uSgn`EZ#3# zWh`kB$)U{RFKRVviBBYp;2??ms#V&O)4QilkQgPr;$mWz``W+Rn>&NIgS3$l0+&g8 z91;-e#TZM>A!kK~vBZ*eNVCW&>WApM6vAB67@^`Ccl323Iz+c-P+-YA$F=U3T2k+HLY@nd~;h)%OiM|r1Zny?;Vj1Ot7eRdxEmq$t;kR3@6XCp1QV_`#XutAT33#cCuP(~6@4|#RVu5F=CMh=mH# z&?8OENC57aLKR`6;*eN4B~vtrfh)2L<&_Y{28km9*;6D(uh>>IDh!+)Nphry1$TzstuJs3xgD%@A+y7Di Gt$zSMZ|oZY diff --git a/MDK-ARM/VOQC/stm32f4xx_hal_flash.o b/MDK-ARM/VOQC/stm32f4xx_hal_flash.o index 0064c391fcd78c9debe999ef7132fb890229a6a2..a665afbd81319d21469a6906a829738709960c6d 100644 GIT binary patch delta 117 zcmZ26$8Na7#JDi<3l`sUE|{wlngAbOiZi{jGCXCw?8#!1Y#y2 zW(HywAZ7((HXvpPVh$kY1Y#~A<_2OOAm-iv)SQoHHoIYxxq+@R!(>5L&+V3%`QGmW E0BU(EFaQ7m delta 117 zcmZ26$8Na7#JDi<3l`sUE|{wlnjlnjLob}%$lE?w?8#!1Y#y2 zW(HywAZ7((HXvpPVh$kY1Y#~A<_2OOAm-iv)SQoHHoK9TL9(tf!(>5L&+V3%`QGmW E0BY$fGynhq diff --git a/MDK-ARM/VOQC/stm32f4xx_hal_flash_ex.o b/MDK-ARM/VOQC/stm32f4xx_hal_flash_ex.o index e33bb25468372028c132f687dd9facc5d150c2e4..c27020e750ec9c6d852f13ec7fd106866b8309f3 100644 GIT binary patch delta 117 zcmey-Y4@YkZo^4a86yQF10xe921bVX_z+KD*Z6n^B?C(<6B8=~v*xF!?N3b^ftU%1 znSq!Eh*^P{4T#x+m;;D8ftU-3xq+Amh2sLgXX8E?N3b^ftU%1 znSq!Eh*^P{4T#x+m;;D8ftU-3xq+Amha7#JDi<3l`sUE|{wlngAbOiZi{%$nD;x36bs1Y#y2 zW(HywAZ7((HXsJcaR4zV5OV=BHxTmxG4J;E?0nZ|up3(%nCKcaOg1#IoP2>Mk!JN delta 126 zcmca|(B{fPn+=oMWegRJ42(>a7#JDi<3l`sUE|{wlnjlnjLob}4Vu@px36bs1Y#y2 zW(HywAZ7((HXsJcaR4zV5OV=BHxTmxG4J;E?0nZ|u%#NC=o&LjHZ-uDe1TbD`_%<} N{4CoaFX8)G4FJm1DM$bS diff --git a/MDK-ARM/VOQC/stm32f4xx_hal_gpio.o b/MDK-ARM/VOQC/stm32f4xx_hal_gpio.o index a4ce141ef9fe18dfefadf4664632b58d6338814f..b102e610d2e17416c0afb77118f50f9cf520769f 100644 GIT binary patch delta 763 zcmXZYJ#1286vpxQB7UH9k;zN6;lo5rVv`FJ15FxXXi{2HQLJ>rCLM|s-DIP2usG4_ zX-%3?C%RoGO5$+YAaMW(Qw9@ovQDtk&GSTue|~vS&hnnFwe-zess*%%&ET)#-Dn_c zMq?qRsX`%_&MX%SfsmP4jKvns#~=KmkN%J*IiyRHQ@Si&k*-SDB$squx*^?^+%11d zpZn~L#I|CsCtvjiXRB!Ik3MNDI9m1G)83-9>Up5qI450r*Mu1of?ExAWh$k9N;>A& zJa;q`RW8KQB-Q zCUJ~O7p`YQ5)ooygBaK)?{PvV7?3zFNCm;?!XDD3h8=Q%LsCbFG;mHVcwY#oNDv#F zq>C!)qe;#%BqL~9;Wxr$f-IS#EV$JVT^aw6w2Y&S9LYeB3nr%I6uy^2A1RVYk;q?( zfi_8EOjh7}CCm^Z0c?+_48t}fB zseG2qWAopuN=!6~fg!0uTNfG#lQU$=1Z7geF*!hw*qD+Md~bvXQp7@$?5h7P8#AlbqPg;H->&5TIagZ+7!Vc_F@N-$!A zfpH*aBJY}dRWlIgsfFBE-Qj8W=}p&=p4^a?tS=jV4vSPzdv`mrO5lG$gEFm zdEM}{p|0K65$p*0g(hOL=q0l^7W4VrJG(m1b)5}9uJ=#Z`!$RUQ-&$WxG@JX2Qd|x zLzu&uBbZ8zzEba(-WO%(?*&)7Eg2|Z8GkE-PqiLc=rc}hx8Yr%(X3gpO(hFQ`?2gm z1dCq!AVp9JQNT!O=r>MkZ7@R;TDPT&WfTh38VC0PmIMT_=t*2xr6zcwdH^S+V3H)` zkYg+stdZm#Qp>UdUK6G0kQ002Dy_pq(`eEv;W@6*>R^=?hCWI$tF}D_3np%x1^qHg z_>&alN_;FC7$NcGrMRQS&oTjvBt?{qN*Y;0uuGEoEJcNqW`2e#Ft4B_9dd?c4(3Tx z4rygc!!}9AApw?Uhz#PjEVxT03o}^soMT-VJQ~E?<)J{b;gB%PF9=*kDLUi=%MMJE zlu&Bb9eVk89#|u3`y#~?jX%H1vJBp9D7mjFs%MBL3S%Ud8}^Ib+Ml*c5_U+8r3duu zC_4oyTGX`re6~6mA!+<(pDoTkVOS)II%I++4!a~%C=b-M1WOUjD9Y%jJ#C650rMml zO1J7s?uo0k3IC!-lkWL0#VbW~+=L%x2%8#z;GfLR&y(7h8Irc&Qf#T7G>ZocB*`uN z2pN_%1a6?@9kR?)gh`UbAG^n5nS(VF3uQ^|lVyp6cNiu87e9lG&z57!z!*t%+n$!+ j?^#80r%;Z=v#?PErD3B=djtAS{P|_GA*P|a)u{OoQ?oX> diff --git a/MDK-ARM/VOQC/stm32f4xx_hal_i2c.o b/MDK-ARM/VOQC/stm32f4xx_hal_i2c.o index acacf0fc376871c826d2b7b73d21ffe210751f63..e2bd84a87b92aa1fd6e8133008f41d9ebc0b3cad 100644 GIT binary patch delta 134 zcmbR7z-`6@w}vf@>X|Y|3PuJ-CQ1y94DsD zK+FQftU$~L#Oy%K0mPg@%mu{UK+FTgygX|Zz3PuJ-CQ1y94DsD zK+FQftU$~L#Oy%K0mPg@%mu{UK+FTgygRbSEP$>KW diff --git a/MDK-ARM/VOQC/stm32f4xx_hal_i2c_ex.o b/MDK-ARM/VOQC/stm32f4xx_hal_i2c_ex.o index 5e4bdadf5048da1fa29fce82d0f32260cb926fd8..9ac91525ff84393faf7d9c414fb4ab34976467ec 100644 GIT binary patch delta 117 zcmbPpz-GKf2E-sa4j|?PVlE)&24Wr{=G|V*&bNOCyRn6lg|0EfKf2E-sa4j|?PVlE)&24Wr{=G|V*&bNOCyJ4caiLNoj)+GSx CE+i8G delta 116 zcmew|-R{eDyA7qBGKLC921X`I42%r%@gbhRuJQ2-N`@v@1{PMP=FJm1+b41|0x=U1 zGXpUT5VHa?8xXStF$WNX)NlbYHxTmxG4J+?oO}g$Sq)8ejTxq2T+U~?-Tpb>)+GSv CwrL9?oUyQ)4T5HkTW zGZ3=?F)I+W0Wmuea{w_X5OV=BHxTmxG4FO&eLl50EQTqj2HX8k^J%hduQ<<_u>}Co C(;j;O diff --git a/MDK-ARM/VOQC/stm32f4xx_hal_pwr_ex.o b/MDK-ARM/VOQC/stm32f4xx_hal_pwr_ex.o index d78913725956070b8b6c6e5fdc3b102c27cfb34f..95d2f8fd958a4c3a36dfdb3319599f7cbda7dc56 100644 GIT binary patch delta 1104 zcmYk*KWGzS7zXg~tgX>{mr9jH+dwReU4myD#r`>)s?j(ET2XXpO$r?{Sm@x8!9Y-p z4i*9mPbn5!aOhwmirNkqD)^^jLtAwSY9x!0r4YeEkb>{)d*yC;c!uBiz4zUB$?u$1 z%~`pi7JPbe*w@?^Y%|-!ElN{~#H9=IXd)48F*`cL;ZF0!?HS+Q8J|YkMya7}r_@sF zC_5+~%1+8IN}Et;@|MV2*}G>Vj=pCYNcWS@w_AWOr0XPQqWh&dLM#BV=mznmwAO_o`b zq%BP%9>jY{BFlz4X-hyPjVTg3;#;mHHh5j?gL4ZlSnr{C7=;xfNxS5bNEYKH+C9AB z%Av&TCS2=|;&p^3Oe54wGV79KB6(z37F^OUr&~gSrAV^%u9ip@fzu@EkB&q|au{Lp zuNZ2fM!sZRp0kEUmg1_RTJ2l7D59XBA@QskDzC|&D>7{XgDmBB=SBuZDwtzYpPUm6 zi} zI8S2!aDH*GL{b=G87&)X)}Ho8#E(T1`osO?>VqDmx`pFZwUYPL~Ei21af*k}q3<4><2wn!e2zD5`V$fm2 z;LSn;VVA)!h9!et23~|NgIxqK!Y+dy61)sL^n6&*7v8*{hv)SDy^$PmBsap&R4Y;p zgks_NOgu5^a$JQ%KJ$99PzX=PX6I+`&)=K**bIDb1{~{xb(+v1Ne09f*?;my|-+d3wTu}kEM;Uy!| zEQ=~zqRW9Oaw5u1JT+FB6II@c8tdWoG;mVJHc_!lPPD0reVU?6PYf7|F~Mg> zm6X_|Btq215qo05P`L3tH@w8eK1<@5RdLFWaC0a^oQVXHw2>tv+AND{wnUl(QR75( znOHOi%nAFSIA#5OYl$&^F~E6Y-s_J!t*K+FWh z%s|Wn#H>Kf2E^<@%mKulK+FZi+(66&#Jt-Vn)BV7&1{rrw!QW;pBBsZ71#M})&l^5 CF(;J( delta 114 zcmaFTYxktrZbPfNjG=;&fsu(410zFxe2Ay7Yka(dlA*Dcv6+>LY4bw!_J!t*K+FWh z%s|Wn#H>Kf2E^<@%mKulK+FZi+(66&#Jt-Vn)BV7&6I4sz3wuf7R&bK*ZFMM0{~o0 BCtv^o diff --git a/MDK-ARM/VOQC/stm32f4xx_hal_rcc_ex.o b/MDK-ARM/VOQC/stm32f4xx_hal_rcc_ex.o index 1d79313e450b0e12a3ba179ea3992790ad9009e5..a48cedf880e0fe907b2f6ba1a5f0b9a9af0e9568 100644 GIT binary patch delta 110 zcmaE`!1loc+YOy^GDZqU21X`I42%r%@gbhRuJQ2-N(PozCMH$}M$Jp*+Ly{P0x=U1 xGXpUT5VHa?8xXStF$WNH0x=g5a|1CC5c6(dD#!P9CX2DTiN*H59ekIj0|1QPBz6D* delta 110 zcmaE`!1loc+YOy^GKLC921X`I42%r%@gbhRuJQ2-N`}T(#%5L~X3b0G+Ly{P0x=U1 xGXpUT5VHa?8xXStF$WNH0x=g5a|1CC5c6(dD#!P9CX1nAioy229ekIj0|1VNB$)sJ diff --git a/MDK-ARM/VOQC/stm32f4xx_hal_spi.o b/MDK-ARM/VOQC/stm32f4xx_hal_spi.o index 188cf68151b4ba9a8c4799339a3af353350e1f41..69ee1fdb7fa923feae889f4d6ac533bfcb63eda4 100644 GIT binary patch delta 124 zcmdn9&1ugzrwu<3%NQvb85o%;F)%X3$A@_Oy2i&VC>dBa`C8Jk&|8Z?U@X%{`h2*gZ4 z%nZaVK+FonY(UHo#2i4(3B+7L%nigmK+L;c^a$U*xoqZ^Cc4H9lLh`+PTnIW(C(DP LzuhTG;FkpeP9iF# diff --git a/MDK-ARM/VOQC/stm32f4xx_hal_tim.o b/MDK-ARM/VOQC/stm32f4xx_hal_tim.o index 3c219a686657a4215484fbeee35bd510390219f3..190ff5a652b51f946d0124017e4f30d634d7dd66 100644 GIT binary patch delta 128 zcmccc&hx@M&xS3G`730M6pRdvOq3WH8RFwZJbhi`;}w()EUipTtPITByH_v*F%u9o z12GE_vjQ<25VHd@2M}`tF&7YX12GQ}^8zv7_U;w@8LQciO^uRujTt5j+IhA+hX??% L;CAN_Azozw^q($i delta 128 zcmccc&hx@M&xS3G`72}$6^smwOq3WH8RFwZJbhi`;}w()jjfE$tV|8syH_v*F%u9o z12GE_vjQ<25VHd@2M}`tF&7YX12GQ}^8zv7_U;w@8LQb1EzAvcjTt5j+IhA+hX??% L;CAN_Azozw?td;e diff --git a/MDK-ARM/VOQC/stm32f4xx_hal_tim_ex.o b/MDK-ARM/VOQC/stm32f4xx_hal_tim_ex.o index 6d64e6133daa4e711b801ffb5512dc57d5631a89..3bfc17849ae607afb868044e0f24c8ea8909795e 100644 GIT binary patch delta 3097 zcmYk;Uu;ul7zXgu(FyA6DX}poZf4>{F1k2LNe8sTWaDouOghHDW-*MYaTO<>h_nG@ zb1Z3bVDVM#l(sL3e_N_1+Mpsv4Tez*OtA0h(+I2qPx+edbq0zyi zQ3pm9#u5xCMm5Gg7)vphVcd&xAIAL{H5jhzL!%G$US8t&AG-eUCe!b{-n`ZP@i)3z z@Ai<_?{+&HDCl=T=_t@)jv}QwN_35*Leq$XoMp}-*IGV7U3$sY8uN7!?@xwjHl@P_3lS-(_jGNJYvh!A~lqT zI0AHyqm`!lx(KdwTPv)gZv$ANn;L_VxDvleKP6c*O4f?xXo{tvWWC5F)jb0#DG7?q zP>iLbWP^y4CRjYL+0WJ@(m<{a5TBAwBCQl83H3xRNa*{WQ;#QL;@WN8yc- zf|4B~lQhCoQW6%Kp;?xSlAR(>3bsHzz4rHM7ipk0i%-dJ5%j|nQPLrTex8NIm2`@r zAC`=geIn?GrJ&@12>RIsDJhAHpdXfsk}eVS!{T|}G#<8oJ1@v@%uB9TNF4H}C5J@H z6lL)pHI2QN92QB@7)u~-%ZnlznrCV4v*l%xEQQ-3p*L)KMI=WfES_Vgamu<+Y;m<& zmO039_AQB$B7_c5E_E>f?yh2*Q;Zu=k{M zbb34XntqyPNhui?$xv_yB&+0tNRHAhc_kT<0!_1wD|ugJk{UyhqLL3pN|a=|rR0*x z3{A0=m1IRKR2PQKDfw8$Nimk1ckFL^S;RvVEVW8L6~UhN9K@?6C*q?hOF+pL5u6(= zAtj%S;0$3osN_qLZVK;&^eD-TpdXfmlCMP24@*kPRT1>F3zAjxjR^W-$tx*{pdScM z$?A3lIzhOK>bjq3dHcc{mSnl58%t zPC6i2CG#Tage9-!KM`~S;ZF8QCkR(jUAKgm?~zVeZYil2K_@I_B}+xnNhiNt4btXL zyj*!GhCf~2v!-ztFD(4h@({ImVsUI(EX5&+wP8If5+T=KNXM!K1f7KP^5=OSo$F^S*x{)lxdcw`@FqcSR_Hg z{g83UMr%&Tf>h0&r*r$=D_x!org7P#s7yi=JgMP5oEz2h?>W3EjRzp!4^88aH76$G zp(IP{lKlvMA~~93DJe;cl&S6@B=M0wXFw!FF_v-2;%S!_>7fahToyG{$+KM)$&)Jz giF{(OHnKP;3c>sK07r<%5Y_35X?#Jw^X7y918aZ%C;$Ke delta 1926 zcmYM#F-)Un9LMpuoSv-;l)+fkM0zG33?}qArG-;%kx#D@s^R(xx z=NV7f6Y)IjdCv2^r+c@w)l=NKIx;eP^NkTTCws?!eziZko1N_a>&k8-)BEQ?p=rG^ z8htG^sMKimdT39xP*({WszFDmrYrbHUCHR{{^?NCSBI5@q?RC~O_j;bOL!@z@p;gW?5NSRT0Wshl&niLv5(5 z@0MvO1!2uXR3(^D4Kg}~yh3lAISs+0axa2kv{%xDVV1?gRIM`@ntRzW0s$zPqfS3v}rxj>v z8~iMxql?SE_#Llyl!dU0u&8xd)*-B_4Q2IxWGYI*hGwCv66~l3dpd;!h3=Xo4MANw zXlM!k&?dBW3}-rrj{5I$H-G32!cXqzFZ%9|?`Bx@-tm!GgP8VVKuz#_d*2Kz0ZA2L zLMz~N2|kzLa|vH7{;`=;78XD%v<5qAhxE0(AZUwjIj9bC2;8t)exE0(A zZvBMTNB_6B)t$R+^$xAzR&Xo0^;6?ka4WbK+zM_5w}M-zja$L3;8t)exE0*`nQ<$) z72FDL1-F7*KR0d#w}M;2t>9L0E4cNG==GjpwKs@8d9FPn{XQOj$$9hMa?l$1C5F11 zkXIycqDp{YVsI=t7CJhC0bRhL;srCIEaX*$1+BxX4&h8~m{Z>av#b;xXx4NEKk3H@ z{&>VxjSv#c~!G!Oowz=HOnswV6x^3dd! UfCUwxt`(TlHmvF7Vf4j+0fxgsQ~&?~ diff --git a/MDK-ARM/VOQC/stm32f4xx_hal_uart.o b/MDK-ARM/VOQC/stm32f4xx_hal_uart.o index f04aa0c1de15c7bf852704bfa9609c14979b5352..0cb0c2d15269027922d37a418b0c3884101a2be9 100644 GIT binary patch delta 121 zcmcbx#reV(=MBDhWsDSz42(>a7#JDi<3l`sUE|{wlngAbOiZi{4Vp9WwrAdD1Y#y2 zW(HywAZ7((HXvpPVh$kY1Y#~A<_2OOAm-hkd6)0S0=Cp73teM|=?@=qTeeTAS3;+NC delta 121 zcmcbx#reV(=MBDhWegRJ42(>a7#JDi<3l`sUE|{wlnjlnjLob}O`0?BwrAdD1Y#y2 zW(HywAZ7((HXvpPVh$kY1Y#~A<_2OOAm-hkd6)0S0yYyf3teM|=?@=qTeeTA=ukeT%vW$oMNN>bB9frxKvYgYr`1cPMxXUB$Wv*2-dd- z1T!6yN>|c-eK6=lhA%BziButd5UNkDh(w=S5e(u(vQ5qAbjkGh<9EY74?n&SpYuES z8pM-Jm0Wn?IP8xce6)imu5UDJX%d)3&dH?YOhROA7X9t5vZtBDbg1ZF6F z){vof*)tr#$!j!28tW{xiX0Tl!uJPBUXep0MNF`i6nR8s11l^QMIIHYqQ%lsBrM`a z@=p@~5oc|Wi-b^MF%{_(NubVRDKa3EM(i(=Sw#+uWHHZ@SL6wiB6e6xibO;<5N^=+ zRWQy`Lx#c^iW=IWy^ArNZO|^Ju*H&Bq z0DLz{tS6n>o)O7mf@MRIV7r$v{;IYBt^E7{F}rdcY02UjG@4iRpg{d z8FiKhNvFL#mfXcAVmC?L!;YL1@nW9EugD7`0qn4Z6gl0#+2MakOhr;6QDj&Wio7f` zhAkFLkuxGG1pg&TEAooSG-g<46-kTCVVxzb$g3hb_->Kp6*(vJAtp%lBF=LxV}-|+ zlyO;HyhS&uj26p=BJYUMJJTeoC~`q$8wHlCBJYXRP-kf6J%q)t*+qm!{VY;Ntb-&pW@vG{=Qoiw z=2_-QKDOnG2%QZ}E@@~B9@&{2Z3(+b^3NIC?{?2^kvU{Y=#R){4llNNTy)%7&mOG0 zy7uW7f^L$kB6~%em|+Q>GPKX^x$hULV4cPLJZ*c2tmh#SKYSjN@{7)Q9&7hZkkB)G zo+E%29v3?8j5~sh9$HTnEtUjH-2Q4@B#Y!OlAO{rB2q+wWtrqHyXUw_59%!DONMsF zmJ_m`JYu^^N+g}OSR!T2vs6ghHz6fb!w!o(WoWkJi9^|7gE$BqTteP< zgN<$_IaAnRD~SU*m5s&)l2gG)(DUK@(c$xbDWE(Ua$q*z;!}eGxzYGJfpX_H6sM2eyZ{N4Cc{x6NaF!}g}_ zE!*2S@#A-%eYf{n;imNDV7q_w`FjVcZyh&ZzdHE9$uWO*@S)Sg`Q8{17Pn-@9Tl;p zE4EC8n~m@i_`&d#6o(W=jFw0-6glq2Ii4SlGEq?{F9y`ah%2#XCbsOvA)&PqAuSS= zM21Uo##mgi5>WDk4Z%M3{&K8<8RKvvEdJ zTu>BMTB6BNbhsDScz!WPM8%Z6SW*)~u0)QRXtEQxgnl(#q(zL9xZqOs7>flf;m7xz zks&VX6vT*z*wPmf=HeXZccVjC+>sU5CsK4pm5CUz5o-clV@p!FC<-?%;bkcN+>0Qd zopDH1M97O6HId*-q?m~eJCP&whjB()oKq6kC(4XPm6fRD`_r)RC%&Q}Iy6L&zPM&C z1~{*c5n*Bfr6!lFu6)TxLLUD0DA4%vtZfyYLZq`0Oi l2DHSKp;&S+TzK5Zf~Z)M7cOcd#g)h~6DREcC*<+I`!8PP+(7^U diff --git a/MDK-ARM/VOQC/stm32f4xx_ll_adc.o b/MDK-ARM/VOQC/stm32f4xx_ll_adc.o index 8e8a06ca2e54ad2db277910dc05b9a3521c6aa3f..2fc42555d815748385aabbcaa6d5655d67eff7fe 100644 GIT binary patch delta 41 wcmeyN{zHAkUKSZ61tS9^6D0;lhWPjpPhZ#gcm*W`ODhu-D+9yLH(BKQ0R`F%S^xk5 delta 41 wcmeyN{zHAkUKSZc1tS9^6D0;lhWPjpPhZ#gcm*XxV=H4bD-+YrH(BKQ0R_4XT>t<8 diff --git a/MDK-ARM/VOQC/system_stm32f4xx.o b/MDK-ARM/VOQC/system_stm32f4xx.o index 20305e73fe5f3f1e3047e0d4803bca2b8923726f..947e133fbe5c1455864e11c82143eac233d407ed 100644 GIT binary patch delta 121 zcmex!*XGY%n+=h?GDZqU21X`I42%r%@gbhRuJQ2-N(PozCMH&f2F<0s?WMeoK+FWh z%s|Wn#H>Kf2E^<@%mKulK+FZi+(66&#Jt-}dHH&0up5~sS?C%wO!Mcoob1mcusvuQ H->MD(bLAr9 delta 121 zcmex!*XGY%n+=h?GKLC921X`I42%r%@gbhRuJQ2-N`}T(#%5NgCe5Y1?WMeoK+FWh z%s|Wn#H>Kf2E^<@%mKulK+FZi+(66&#Jt-}dHH&0up1j#n&=ucO!Mcoob1mcusvuQ H->MD(aSbB0 diff --git a/MDK-ARM/VOQC/tim.o b/MDK-ARM/VOQC/tim.o index 6cc633118c57144fe75c93446425c554fd564d1f..d66d3ea9af1c5637a0c9cfa90032eb9ec57887ae 100644 GIT binary patch delta 123 zcmX@}((cSlyA7pMGDZqU21X`I42%r%@gbhRuJQ2-N(PozCMH$}hRqYD+9yge0x=U1 zGXpUT5VHa?8xXStF$WNH0x=g5a|1CC5c6)ID8(mnkKHIO#X#4XVR9p@=k^~z`0AOr KSN!1%*#Q7Z7bpAx delta 122 zcmX@}((cSlyA7pMGKLC921X`I42%r%@gbhRuJQ2-N`@v@1{PMP=FJnO+9yge0x=U1 zGXpUT5VHa?8xXStF$WNH0x=g5a|1CC5c6)ID8(mnk1f^2K-ZXIawDtf_Mboa>Y2Bf J|KSVW0RSSuC!YWS diff --git a/MDK-ARM/VOQC/timer.o b/MDK-ARM/VOQC/timer.o index 5cb18b70161fb2aee231d9b23e01448e7f191edd..99d74423d2e8f100570894140967c6af9fbf9ec5 100644 GIT binary patch delta 127 zcmZ2-$Zp9YyAA(@WsDSz42(>a7#JDi<3l`sUE|{wlngAbOiZi{O`D}e+NDGoftU%1 znSq!Eh*^P{4T#x+m;;D8ftU-3xq+Amhmh9b delta 126 zcmZ2-$Zp9YyAA(@WegRJ42(>a7#JDi<3l`sUE|{wlnhO*3@oh-jGCoH+NDGoftU%1 znSq!Eh*^P{4T#x+m;;D8ftU-3xq+AmhOR01>(OR01|5`VgLXD diff --git a/MDK-ARM/VOQC/usart.o b/MDK-ARM/VOQC/usart.o index 270c3b2a51279d7242c14fe1f12b86be9b30447d..d167fa9d2898fd82d8b1e6a94fb0f55d9053d149 100644 GIT binary patch delta 123 zcmbR6+it>dyA6d3GDZqU21X`I42%r%@gbhRuJQ2-N(PozCMH$}hRwYS?Y#<&K+FWh z%s|Wn#H>Kf2E^<@%mKulK+FZi+(66&#Jt;k75IYgu^U>ZSm+uvOup!4xn1r*-%RH1 KJDB)y>;eEMndyA6d3GKLC921X`I42%r%@gbhRuJQ2-N`@v@1{PMP=FPnd?Y#<&K+FWh z%s|Wn#H>Kf2E^<@%mKulK+FZi+(66&#Jt;k75IYgv6-19>l!mmzUXDSUH(7cOy=#| JnfPz+0ssYsCqe)K diff --git a/users/Inc/provalctrl.h b/users/Inc/provalctrl.h index 8de7fbc..bf90794 100644 --- a/users/Inc/provalctrl.h +++ b/users/Inc/provalctrl.h @@ -22,7 +22,7 @@ typedef enum { PROV_RUNNING = 0, //运行 PROV_ADJUSTING = 1, //整定 - PROV_HOLDING = 2 //保持原样,不进行校准 + PROV_HOLDING = 2 //保持原样,不介入控制 }prov_status; typedef enum @@ -91,8 +91,10 @@ extern propotion_valve pv_two; #define OSCILL_TIMES 5 //振荡次数 #define TICK_LIMIT 120 //振荡周期限时 +#define SECTION_NUM 5 //区间端点数,区间数 = 端点数 - 1 typedef struct { + //继电反馈 unsigned char adj_flag; //整定标志,用于判断是否处于整定中 float relay_d; //继电反馈,回环幅值 float relay_a[OSCILL_TIMES]; //继电反馈,输出气压振荡幅值,中间数据 @@ -102,16 +104,13 @@ typedef struct float air_source; //气源压力 float middle_current; //中间位置电流 unsigned char oscil_times; //当前振荡次数 - -}prov_adjust; //自整定参数结构体 -typedef struct -{ - unsigned char adj_flag; //整定标志,用于判断是否处于整定中 - float table_current[20]; //用于存放电流 - float stable_area; //当滑动窗口内的max和min都处于 ±stable_area 内时,判断已经稳定 - unsigned char wait_tick; //等待超时 -}prov_adjust_section; + //分段式 + float table_current[SECTION_NUM]; //用于存放电流 + float table_pressure[SECTION_NUM]; //用于存放实际气压 + float stable_area; //当滑动窗口内的max和min都处于 ±stable_area 内时,判断已经稳定 + unsigned char wait_tick; +}prov_adjust; //自整定参数结构体 void prov_init(void); @@ -124,7 +123,8 @@ void prov_calibrate_step(propotion_valve *pvx); void analog_ctrl(void); float abs_bias(float bias); void prov_adj(propotion_valve *pvx, prov_adjust *adj_pvx); -void prov_adj_section(propotion_valve *pvx, prov_adjust_section *adj_pvx); +void prov_adj_section(propotion_valve *pvx, prov_adjust *adj_pvx); +float prov_section_calculate(float target_pressure, prov_adjust *adj_pvx); diff --git a/users/Src/provalctrl.c b/users/Src/provalctrl.c index 653214e..2c51c80 100644 --- a/users/Src/provalctrl.c +++ b/users/Src/provalctrl.c @@ -139,7 +139,24 @@ void prov_set(float target_p, propotion_valve *pvx) //比例阀目标值设定 pvx->target_percent = (target_p - pvx->input_min) / (pvx->input_max - pvx->input_min)*100; pvx->target_pressure = pvx->target_percent/100*900; //Kpa, 比例阀 (4~20mA -> 0~0.9Mpa) - pvx->target_current = target_p; //记录当前理论模拟输出 + switch (pvx->tag) + { + case 1: + { + target_p = (prov_section_calculate(target_p,&adj_pv1) > 0)?(prov_section_calculate(target_p,&adj_pv1)):(target_p); + } + break; + + case 2: + { + target_p = (prov_section_calculate(target_p,&adj_pv2) > 0)?(prov_section_calculate(target_p,&adj_pv2)):(target_p); + } + break; + + default: + break; + } + pvx->target_current = target_p; //记录当前理论模拟输出 pvx->pidout_max = pvx->target_current*(1 + out_makeup); //pid输出调节上限 pvx->pidout_min = pvx->target_current*(1 - out_makeup); //pid输出调节下限 @@ -155,7 +172,23 @@ void prov_set(float target_p, propotion_valve *pvx) //比例阀目标值设定 pvx->pvout(pvx->current_input); //dac输出 } +float prov_section_calculate(float target_pressure, prov_adjust *adj_pvx) //分段计算达到目标气压所需的电流 +{ + float target_current = 0; + if(adj_pvx->table_current[0] == 0) return -1; //未经过整定 + for(uint8_t i = 0;i < SECTION_NUM - 1;i++) + { + if( (target_pressure >= adj_pvx->table_pressure[i]) && (target_pressure < adj_pvx->table_pressure[i+1]) ) + { + target_current = adj_pvx->table_current[i]+(adj_pvx->table_current[i+1] - adj_pvx->table_current[i]) \ + * (target_pressure - adj_pvx->table_pressure[i])/(adj_pvx->table_pressure[i+1] - target_pressure < adj_pvx->table_pressure[i]); + } + + if(target_pressure >= adj_pvx->table_pressure[SECTION_NUM - 1]) target_current = adj_pvx->table_current[SECTION_NUM - 1]; + } + return target_current; +} //绝对值计算 float abs_bias(float bias) @@ -415,14 +448,23 @@ void prov_ctrl(propotion_valve *pvx, prov_adjust *adj_pvx) case PROV_ADJUSTING: //自整定 { + //继电反馈 if(astep == ADJ_WAIT) { prov_adj_init(); adj_pvx->adj_flag = 1; //整定开始 astep = ADJ_START; } - prov_adj(pvx, adj_pvx); + + //分段 + if(astep_s == SECTION_WAIT) + { + prov_adj_section_init(); + adj_pvx->adj_flag = 1; //整定开始 + astep_s = SECTION_START; + } + prov_adj_section(pvx, adj_pvx); } break; @@ -689,50 +731,134 @@ void prov_adj(propotion_valve *pvx, prov_adjust *adj_pvx) } } -prov_adjust_section adj_section_pv1; -prov_adjust_section adj_section_pv2; - void prov_adj_section_init(void) { - adj_section_pv1.adj_flag = 0; - adj_section_pv1.stable_area = 9; - adj_section_pv1.wait_tick = 0; + adj_pv1.adj_flag = 0; + adj_pv1.stable_area = 9; + adj_pv1.wait_tick = 10; - adj_section_pv2.adj_flag = 0; - adj_section_pv2.stable_area = 9; - adj_section_pv2.wait_tick = 0; + adj_pv2.adj_flag = 0; + adj_pv2.stable_area = 9; + adj_pv2.wait_tick = 10; - adj_section_pv1.table_current[0] = 4; - adj_section_pv2.table_current[0] = 4; - for(uint8_t i = 1; i < 20; i++) + for(uint8_t i = 0; i < SECTION_NUM; i++) { - adj_section_pv1.table_current[i] = 0; - adj_section_pv2.table_current[i] = 0; + adj_pv1.table_current[i] = 0; + adj_pv1.table_pressure[i] = 0; + adj_pv2.table_current[i] = 0; + adj_pv2.table_pressure[i] = 0; } } -void prov_adj_section(propotion_valve *pvx, prov_adjust_section *adj_pvx) +uint8_t temp_cnt = 0; +void prov_adj_section(propotion_valve *pvx, prov_adjust *adj_pvx) { switch (astep_s) { case SECTION_START: { + if(tick_previous == -1) + { + tick_previous = tick500ms; + prov_set(4,pvx);//排空气体 + } + tick_current = tick500ms; + + if( (tick_current - tick_previous) > 20) //等待20*500ms + { + tick_previous = -1; + tick_current = -1; + astep_s++; + }else if( (tick_current - tick_previous) < 0) + { + tick_previous = -1; + tick_current = -1; + } } break; case SECTION_RECORD_AIRSOURCE: { + //记录此时气源压力 + adj_pvx->air_source = (InputReg[18] - atm_pressure) / (float)10; + adj_pvx->table_current[SECTION_NUM-1] = adj_pvx->air_source/900 * (pvx->input_max - pvx->input_min) + pvx->input_min; + for(uint8_t i = 0;i < SECTION_NUM - 1;i++) + { + adj_pvx->table_current[i] = pvx->input_min + i * (adj_pvx->table_current[SECTION_NUM-1] - pvx->input_min)/(SECTION_NUM - 1); + } + astep_s++; } break; case SECTION_MOVE: { + if(tick_previous == -1) + { + tick_previous = tick500ms; + prov_set( adj_pvx->table_current[temp_cnt], pvx ); //设定分段电流 + } + tick_current = tick500ms; + if( (tick_current - tick_previous) > adj_pvx->wait_tick) //等待tick*500ms + { + adj_pvx->table_pressure[temp_cnt] = pvx->current_pressure; //记录当前实际气压 + + tick_previous = -1; //准备下一次计时 + tick_current = -1; + + temp_cnt++; + if(temp_cnt >= SECTION_NUM) + { + temp_cnt = 0; + astep_s++; + } + }else if( (tick_current - tick_previous) < 0) + { + tick_previous = -1; + tick_current = -1; + } } break; case SECTION_END: { + if(tick_previous == -1) + { + tick_previous = tick500ms; + } + tick_current = tick500ms; + if( (tick_current - tick_previous) > 10) //等待10*500ms后恢复控制(等待期间:排气 + 计算结果) + { + switch(pvx->tag) //重新触发保持寄存器 + { + case 1: + { + ao_blf1 = 0; + } + break; + + case 2: + { + ao_blf2 = 0; + } + break; + default: + { + } + break; + } + + tick_previous = -1; + tick_current = -1; + prov_adj_section_init(); + pvx->status = PROV_HOLDING; //恢复控制 + + astep++; + }else if( (tick_current - tick_previous) < 0) + { + tick_previous = -1; + tick_current = -1; + } } break;