From f65c03b9e78c95b68f79069d159d3a01cc4ba4f2 Mon Sep 17 00:00:00 2001 From: wujunchao Date: Sat, 7 Sep 2024 13:06:02 +0800 Subject: [PATCH] =?UTF-8?q?PID=E8=BE=93=E5=87=BA=E9=94=99=E8=AF=AF?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3+=E5=8F=82=E6=95=B0=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- MDK-ARM/VOQC.uvguix.admin | 24 +- MDK-ARM/VOQC/VOQC.axf | Bin 1077624 -> 1077736 bytes MDK-ARM/VOQC/VOQC.build_log.htm | 2 +- MDK-ARM/VOQC/VOQC.hex | 1182 ++++++++++++++++--------------- MDK-ARM/VOQC/VOQC.htm | 58 +- MDK-ARM/VOQC/VOQC.map | 280 ++++---- MDK-ARM/VOQC/VOQC_VOQC.dep | 8 +- MDK-ARM/VOQC/ads1220.crf | Bin 927162 -> 927162 bytes MDK-ARM/VOQC/ads1220.o | Bin 1040888 -> 1040888 bytes MDK-ARM/VOQC/main.crf | Bin 943851 -> 943851 bytes MDK-ARM/VOQC/main.o | Bin 1060836 -> 1060836 bytes MDK-ARM/VOQC/provalctrl.crf | Bin 928280 -> 928397 bytes MDK-ARM/VOQC/provalctrl.o | Bin 1045104 -> 1045224 bytes users/Src/provalctrl.c | 64 +- 14 files changed, 818 insertions(+), 800 deletions(-) diff --git a/MDK-ARM/VOQC.uvguix.admin b/MDK-ARM/VOQC.uvguix.admin index a40c8fe..e357f23 100644 --- a/MDK-ARM/VOQC.uvguix.admin +++ b/MDK-ARM/VOQC.uvguix.admin @@ -111,7 +111,7 @@ 0 723 - 01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000004000000000000000100000064433A5C55736572735C61646D696E5C4465736B746F705C77756A756E6368616F5C30305F50726F6A656374735C30325F4163747561746F722054657374696E675C30305F436F64655C30305F4E65775C564F51435C436F72655C5372635C6D61696E2E6300000000066D61696E2E6300000000C5D4F200FFFFFFFF6B433A5C55736572735C61646D696E5C4465736B746F705C77756A756E6368616F5C30305F50726F6A656374735C30325F4163747561746F722054657374696E675C30305F436F64655C30305F4E65775C564F51435C75736572735C5372635C70726F76616C6374726C2E63000000000C70726F76616C6374726C2E6300000000FFDC7800FFFFFFFF6B433A5C55736572735C61646D696E5C4465736B746F705C77756A756E6368616F5C30305F50726F6A656374735C30325F4163747561746F722054657374696E675C30305F436F64655C30305F4E65775C564F51435C75736572735C496E635C70726F76616C6374726C2E68000000000C70726F76616C6374726C2E6800000000BECEA100FFFFFFFF72433A5C55736572735C61646D696E5C4465736B746F705C77756A756E6368616F5C30305F50726F6A656374735C30325F4163747561746F722054657374696E675C30305F436F64655C30305F4E65775C564F51435C4D444B2D41524D5C737461727475705F73746D33326634303778782E730000000015737461727475705F73746D33326634303778782E7300000000F0A0A100FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000FF00000066000000A0050000DD020000 + 01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000004000000010000000100000064433A5C55736572735C61646D696E5C4465736B746F705C77756A756E6368616F5C30305F50726F6A656374735C30325F4163747561746F722054657374696E675C30305F436F64655C30305F4E65775C564F51435C436F72655C5372635C6D61696E2E6300000000066D61696E2E6300000000C5D4F200FFFFFFFF6B433A5C55736572735C61646D696E5C4465736B746F705C77756A756E6368616F5C30305F50726F6A656374735C30325F4163747561746F722054657374696E675C30305F436F64655C30305F4E65775C564F51435C75736572735C5372635C70726F76616C6374726C2E63000000000C70726F76616C6374726C2E6300000000FFDC7800FFFFFFFF6B433A5C55736572735C61646D696E5C4465736B746F705C77756A756E6368616F5C30305F50726F6A656374735C30325F4163747561746F722054657374696E675C30305F436F64655C30305F4E65775C564F51435C75736572735C496E635C70726F76616C6374726C2E68000000000C70726F76616C6374726C2E6800000000BECEA100FFFFFFFF72433A5C55736572735C61646D696E5C4465736B746F705C77756A756E6368616F5C30305F50726F6A656374735C30325F4163747561746F722054657374696E675C30305F436F64655C30305F4E65775C564F51435C4D444B2D41524D5C737461727475705F73746D33326634303778782E730000000015737461727475705F73746D33326634303778782E7300000000F0A0A100FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000FF00000066000000A0050000DD020000 @@ -1806,7 +1806,7 @@ File 2550 - 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE80300000000000000000000000000000000000000000000000100000001000000960000000200205000000000043936303096000000000000000100043936303000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 + 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE80300000000000000000000000000000000000000000000000100000001000000960000000200205000000000043936303096000000000000000100043936303000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 1423 @@ -1822,7 +1822,7 @@ Build 968 - 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000010000000000000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA000000000000000000000000000000000000000000000000010000000100000096000000030020500000000004564F51439600000000000000010004564F5143000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 + 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0000000000000000010000000000000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA000000000000000000000000000000000000000000000000010000000100000096000000030020500000000004564F51439600000000000000010004564F5143000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 583 @@ -3563,7 +3563,7 @@ Build 955 - 00200000000000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0000000000000000010000000000000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000000002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050FFFFFFFF00960000000000000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000000240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 + 00200000000000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000010000000000000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000000002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050FFFFFFFF00960000000000000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000000240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 583 @@ -3579,7 +3579,7 @@ Debug 2362 - 00200000010000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000004002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000020001002D0000000000000000000000000000000001000000010000000180F07F0000020001002E0000000000000000000000000000000001000000010000000180E8880000020000003700000000000000000000000000000000010000000100000001803B010000020000002F0000000000000000000000000000000001000000010000000180BB8A00000200010030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000002000100310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F0100000200010032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000002000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000002000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 + 00200000010000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000004002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000020001002D0000000000000000000000000000000001000000010000000180F07F0000020001002E0000000000000000000000000000000001000000010000000180E8880000020000003700000000000000000000000000000000010000000100000001803B010000020000002F0000000000000000000000000000000001000000010000000180BB8A00000200010030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000002000100310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F0100000200010032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000002000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000002000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 898 @@ -3603,28 +3603,28 @@ 0 100 - 0 + 1 ../Core/Src/main.c - 34 + 0 75 - 91 + 85 1 0 ..\users\Src\provalctrl.c - 5 - 179 - 178 + 7 + 187 + 180 1 0 ../users/Inc/provalctrl.h - 34 + 19 1 11 1 diff --git a/MDK-ARM/VOQC/VOQC.axf b/MDK-ARM/VOQC/VOQC.axf index 7547240269107211d6722050eb8b818fab50d14c..48f125205963226377f196e38b83a6260c3a7d1d 100644 GIT binary patch delta 8503 zcmai330Raz(*COFaAtsEIFwTu@B&5DhzE)y9tiQmD_&7hQ9+R#Zvx($sH=V?olRV? zc!0-hb};R(xKVRy)QI^>yf9AG7_$KuqY*@oziRjf+5FEwzt7Wjzx`HqS65fp)Qq+F zqaHtq+U~23Ni#`FX&(oE1Det6B`HPz9r9p|C5Nrn_B>M`RpIHdr_$A7Vuh(&n`++% zhu2jXoUBeUQc|1hV+!k_uuct@&ibwZk1XR29EMdjGPAn+hkCtPTYaO^Ird_@0Y~39 zI>zcU^Z`9_e78}B5?AZBIR3Ix8>>rigQN3}>e!fc9ga#Y-5f`_K$V=)zBe?=2iyBY zqvebC*PNin@@}{5-rZG=Q5D{3UxCd6RdqC4^h}rU z8unB!Q>0b(s_M-$jC>M2sG)hCUJ8@{vU!~z3VsiHTH}hvC#H#oyW%!JxXpQmu6WU` z{;7f`6elyzD!3eZQcsX4jtUO{5f>-zB85GpXdhPaHRTWo6?|0D?jfH-?URc3c7=Ug z(cY%u-HP@W1+P%F8)c8t!Qpv|w%rBO6zwI7^kPLjTfwo4_EmW~YL8X4;}teY(VnT` z2t|8_f;|=OUGkmLJ;J>e?GXz5thU)}!xXGjw4)UK5P9-il00loaQH8E%|7j}u%97I zUhJme8@M`!YOsPWw$)YD{p5pVf(M*NZIX6Z*qzGW&4I0|KBQ=y6n+izUbwfm&Y~Nu zX7I7>6c-CyEK}mPg3FXfU5vC0f>fpMv29|YdYt9=@fxQ#Pz|+Gb(RI=;Uz%FRTk8!iV||0% zdCnThvJ}mk0dPvzB#wil^5n#&9;x>WDqRihE1eDBVLMrsU@%8Z)zR{U#O^RgcA0lc z_2|d_^4)pkV4vK5{xt}f8|D{zJ**#B-PBVPt4qMgoxsp*Lwo_x@m&6N!AET;84{|@ zhCP)Ny;oyjU8OVRSDEFsBrkX>Z% gXITFouHdVpZpi_8PZTz+15~8Wi>phGS%hY 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 z z$|-x~vTk_KP0z(qQl;c9_If_0_9(j_vr4tAimBc3IY2!Lp9=M4wW~S}OFANzx;s9* zsR!Xxtq#ZD@z@Gh_rzyEwI@DR>Okxrhb0+H4)!S3$tsmQHtf}AAbzRlPkI4%dP%K% z9*Si2K;b1lU&yk(@QX3|lY&o;x}UX;zNtW+B2_G6dzd9dny{Gd$8Bv{j8iM*pDkfu zD)0(gyc}<2yhsNXuudw>^=GYOc+*xbm5!`tf5Tr((xNr&PgpCZuVp7OTtn8e-=ReE zf0s325WBCZ(_zWvV>hs1EsU3zY{FyRgWuc4CTlS)29z=>ul)^`ATVK>0h2=OpFt@I z_mooj5QPuBrjmO4wbpk+75;3yLMnPo;S1Z>%=A%UQDRYHQDbR`MT13)MTf-!iz5~% zKGR3PdPhE`*{vghfXSuxrmUKj9c`El zP_k*m#8Zx9!^Be}W5dK#GHt`eQ_^k2#8bL%!v-8*pv2kMK?0Nr+b|iR9NC76rySab ziKq11hKZ+a*@lUyMB0XlkFdk}B(Qe*e+m@YVd6Iw{1bnM1I5Qs0f z!^D@o#Q9c%x|bc+Ags5;WZ=O&FAb7`$99-_kHY`tO?H_0B0Eg_#cgo`Xl@V!4}M9Zwg{t@DffzY>QRG%MjDA0Gs}Y zh;5-nd>LX}=n$?%Yzq~_6Yxzi_j`Q;UTo6&AM|nfqb2ydK7TO%qP5xV8SwH3Ae|`0 zwi8cyJYw4kCp-hOC4)b@u1`~pr??vnt&@&Ni}rC?5hw`b$aj6o{}%_nx^LDFAH`~r4QwDa}CO6k!p{cR&f;x;>R zll0@y=u0Jb)5kHJ^-4*5TOW>DT+D6#Z%QMDm(Gsf#$)d5hq&j{OTmSKuzaW>9K>xY zM;XE!5GUfrydA%n5H3aRi5Kl0ncs(a6=M1}N4yzvGv2fHGG9p;LoW(vK>Q`dqwpRb zEaQJ5-kc-kYml=F)MLjUyeBQP0o5=;*oXJvn=*DlY{YwTw=D05*cW5dP3HX&_e6}l zW3?BGc!C`sgm?jBn*(DJpIMUsa=@9`aTf2vO4&dz;&piM9g*=m#F275(TqNlaV$B6 z0f3*Ug%9Lwj`)2t4x$x8{xHeQw-E7_g!APHB7rZlW2c?K6&X_~5q}-=b36XNjOoKA z@edIPW6&V9uD~BMrr09>1>%c#ykiu;EUCjb0~hQFkfVzf@IPt7DLJeNhaoOmAO<{feN4xF#!D^{2-4KYE()n~l7yKUeq_y(QKqN?!RFzA~SgB$&7#{9T8HNt9LHY|3 s8PZ*Static Call Graph - [VOQC\VOQC.axf]

Static Call Graph for image VOQC\VOQC.axf


-

#<CALLGRAPH># ARM Linker, 5060960: Last Updated: Fri Sep 06 15:37:49 2024 +

#<CALLGRAPH># ARM Linker, 5060960: Last Updated: Sat Sep 07 12:58:49 2024

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

Call chain for Maximum Stack Depth:

@@ -487,8 +487,8 @@ Global Symbols

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

[Stack]

  • Max Depth = 48
  • Call Chain = __aeabi_uldivmod
-
[Called By]
  • >>   UART_SetConfig -
  • >>   HAL_RCC_GetSysClockFreq +
    [Called By]
    • >>   HAL_RCC_GetSysClockFreq +
    • >>   UART_SetConfig
    • >>   _ll_sdiv
    @@ -590,10 +590,10 @@ Global Symbols

[Calls]
  • >>   HAL_GPIO_WritePin
  • >>   delay_us +
  • >>   HAL_GPIO_ReadPin
  • >>   ads1256_write_byte
  • >>   ads1256_read_byte
  • >>   ADS1256WREG -
  • >>   HAL_GPIO_ReadPin
  • >>   __aeabi_dmul
  • >>   __aeabi_i2d
@@ -604,8 +604,8 @@ Global Symbols

[Stack]
  • Max Depth = 44
  • Call Chain = ADS1256WREG ⇒ ads1256_write_byte ⇒ delay_us

[Calls]
  • >>   HAL_GPIO_WritePin -
  • >>   ads1256_write_byte
  • >>   HAL_GPIO_ReadPin +
  • >>   ads1256_write_byte

[Called By]
  • >>   ads1256_init
  • >>   ADS1256ReadData @@ -799,8 +799,8 @@ Global Symbols

[Calls]
  • >>   DMA_SetConfig
-
[Called By]
  • >>   HAL_UART_Transmit_DMA -
  • >>   HAL_ADC_Start_DMA +
    [Called By]
    • >>   HAL_ADC_Start_DMA +
    • >>   HAL_UART_Transmit_DMA

    HAL_Delay (Thumb, 36 bytes, Stack size 16 bytes, stm32f4xx_hal.o(i.HAL_Delay)) @@ -893,9 +893,9 @@ Global Symbols

  • >>   HAL_RCC_OscConfig
  • >>   HAL_RCC_ClockConfig
  • >>   HAL_Delay +
  • >>   HAL_DMA_Abort
  • >>   HAL_UART_Transmit
  • >>   UART_WaitOnFlagUntilTimeout -
  • >>   HAL_DMA_Abort

HAL_I2C_Init (Thumb, 446 bytes, Stack size 16 bytes, stm32f4xx_hal_i2c.o(i.HAL_I2C_Init)) @@ -1156,8 +1156,8 @@ Global Symbols

HAL_TIM_PeriodElapsedCallback (Thumb, 54 bytes, Stack size 8 bytes, timer.o(i.HAL_TIM_PeriodElapsedCallback))

[Stack]

  • Max Depth = 428
  • Call Chain = HAL_TIM_PeriodElapsedCallback ⇒ 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_process_rtu -
  • >>   HAL_TIM_Base_Stop_IT +
    [Calls]
    • >>   HAL_TIM_Base_Stop_IT +
    • >>   modbus_process_rtu
    • >>   tim6_cnt

    [Called By]
    • >>   HAL_TIM_IRQHandler @@ -1168,27 +1168,27 @@ Global Symbols

    HAL_UARTEx_RxEventCallback (Thumb, 2 bytes, Stack size 0 bytes, stm32f4xx_hal_uart.o(i.HAL_UARTEx_RxEventCallback)) -

    [Called By]

    • >>   UART_Receive_IT -
    • >>   HAL_UART_IRQHandler +

      [Called By]
      • >>   HAL_UART_IRQHandler +
      • >>   UART_Receive_IT

      HAL_UART_ErrorCallback (Thumb, 2 bytes, Stack size 0 bytes, stm32f4xx_hal_uart.o(i.HAL_UART_ErrorCallback)) -

      [Called By]

      • >>   UART_DMAError +

        [Called By]
        • >>   HAL_UART_IRQHandler +
        • >>   UART_DMAError
        • >>   UART_DMAAbortOnError -
        • >>   HAL_UART_IRQHandler

        HAL_UART_IRQHandler (Thumb, 740 bytes, Stack size 40 bytes, stm32f4xx_hal_uart.o(i.HAL_UART_IRQHandler))

        [Stack]

        • Max Depth = 152
        • Call Chain = HAL_UART_IRQHandler ⇒ UART_Receive_IT ⇒ HAL_UART_RxCpltCallback ⇒ modbus_rx_cb ⇒ HAL_UART_Transmit ⇒ UART_WaitOnFlagUntilTimeout
        -
        [Calls]
        • >>   HAL_UART_ErrorCallback +
          [Calls]
          • >>   HAL_DMA_Abort +
          • >>   HAL_DMA_Abort_IT +
          • >>   HAL_UART_ErrorCallback
          • >>   HAL_UARTEx_RxEventCallback
          • >>   UART_Transmit_IT
          • >>   UART_Receive_IT
          • >>   UART_EndTransmit_IT
          • >>   UART_EndRxTransfer -
          • >>   HAL_DMA_Abort -
          • >>   HAL_DMA_Abort_IT

          [Called By]
          • >>   USART6_IRQHandler
          • >>   USART3_IRQHandler @@ -1243,8 +1243,8 @@ Global Symbols

            HAL_UART_Transmit (Thumb, 190 bytes, Stack size 40 bytes, stm32f4xx_hal_uart.o(i.HAL_UART_Transmit))

            [Stack]

            • Max Depth = 72
            • Call Chain = HAL_UART_Transmit ⇒ UART_WaitOnFlagUntilTimeout
            -
            [Calls]
            • >>   UART_WaitOnFlagUntilTimeout -
            • >>   HAL_GetTick +
              [Calls]
              • >>   HAL_GetTick +
              • >>   UART_WaitOnFlagUntilTimeout

              [Called By]
              • >>   modbus_rx_cb
              @@ -1634,9 +1634,9 @@ Global Symbols

              ads1220_setchannl (Thumb, 34 bytes, Stack size 8 bytes, ads1220.o(i.ads1220_setchannl))

              [Stack]

              • Max Depth = 60
              • Call Chain = ads1220_setchannl ⇒ ads1220_writeregister ⇒ ads1220_write_byte ⇒ delay_us
              -
              [Calls]
              • >>   ads1220_writeregister +
                [Calls]
                • >>   HAL_GPIO_ReadPin +
                • >>   ads1220_writeregister
                • >>   ads1220_write_byte -
                • >>   HAL_GPIO_ReadPin

                [Called By]
                • >>   ads1220_get_data
                @@ -1816,10 +1816,10 @@ Global Symbols

              [Calls]
              • >>   HAL_GPIO_WritePin
              • >>   encoder_init +
              • >>   HAL_GPIO_ReadPin
              • >>   _74hc165_read_byte
              • >>   hc595_write_data
              • >>   disp_out -
              • >>   HAL_GPIO_ReadPin
              • >>   led_ctrl

              [Called By]
              • >>   main @@ -2172,14 +2172,14 @@ Global Symbols

                [Stack]
                • Max Depth = 80
                • Call Chain = modbus_rx_cb ⇒ HAL_UART_Transmit ⇒ UART_WaitOnFlagUntilTimeout

                [Calls]
                • >>   HAL_TIM_Base_Start_IT +
                • >>   HAL_TIM_Base_Stop_IT
                • >>   HAL_UART_Transmit
                • >>   HAL_UART_Receive_IT -
                • >>   HAL_TIM_Base_Stop_IT

                [Called By]
                • >>   HAL_UART_RxCpltCallback
                -

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

                prov_adj (Thumb, 1504 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 @@ -2195,7 +2195,7 @@ Global Symbols
                • >>   prov_adj
                -

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

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

                [Stack]

                • Max Depth = 8
                • Call Chain = prov_calibrate_pid

                [Calls]
                • >>   abs_bias @@ -2565,9 +2565,9 @@ Local Symbols
                  [Address Reference Count : 1]
                  • stm32f4xx_hal_uart.o(i.HAL_UART_Transmit_DMA)

                  UART_EndRxTransfer (Thumb, 108 bytes, Stack size 0 bytes, stm32f4xx_hal_uart.o(i.UART_EndRxTransfer)) -

                  [Called By]

                  • >>   UART_WaitOnFlagUntilTimeout +

                    [Called By]
                    • >>   HAL_UART_IRQHandler +
                    • >>   UART_WaitOnFlagUntilTimeout
                    • >>   UART_DMAError -
                    • >>   HAL_UART_IRQHandler

                    UART_EndTransmit_IT (Thumb, 32 bytes, Stack size 8 bytes, stm32f4xx_hal_uart.o(i.UART_EndTransmit_IT)) @@ -2608,8 +2608,8 @@ Local Symbols

                    UART_WaitOnFlagUntilTimeout (Thumb, 140 bytes, Stack size 32 bytes, stm32f4xx_hal_uart.o(i.UART_WaitOnFlagUntilTimeout))

                    [Stack]

                    • Max Depth = 32
                    • Call Chain = UART_WaitOnFlagUntilTimeout
                    -
                    [Calls]
                    • >>   UART_EndRxTransfer -
                    • >>   HAL_GetTick +
                      [Calls]
                      • >>   HAL_GetTick +
                      • >>   UART_EndRxTransfer

                      [Called By]
                      • >>   HAL_UART_Transmit
                      diff --git a/MDK-ARM/VOQC/VOQC.map b/MDK-ARM/VOQC/VOQC.map index 4c778de..6603a65 100644 --- a/MDK-ARM/VOQC/VOQC.map +++ b/MDK-ARM/VOQC/VOQC.map @@ -3179,53 +3179,53 @@ Image Symbol Table i.modbus_rtu_init 0x080062c8 Section 0 modbus_rtu.o(i.modbus_rtu_init) i.modbus_rx_cb 0x0800631c Section 0 modbus_rtu.o(i.modbus_rx_cb) i.prov_adj 0x080063a0 Section 0 provalctrl.o(i.prov_adj) - i.prov_adj_init 0x080069ac Section 0 provalctrl.o(i.prov_adj_init) - i.prov_calibrate_pid 0x08006a64 Section 0 provalctrl.o(i.prov_calibrate_pid) - i.prov_ctrl 0x08006e18 Section 0 provalctrl.o(i.prov_ctrl) - i.prov_init 0x08006e84 Section 0 provalctrl.o(i.prov_init) - i.prov_set 0x080070fc Section 0 provalctrl.o(i.prov_set) - i.readcoilstate_rtu 0x080071fc Section 0 modbus_rtu.o(i.readcoilstate_rtu) - i.readdisinputstate_rtu 0x0800734c Section 0 modbus_rtu.o(i.readdisinputstate_rtu) - i.readholdreg_rtu 0x08007498 Section 0 modbus_rtu.o(i.readholdreg_rtu) - i.readinputreg_rtu 0x080075a4 Section 0 modbus_rtu.o(i.readinputreg_rtu) - i.setcs 0x080076a8 Section 0 ms5803.o(i.setcs) - i.tim6_cnt 0x08007710 Section 0 timer.o(i.tim6_cnt) - i.uart_send 0x0800791c Section 0 uarts.o(i.uart_send) - i.wf5803_ReadReg 0x08007930 Section 0 mf5803.o(i.wf5803_ReadReg) - i.wf5803_WriteReg 0x08007952 Section 0 mf5803.o(i.wf5803_WriteReg) - i.writemulticoil_rtu 0x08007974 Section 0 modbus_rtu.o(i.writemulticoil_rtu) - i.writemultireg_rtu 0x08007ac0 Section 0 modbus_rtu.o(i.writemultireg_rtu) - i.writesinglecoil_rtu 0x08007bc4 Section 0 modbus_rtu.o(i.writesinglecoil_rtu) - i.writesinglereg_rtu 0x08007c88 Section 0 modbus_rtu.o(i.writesinglereg_rtu) - x$fpl$dadd 0x08007d40 Section 336 daddsub_clz.o(x$fpl$dadd) - $v0 0x08007d40 Number 0 daddsub_clz.o(x$fpl$dadd) - _dadd1 0x08007d51 Thumb Code 0 daddsub_clz.o(x$fpl$dadd) - x$fpl$ddiv 0x08007e90 Section 688 ddiv.o(x$fpl$ddiv) - $v0 0x08007e90 Number 0 ddiv.o(x$fpl$ddiv) - ddiv_entry 0x08007e97 Thumb Code 0 ddiv.o(x$fpl$ddiv) - x$fpl$dfix 0x08008140 Section 94 dfix.o(x$fpl$dfix) - $v0 0x08008140 Number 0 dfix.o(x$fpl$dfix) - x$fpl$dfixu 0x080081a0 Section 90 dfixu.o(x$fpl$dfixu) - $v0 0x080081a0 Number 0 dfixu.o(x$fpl$dfixu) - x$fpl$dflt 0x080081fa Section 46 dflt_clz.o(x$fpl$dflt) - $v0 0x080081fa Number 0 dflt_clz.o(x$fpl$dflt) - x$fpl$dfltll 0x08008228 Section 162 dfltll_clz.o(x$fpl$dfltll) - $v0 0x08008228 Number 0 dfltll_clz.o(x$fpl$dfltll) - x$fpl$dmul 0x080082cc Section 340 dmul.o(x$fpl$dmul) - $v0 0x080082cc Number 0 dmul.o(x$fpl$dmul) - x$fpl$dnaninf 0x08008420 Section 156 dnaninf.o(x$fpl$dnaninf) - $v0 0x08008420 Number 0 dnaninf.o(x$fpl$dnaninf) - x$fpl$dretinf 0x080084bc Section 12 dretinf.o(x$fpl$dretinf) - $v0 0x080084bc Number 0 dretinf.o(x$fpl$dretinf) - x$fpl$dsub 0x080084c8 Section 468 daddsub_clz.o(x$fpl$dsub) - $v0 0x080084c8 Number 0 daddsub_clz.o(x$fpl$dsub) - _dsub1 0x080084d9 Thumb Code 0 daddsub_clz.o(x$fpl$dsub) - x$fpl$fpinit 0x0800869c Section 10 fpinit.o(x$fpl$fpinit) - $v0 0x0800869c Number 0 fpinit.o(x$fpl$fpinit) - .constdata 0x080086a6 Section 8 stm32f4xx_hal_dma.o(.constdata) - x$fpl$usenofp 0x080086a6 Section 0 usenofp.o(x$fpl$usenofp) - flagBitshiftOffset 0x080086a6 Data 8 stm32f4xx_hal_dma.o(.constdata) - .constdata 0x080086ae Section 24 system_stm32f4xx.o(.constdata) + i.prov_adj_init 0x080069b4 Section 0 provalctrl.o(i.prov_adj_init) + i.prov_calibrate_pid 0x08006a6c Section 0 provalctrl.o(i.prov_calibrate_pid) + i.prov_ctrl 0x08006e60 Section 0 provalctrl.o(i.prov_ctrl) + i.prov_init 0x08006ecc Section 0 provalctrl.o(i.prov_init) + i.prov_set 0x0800713c Section 0 provalctrl.o(i.prov_set) + i.readcoilstate_rtu 0x0800723c Section 0 modbus_rtu.o(i.readcoilstate_rtu) + i.readdisinputstate_rtu 0x0800738c Section 0 modbus_rtu.o(i.readdisinputstate_rtu) + i.readholdreg_rtu 0x080074d8 Section 0 modbus_rtu.o(i.readholdreg_rtu) + i.readinputreg_rtu 0x080075e4 Section 0 modbus_rtu.o(i.readinputreg_rtu) + i.setcs 0x080076e8 Section 0 ms5803.o(i.setcs) + i.tim6_cnt 0x08007750 Section 0 timer.o(i.tim6_cnt) + i.uart_send 0x0800795c Section 0 uarts.o(i.uart_send) + i.wf5803_ReadReg 0x08007970 Section 0 mf5803.o(i.wf5803_ReadReg) + i.wf5803_WriteReg 0x08007992 Section 0 mf5803.o(i.wf5803_WriteReg) + i.writemulticoil_rtu 0x080079b4 Section 0 modbus_rtu.o(i.writemulticoil_rtu) + i.writemultireg_rtu 0x08007b00 Section 0 modbus_rtu.o(i.writemultireg_rtu) + i.writesinglecoil_rtu 0x08007c04 Section 0 modbus_rtu.o(i.writesinglecoil_rtu) + i.writesinglereg_rtu 0x08007cc8 Section 0 modbus_rtu.o(i.writesinglereg_rtu) + x$fpl$dadd 0x08007d80 Section 336 daddsub_clz.o(x$fpl$dadd) + $v0 0x08007d80 Number 0 daddsub_clz.o(x$fpl$dadd) + _dadd1 0x08007d91 Thumb Code 0 daddsub_clz.o(x$fpl$dadd) + x$fpl$ddiv 0x08007ed0 Section 688 ddiv.o(x$fpl$ddiv) + $v0 0x08007ed0 Number 0 ddiv.o(x$fpl$ddiv) + ddiv_entry 0x08007ed7 Thumb Code 0 ddiv.o(x$fpl$ddiv) + x$fpl$dfix 0x08008180 Section 94 dfix.o(x$fpl$dfix) + $v0 0x08008180 Number 0 dfix.o(x$fpl$dfix) + x$fpl$dfixu 0x080081e0 Section 90 dfixu.o(x$fpl$dfixu) + $v0 0x080081e0 Number 0 dfixu.o(x$fpl$dfixu) + x$fpl$dflt 0x0800823a Section 46 dflt_clz.o(x$fpl$dflt) + $v0 0x0800823a Number 0 dflt_clz.o(x$fpl$dflt) + x$fpl$dfltll 0x08008268 Section 162 dfltll_clz.o(x$fpl$dfltll) + $v0 0x08008268 Number 0 dfltll_clz.o(x$fpl$dfltll) + x$fpl$dmul 0x0800830c Section 340 dmul.o(x$fpl$dmul) + $v0 0x0800830c Number 0 dmul.o(x$fpl$dmul) + x$fpl$dnaninf 0x08008460 Section 156 dnaninf.o(x$fpl$dnaninf) + $v0 0x08008460 Number 0 dnaninf.o(x$fpl$dnaninf) + x$fpl$dretinf 0x080084fc Section 12 dretinf.o(x$fpl$dretinf) + $v0 0x080084fc Number 0 dretinf.o(x$fpl$dretinf) + x$fpl$dsub 0x08008508 Section 468 daddsub_clz.o(x$fpl$dsub) + $v0 0x08008508 Number 0 daddsub_clz.o(x$fpl$dsub) + _dsub1 0x08008519 Thumb Code 0 daddsub_clz.o(x$fpl$dsub) + x$fpl$fpinit 0x080086dc Section 10 fpinit.o(x$fpl$fpinit) + $v0 0x080086dc Number 0 fpinit.o(x$fpl$fpinit) + .constdata 0x080086e6 Section 8 stm32f4xx_hal_dma.o(.constdata) + x$fpl$usenofp 0x080086e6 Section 0 usenofp.o(x$fpl$usenofp) + flagBitshiftOffset 0x080086e6 Data 8 stm32f4xx_hal_dma.o(.constdata) + .constdata 0x080086ee 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) @@ -3633,51 +3633,51 @@ Image Symbol Table modbus_process_rtu 0x08006285 Thumb Code 64 modbus_rtu.o(i.modbus_process_rtu) modbus_rtu_init 0x080062c9 Thumb Code 58 modbus_rtu.o(i.modbus_rtu_init) modbus_rx_cb 0x0800631d Thumb Code 98 modbus_rtu.o(i.modbus_rx_cb) - prov_adj 0x080063a1 Thumb Code 1496 provalctrl.o(i.prov_adj) - prov_adj_init 0x080069ad Thumb Code 168 provalctrl.o(i.prov_adj_init) - prov_calibrate_pid 0x08006a65 Thumb Code 926 provalctrl.o(i.prov_calibrate_pid) - prov_ctrl 0x08006e19 Thumb Code 102 provalctrl.o(i.prov_ctrl) - prov_init 0x08006e85 Thumb Code 588 provalctrl.o(i.prov_init) - prov_set 0x080070fd Thumb Code 244 provalctrl.o(i.prov_set) - readcoilstate_rtu 0x080071fd Thumb Code 326 modbus_rtu.o(i.readcoilstate_rtu) - readdisinputstate_rtu 0x0800734d Thumb Code 322 modbus_rtu.o(i.readdisinputstate_rtu) - readholdreg_rtu 0x08007499 Thumb Code 258 modbus_rtu.o(i.readholdreg_rtu) - readinputreg_rtu 0x080075a5 Thumb Code 252 modbus_rtu.o(i.readinputreg_rtu) - setcs 0x080076a9 Thumb Code 86 ms5803.o(i.setcs) - tim6_cnt 0x08007711 Thumb Code 420 timer.o(i.tim6_cnt) - uart_send 0x0800791d Thumb Code 20 uarts.o(i.uart_send) - wf5803_ReadReg 0x08007931 Thumb Code 34 mf5803.o(i.wf5803_ReadReg) - wf5803_WriteReg 0x08007953 Thumb Code 34 mf5803.o(i.wf5803_WriteReg) - writemulticoil_rtu 0x08007975 Thumb Code 322 modbus_rtu.o(i.writemulticoil_rtu) - writemultireg_rtu 0x08007ac1 Thumb Code 252 modbus_rtu.o(i.writemultireg_rtu) - writesinglecoil_rtu 0x08007bc5 Thumb Code 188 modbus_rtu.o(i.writesinglecoil_rtu) - writesinglereg_rtu 0x08007c89 Thumb Code 176 modbus_rtu.o(i.writesinglereg_rtu) - __aeabi_dadd 0x08007d41 Thumb Code 0 daddsub_clz.o(x$fpl$dadd) - _dadd 0x08007d41 Thumb Code 332 daddsub_clz.o(x$fpl$dadd) - __aeabi_ddiv 0x08007e91 Thumb Code 0 ddiv.o(x$fpl$ddiv) - _ddiv 0x08007e91 Thumb Code 552 ddiv.o(x$fpl$ddiv) - __aeabi_d2iz 0x08008141 Thumb Code 0 dfix.o(x$fpl$dfix) - _dfix 0x08008141 Thumb Code 94 dfix.o(x$fpl$dfix) - __aeabi_d2uiz 0x080081a1 Thumb Code 0 dfixu.o(x$fpl$dfixu) - _dfixu 0x080081a1 Thumb Code 90 dfixu.o(x$fpl$dfixu) - __aeabi_i2d 0x080081fb Thumb Code 0 dflt_clz.o(x$fpl$dflt) - _dflt 0x080081fb Thumb Code 46 dflt_clz.o(x$fpl$dflt) - __aeabi_l2d 0x08008229 Thumb Code 0 dfltll_clz.o(x$fpl$dfltll) - _ll_sto_d 0x08008229 Thumb Code 162 dfltll_clz.o(x$fpl$dfltll) - __aeabi_dmul 0x080082cd Thumb Code 0 dmul.o(x$fpl$dmul) - _dmul 0x080082cd Thumb Code 332 dmul.o(x$fpl$dmul) - __fpl_dnaninf 0x08008421 Thumb Code 156 dnaninf.o(x$fpl$dnaninf) - __fpl_dretinf 0x080084bd Thumb Code 12 dretinf.o(x$fpl$dretinf) - __aeabi_dsub 0x080084c9 Thumb Code 0 daddsub_clz.o(x$fpl$dsub) - _dsub 0x080084c9 Thumb Code 464 daddsub_clz.o(x$fpl$dsub) - _fp_init 0x0800869d Thumb Code 10 fpinit.o(x$fpl$fpinit) - __fplib_config_fpu_vfp 0x080086a5 Thumb Code 0 fpinit.o(x$fpl$fpinit) - __fplib_config_pureend_doubles 0x080086a5 Thumb Code 0 fpinit.o(x$fpl$fpinit) - __I$use$fp 0x080086a6 Number 0 usenofp.o(x$fpl$usenofp) - AHBPrescTable 0x080086ae Data 16 system_stm32f4xx.o(.constdata) - APBPrescTable 0x080086be Data 8 system_stm32f4xx.o(.constdata) - Region$$Table$$Base 0x080086c8 Number 0 anon$$obj.o(Region$$Table) - Region$$Table$$Limit 0x080086e8 Number 0 anon$$obj.o(Region$$Table) + prov_adj 0x080063a1 Thumb Code 1504 provalctrl.o(i.prov_adj) + prov_adj_init 0x080069b5 Thumb Code 168 provalctrl.o(i.prov_adj_init) + prov_calibrate_pid 0x08006a6d Thumb Code 986 provalctrl.o(i.prov_calibrate_pid) + prov_ctrl 0x08006e61 Thumb Code 102 provalctrl.o(i.prov_ctrl) + prov_init 0x08006ecd Thumb Code 588 provalctrl.o(i.prov_init) + prov_set 0x0800713d Thumb Code 244 provalctrl.o(i.prov_set) + readcoilstate_rtu 0x0800723d Thumb Code 326 modbus_rtu.o(i.readcoilstate_rtu) + readdisinputstate_rtu 0x0800738d Thumb Code 322 modbus_rtu.o(i.readdisinputstate_rtu) + readholdreg_rtu 0x080074d9 Thumb Code 258 modbus_rtu.o(i.readholdreg_rtu) + readinputreg_rtu 0x080075e5 Thumb Code 252 modbus_rtu.o(i.readinputreg_rtu) + setcs 0x080076e9 Thumb Code 86 ms5803.o(i.setcs) + tim6_cnt 0x08007751 Thumb Code 420 timer.o(i.tim6_cnt) + uart_send 0x0800795d Thumb Code 20 uarts.o(i.uart_send) + wf5803_ReadReg 0x08007971 Thumb Code 34 mf5803.o(i.wf5803_ReadReg) + wf5803_WriteReg 0x08007993 Thumb Code 34 mf5803.o(i.wf5803_WriteReg) + writemulticoil_rtu 0x080079b5 Thumb Code 322 modbus_rtu.o(i.writemulticoil_rtu) + writemultireg_rtu 0x08007b01 Thumb Code 252 modbus_rtu.o(i.writemultireg_rtu) + writesinglecoil_rtu 0x08007c05 Thumb Code 188 modbus_rtu.o(i.writesinglecoil_rtu) + writesinglereg_rtu 0x08007cc9 Thumb Code 176 modbus_rtu.o(i.writesinglereg_rtu) + __aeabi_dadd 0x08007d81 Thumb Code 0 daddsub_clz.o(x$fpl$dadd) + _dadd 0x08007d81 Thumb Code 332 daddsub_clz.o(x$fpl$dadd) + __aeabi_ddiv 0x08007ed1 Thumb Code 0 ddiv.o(x$fpl$ddiv) + _ddiv 0x08007ed1 Thumb Code 552 ddiv.o(x$fpl$ddiv) + __aeabi_d2iz 0x08008181 Thumb Code 0 dfix.o(x$fpl$dfix) + _dfix 0x08008181 Thumb Code 94 dfix.o(x$fpl$dfix) + __aeabi_d2uiz 0x080081e1 Thumb Code 0 dfixu.o(x$fpl$dfixu) + _dfixu 0x080081e1 Thumb Code 90 dfixu.o(x$fpl$dfixu) + __aeabi_i2d 0x0800823b Thumb Code 0 dflt_clz.o(x$fpl$dflt) + _dflt 0x0800823b Thumb Code 46 dflt_clz.o(x$fpl$dflt) + __aeabi_l2d 0x08008269 Thumb Code 0 dfltll_clz.o(x$fpl$dfltll) + _ll_sto_d 0x08008269 Thumb Code 162 dfltll_clz.o(x$fpl$dfltll) + __aeabi_dmul 0x0800830d Thumb Code 0 dmul.o(x$fpl$dmul) + _dmul 0x0800830d Thumb Code 332 dmul.o(x$fpl$dmul) + __fpl_dnaninf 0x08008461 Thumb Code 156 dnaninf.o(x$fpl$dnaninf) + __fpl_dretinf 0x080084fd Thumb Code 12 dretinf.o(x$fpl$dretinf) + __aeabi_dsub 0x08008509 Thumb Code 0 daddsub_clz.o(x$fpl$dsub) + _dsub 0x08008509 Thumb Code 464 daddsub_clz.o(x$fpl$dsub) + _fp_init 0x080086dd Thumb Code 10 fpinit.o(x$fpl$fpinit) + __fplib_config_fpu_vfp 0x080086e5 Thumb Code 0 fpinit.o(x$fpl$fpinit) + __fplib_config_pureend_doubles 0x080086e5 Thumb Code 0 fpinit.o(x$fpl$fpinit) + __I$use$fp 0x080086e6 Number 0 usenofp.o(x$fpl$usenofp) + AHBPrescTable 0x080086ee Data 16 system_stm32f4xx.o(.constdata) + APBPrescTable 0x080086fe Data 8 system_stm32f4xx.o(.constdata) + Region$$Table$$Base 0x08008708 Number 0 anon$$obj.o(Region$$Table) + Region$$Table$$Limit 0x08008728 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) @@ -3802,9 +3802,9 @@ Memory Map of the image Image Entry point : 0x08000189 - Load Region LR_IROM1 (Base: 0x08000000, Size: 0x00008888, Max: 0x00100000, ABSOLUTE, COMPRESSED[0x00008708]) + Load Region LR_IROM1 (Base: 0x08000000, Size: 0x000088c8, Max: 0x00100000, ABSOLUTE, COMPRESSED[0x00008748]) - Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x000086e8, Max: 0x00100000, ABSOLUTE) + Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00008728, Max: 0x00100000, ABSOLUTE) Exec Addr Load Addr Size Type Attr Idx E Section Name Object @@ -4087,46 +4087,46 @@ Memory Map of the image 0x08006284 0x08006284 0x00000044 Code RO 5110 i.modbus_process_rtu modbus_rtu.o 0x080062c8 0x080062c8 0x00000054 Code RO 5111 i.modbus_rtu_init modbus_rtu.o 0x0800631c 0x0800631c 0x00000084 Code RO 5112 i.modbus_rx_cb modbus_rtu.o - 0x080063a0 0x080063a0 0x0000060c Code RO 5963 i.prov_adj provalctrl.o - 0x080069ac 0x080069ac 0x000000b8 Code RO 5964 i.prov_adj_init provalctrl.o - 0x08006a64 0x08006a64 0x000003b4 Code RO 5965 i.prov_calibrate_pid provalctrl.o - 0x08006e18 0x08006e18 0x0000006c Code RO 5966 i.prov_ctrl provalctrl.o - 0x08006e84 0x08006e84 0x00000278 Code RO 5967 i.prov_init provalctrl.o - 0x080070fc 0x080070fc 0x00000100 Code RO 5968 i.prov_set provalctrl.o - 0x080071fc 0x080071fc 0x00000150 Code RO 5113 i.readcoilstate_rtu modbus_rtu.o - 0x0800734c 0x0800734c 0x0000014c Code RO 5114 i.readdisinputstate_rtu modbus_rtu.o - 0x08007498 0x08007498 0x0000010c Code RO 5115 i.readholdreg_rtu modbus_rtu.o - 0x080075a4 0x080075a4 0x00000104 Code RO 5116 i.readinputreg_rtu modbus_rtu.o - 0x080076a8 0x080076a8 0x00000068 Code RO 4749 i.setcs ms5803.o - 0x08007710 0x08007710 0x0000020c Code RO 5867 i.tim6_cnt timer.o - 0x0800791c 0x0800791c 0x00000014 Code RO 5910 i.uart_send uarts.o - 0x08007930 0x08007930 0x00000022 Code RO 4970 i.wf5803_ReadReg mf5803.o - 0x08007952 0x08007952 0x00000022 Code RO 4972 i.wf5803_WriteReg mf5803.o - 0x08007974 0x08007974 0x0000014c Code RO 5117 i.writemulticoil_rtu modbus_rtu.o - 0x08007ac0 0x08007ac0 0x00000104 Code RO 5118 i.writemultireg_rtu modbus_rtu.o - 0x08007bc4 0x08007bc4 0x000000c4 Code RO 5119 i.writesinglecoil_rtu modbus_rtu.o - 0x08007c88 0x08007c88 0x000000b8 Code RO 5120 i.writesinglereg_rtu modbus_rtu.o - 0x08007d40 0x08007d40 0x00000150 Code RO 6188 x$fpl$dadd fz_wm.l(daddsub_clz.o) - 0x08007e90 0x08007e90 0x000002b0 Code RO 6195 x$fpl$ddiv fz_wm.l(ddiv.o) - 0x08008140 0x08008140 0x0000005e Code RO 6198 x$fpl$dfix fz_wm.l(dfix.o) - 0x0800819e 0x0800819e 0x00000002 PAD - 0x080081a0 0x080081a0 0x0000005a Code RO 6206 x$fpl$dfixu fz_wm.l(dfixu.o) - 0x080081fa 0x080081fa 0x0000002e Code RO 6211 x$fpl$dflt fz_wm.l(dflt_clz.o) - 0x08008228 0x08008228 0x000000a2 Code RO 6216 x$fpl$dfltll fz_wm.l(dfltll_clz.o) - 0x080082ca 0x080082ca 0x00000002 PAD - 0x080082cc 0x080082cc 0x00000154 Code RO 6220 x$fpl$dmul fz_wm.l(dmul.o) - 0x08008420 0x08008420 0x0000009c Code RO 6252 x$fpl$dnaninf fz_wm.l(dnaninf.o) - 0x080084bc 0x080084bc 0x0000000c Code RO 6254 x$fpl$dretinf fz_wm.l(dretinf.o) - 0x080084c8 0x080084c8 0x000001d4 Code RO 6190 x$fpl$dsub fz_wm.l(daddsub_clz.o) - 0x0800869c 0x0800869c 0x0000000a Code RO 6423 x$fpl$fpinit fz_wm.l(fpinit.o) - 0x080086a6 0x080086a6 0x00000000 Code RO 6260 x$fpl$usenofp fz_wm.l(usenofp.o) - 0x080086a6 0x080086a6 0x00000008 Data RO 1572 .constdata stm32f4xx_hal_dma.o - 0x080086ae 0x080086ae 0x00000018 Data RO 4417 .constdata system_stm32f4xx.o - 0x080086c6 0x080086c6 0x00000002 PAD - 0x080086c8 0x080086c8 0x00000020 Data RO 6479 Region$$Table anon$$obj.o + 0x080063a0 0x080063a0 0x00000614 Code RO 5963 i.prov_adj provalctrl.o + 0x080069b4 0x080069b4 0x000000b8 Code RO 5964 i.prov_adj_init provalctrl.o + 0x08006a6c 0x08006a6c 0x000003f4 Code RO 5965 i.prov_calibrate_pid provalctrl.o + 0x08006e60 0x08006e60 0x0000006c Code RO 5966 i.prov_ctrl provalctrl.o + 0x08006ecc 0x08006ecc 0x00000270 Code RO 5967 i.prov_init provalctrl.o + 0x0800713c 0x0800713c 0x00000100 Code RO 5968 i.prov_set provalctrl.o + 0x0800723c 0x0800723c 0x00000150 Code RO 5113 i.readcoilstate_rtu modbus_rtu.o + 0x0800738c 0x0800738c 0x0000014c Code RO 5114 i.readdisinputstate_rtu modbus_rtu.o + 0x080074d8 0x080074d8 0x0000010c Code RO 5115 i.readholdreg_rtu modbus_rtu.o + 0x080075e4 0x080075e4 0x00000104 Code RO 5116 i.readinputreg_rtu modbus_rtu.o + 0x080076e8 0x080076e8 0x00000068 Code RO 4749 i.setcs ms5803.o + 0x08007750 0x08007750 0x0000020c Code RO 5867 i.tim6_cnt timer.o + 0x0800795c 0x0800795c 0x00000014 Code RO 5910 i.uart_send uarts.o + 0x08007970 0x08007970 0x00000022 Code RO 4970 i.wf5803_ReadReg mf5803.o + 0x08007992 0x08007992 0x00000022 Code RO 4972 i.wf5803_WriteReg mf5803.o + 0x080079b4 0x080079b4 0x0000014c Code RO 5117 i.writemulticoil_rtu modbus_rtu.o + 0x08007b00 0x08007b00 0x00000104 Code RO 5118 i.writemultireg_rtu modbus_rtu.o + 0x08007c04 0x08007c04 0x000000c4 Code RO 5119 i.writesinglecoil_rtu modbus_rtu.o + 0x08007cc8 0x08007cc8 0x000000b8 Code RO 5120 i.writesinglereg_rtu modbus_rtu.o + 0x08007d80 0x08007d80 0x00000150 Code RO 6188 x$fpl$dadd fz_wm.l(daddsub_clz.o) + 0x08007ed0 0x08007ed0 0x000002b0 Code RO 6195 x$fpl$ddiv fz_wm.l(ddiv.o) + 0x08008180 0x08008180 0x0000005e Code RO 6198 x$fpl$dfix fz_wm.l(dfix.o) + 0x080081de 0x080081de 0x00000002 PAD + 0x080081e0 0x080081e0 0x0000005a Code RO 6206 x$fpl$dfixu fz_wm.l(dfixu.o) + 0x0800823a 0x0800823a 0x0000002e Code RO 6211 x$fpl$dflt fz_wm.l(dflt_clz.o) + 0x08008268 0x08008268 0x000000a2 Code RO 6216 x$fpl$dfltll fz_wm.l(dfltll_clz.o) + 0x0800830a 0x0800830a 0x00000002 PAD + 0x0800830c 0x0800830c 0x00000154 Code RO 6220 x$fpl$dmul fz_wm.l(dmul.o) + 0x08008460 0x08008460 0x0000009c Code RO 6252 x$fpl$dnaninf fz_wm.l(dnaninf.o) + 0x080084fc 0x080084fc 0x0000000c Code RO 6254 x$fpl$dretinf fz_wm.l(dretinf.o) + 0x08008508 0x08008508 0x000001d4 Code RO 6190 x$fpl$dsub fz_wm.l(daddsub_clz.o) + 0x080086dc 0x080086dc 0x0000000a Code RO 6423 x$fpl$fpinit fz_wm.l(fpinit.o) + 0x080086e6 0x080086e6 0x00000000 Code RO 6260 x$fpl$usenofp fz_wm.l(usenofp.o) + 0x080086e6 0x080086e6 0x00000008 Data RO 1572 .constdata stm32f4xx_hal_dma.o + 0x080086ee 0x080086ee 0x00000018 Data RO 4417 .constdata system_stm32f4xx.o + 0x08008706 0x08008706 0x00000002 PAD + 0x08008708 0x08008708 0x00000020 Data RO 6479 Region$$Table anon$$obj.o - Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x080086e8, Size: 0x00001bd0, Max: 0x0001c000, ABSOLUTE, COMPRESSED[0x00000020]) + Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x08008728, Size: 0x00001bd0, Max: 0x0001c000, ABSOLUTE, COMPRESSED[0x00000020]) Exec Addr Load Addr Size Type Attr Idx E Section Name Object @@ -4167,7 +4167,7 @@ Memory Map of the image 0x200017d0 - 0x00000400 Zero RW 1 STACK startup_stm32f407xx.o - Execution Region RW_IRAM2 (Exec base: 0x2001c000, Load base: 0x08008708, Size: 0x00000000, Max: 0x00004000, ABSOLUTE) + Execution Region RW_IRAM2 (Exec base: 0x2001c000, Load base: 0x08008748, Size: 0x00000000, Max: 0x00004000, ABSOLUTE) **** No section assigned to this execution region **** @@ -4198,7 +4198,7 @@ Image component sizes 358 32 0 110 196 7180 modbus.o 2760 146 0 0 2048 13994 modbus_rtu.o 256 50 0 17 0 3199 ms5803.o - 4442 266 0 41 456 9270 provalctrl.o + 4506 262 0 41 456 9318 provalctrl.o 204 22 0 0 88 1861 spi.o 64 26 392 0 1536 892 startup_stm32f407xx.o 212 36 0 9 0 9777 stm32f4xx_hal.o @@ -4221,7 +4221,7 @@ Image component sizes 1288 114 0 0 840 5222 usart.o ---------------------------------------------------------------------- - 30712 2058 458 416 6608 946750 Object Totals + 30776 2054 458 416 6608 946798 Object Totals 0 0 32 0 0 0 (incl. Generated) 30 0 2 13 3 0 (incl. Padding) @@ -4286,15 +4286,15 @@ Image component sizes Code (inc. data) RO Data RW Data ZI Data Debug - 34078 2250 458 416 6704 926598 Grand Totals - 34078 2250 458 32 6704 926598 ELF Image Totals (compressed) - 34078 2250 458 32 0 0 ROM Totals + 34142 2246 458 416 6704 926646 Grand Totals + 34142 2246 458 32 6704 926646 ELF Image Totals (compressed) + 34142 2246 458 32 0 0 ROM Totals ============================================================================== - Total RO Size (Code + RO Data) 34536 ( 33.73kB) + Total RO Size (Code + RO Data) 34600 ( 33.79kB) Total RW Size (RW Data + ZI Data) 7120 ( 6.95kB) - Total ROM Size (Code + RO Data + RW Data) 34568 ( 33.76kB) + Total ROM Size (Code + RO Data + RW Data) 34632 ( 33.82kB) ============================================================================== diff --git a/MDK-ARM/VOQC/VOQC_VOQC.dep b/MDK-ARM/VOQC/VOQC_VOQC.dep index ad28f5e..86334fd 100644 --- a/MDK-ARM/VOQC/VOQC_VOQC.dep +++ b/MDK-ARM/VOQC/VOQC_VOQC.dep @@ -66,7 +66,7 @@ I (C:\Users\admin\Desktop\wujunchao\99_General softwares\Keil_v5\ARM\ARM Compile I (../board/Inc/ms5803.h)(0x669760FF) I (../board/Inc/ds18b20.h)(0x6694D35E) I (../board/Inc/dac7311.h)(0x66949B65) -I (../users/Inc/provalctrl.h)(0x66DAB0EF) +I (../users/Inc/provalctrl.h)(0x66DBB69C) I (../board/Inc/eeprom.h)(0x66CE9587) F (../Core/Src/gpio.c)(0x66C2E5A9)(--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 -IC:\Users\admin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include -IC:\Users\admin\AppData\Local\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)(0x668F85FA) @@ -1429,7 +1429,7 @@ I (../CH395Q/ch395inc.h)(0x66C443B0) I (../Core/Inc/spi.h)(0x668F85FC) I (../CH395Q/ch395cmd.h)(0x664FF969) I (C:\Users\admin\Desktop\wujunchao\99_General softwares\Keil_v5\ARM\ARM Compiler_5_06\include\string.h)(0x5E8E3CC2) -I (../users/Inc/provalctrl.h)(0x66DAB0EF) +I (../users/Inc/provalctrl.h)(0x66DBB69C) I (../board/Inc/dac7311.h)(0x66949B65) I (../board/Inc/eeprom.h)(0x66CE9587) F (..\board\Src\dac7311.c)(0x66AB21F7)(--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 -IC:\Users\admin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include -IC:\Users\admin\AppData\Local\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\dac7311.o --omf_browse voqc\dac7311.crf --depend voqc\dac7311.d) @@ -2242,8 +2242,8 @@ I (../Core/Inc/spi.h)(0x668F85FC) I (../CH395Q/ch395cmd.h)(0x664FF969) I (C:\Users\admin\Desktop\wujunchao\99_General softwares\Keil_v5\ARM\ARM Compiler_5_06\include\string.h)(0x5E8E3CC2) I (C:\Users\admin\Desktop\wujunchao\99_General softwares\Keil_v5\ARM\ARM Compiler_5_06\include\stdio.h)(0x5E8E3CC2) -F (..\users\Src\provalctrl.c)(0x66DAB147)(--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 -IC:\Users\admin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include -IC:\Users\admin\AppData\Local\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)(0x66DAB0EF) +F (..\users\Src\provalctrl.c)(0x66DBDD6A)(--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 -IC:\Users\admin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include -IC:\Users\admin\AppData\Local\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)(0x66DBB69C) I (../modbus/Inc/modbus.h)(0x66CEC5B0) I (../users/Inc/timer.h)(0x66CEDE30) I (../Core/Inc/tim.h)(0x6694D67D) diff --git a/MDK-ARM/VOQC/ads1220.crf b/MDK-ARM/VOQC/ads1220.crf index 01ac02ff5ca1dbef4915afc9255752955d899d8f..60bdba0762ce9ac193ec77021b8ace96f1acc909 100644 GIT binary patch delta 81 zcmdmW+G5vfiw$kOTyx&O+s4KK1oN6F@U~CjWdvd-AZ7+)79eH?Vm2UV2VxE&<^*Cc SAm#>Q9w6r3K7p4{O9BA9J{pVw delta 81 zcmdmW+G5vfiw$kOT<;&g+Q!BJ1kueCc-trNG6FFZ5HkZY3lOscF&hxG12G2>a{@6J S5OV`D4-oTipTNtfB>@1vts0B~ diff --git a/MDK-ARM/VOQC/ads1220.o b/MDK-ARM/VOQC/ads1220.o index d183d0878421e8fe94718b3e08d47207987e091d..64713817e9f84a6e9d4a650716ca88078d6b0cc0 100644 GIT binary patch delta 121 zcmexy*#5_1`wgZFGUf_K21X`I42%r%@gbhRuJQ2-N`?kjhQ?L~7R`YQ?STr6K+FWh z%s|Wn#H>Kf2E^<@%mKulK+FZi+(66&#Jt-B75HX;XR}OA)-`6B&iI4RaKf2E^<@%mKulK+FZi+(66&#Jt-B75HX;XEQNQ)-`6B&iI4RamvjJ delta 81 zcmaET*7EgP%MD-ox!yl~wT+Dd2%?++^SA%!X9QvQ9w6r3{-2-kO&9>$S|bDi diff --git a/MDK-ARM/VOQC/main.o b/MDK-ARM/VOQC/main.o index c85baff6885032f6cf7ab57ca2d673cb3a01b4a2..4e885c58eb9825ee87f99a8248c624748ee67483 100644 GIT binary patch delta 113 zcmaEI-{Hx9hYg})GUf_K21X`I42%r%@gbhRuJQ2-N`?kjhQ?L~Ce4Oo?S^8EK+FWh x%s|Wn#H>Kf2E^<@%mKulK+FZi+(66&#JoVvx7|>TpUa5ZIN4ykod^H2=Kz#M94r6; delta 113 zcmaEI-{Hx9hYg})GG+=!21X`I42%r%@gbhRuJQ2-N`|IZ#%5NAX3d6T?S^8EK+FWh x%s|Wn#H>Kf2E^<@%mKulK+FZi+(66&#JoVvx7|>TpUa5Z+&p=^od^H2=Kz=z976yA diff --git a/MDK-ARM/VOQC/provalctrl.crf b/MDK-ARM/VOQC/provalctrl.crf index 12ff93ff9fbdd4aef5568ab3b62c563d4cb55c33..084812fffb82ad16987e1fe81ab3405b957989a1 100644 GIT binary patch delta 4375 zcmZvf3y@XC5r)t7J*x=p6@`Tr5Qbge3Wu;L>c-w9U5JSwR&Qn8FlX%g@9 zM&uz_a(sZV4JgQ>U~pY<0eQIsi$sA%4}u7UQUncHRzg`OU*B^McVp#N{nInuJw4NN zX1e=6v18bbox>hIzwNxE$6h}z;P=d9W7-W{Hg;5b?z5F&OjuDqWktCI0&*Y(W#BY$ zI%osVs9#auw%4Y3b4Bf1UIW3V0vPl0*hIq-tGH|p=} zm|y71A{@Fi>QRxO*!EpK(%m!zqa_vjs!AI#k2?f4b#CZcUN1?dC+q)Fk?-hA>P=Cu zOa3lB>T29aap&OqI_KJZox@OHv*w>P7b188L3t`zXM%sxbd6?r$#*X7v2pQm*VqXc zo3+-nrV@Al%H$4=9}%CrBsv#Y=89+}ZgAW^Sb)k|s7yyC@m6#`D#t^afp{U}vk}ig zoE(B^E#iNNa&I9%CwLKgXRl|Xa;aIdk36}o#tmonmymVwy4ZHK+?rk1d}z&6=nanB z2a8at^!g&hesQ~CF~f7b>sRCU#b*UCGdh=L&E^K0S|%)k*Td@v3_mY0u4CNO>z9n* zXSkH1_qu|Q&<+c)Fzn^E#=g-ZnkV9c!K?79yw0+1ykyO**37X*=2=r`%?w=l0(;9) zu1=H(#is|$8TR#mjQa$y(JS=BanVZ!7X=Rm2hBgH)3~0K%cOf;5&R9s{$4wX4i|0W zsvZm71M#3>1^j_tJBnT*y2rU9)?i}|^VdSxLf1jpi#!lt7QBxBd0s0-M+$rgzhKu_ z^lb)Ppj)9QS=cavg{Fa7U~b3_J2$Au!1-P~i(YAS*bMqxq0QnRUY#l4GWW}`L- z(VT)c3?73f5Pdv!J{}poiBA`J?JjyXbFpoh4pxI^kZvvAgVTMS=f^2ne>#sF8^x^@ z*9zTrm~F)Dg9{SGQHO%kUP5y_Lh> z8M;s60l|87f8e!B^m@?-^qN}fu0yvO-CdzOz{T8v?j>HUMSo27LYV++Vj_^7_^cFLgoYH0}r*sVpTab_RI#Bdh zlS%R7ZG|?&=Mrp1ex=v*L~j$F1wVb6*GH~LzSHID+Z;{A+J@#RuY*MI5PcHOy-u!; zy9MvUzt-!;qC=hDCHixxPqRs$XJvF#kNmL0REwNzX`15mg1@7EgLmXvcRTE{;7{PV z=~xw@Z(7qxbBr7N9@;m0{TAt1;_UkjZ}J1!_6~YCd%Z{WLD88!j%RbCi*jxVk$fkz zTfE*UTEi|U*qfgOvbZ;!KCzF5+*cgXF0^m;`a99T@VT*+fKw0MIo$dd;B!7XU- zN5wsZ{fvIe=x(pG?Up=a%@S)Sk&VYu!+nCruWH;vx(Di_UA^)Z)$=WR*IM(AX&$iV zVY^w6TeFC!Im%b%d*yeV&K_%~=KR#?vZ{R7vbkuFjK&}iXNzAPjjPHJZd)v>tSnm? zH6XdD)=aL=`3`Zv;5fdX;R$pW!0a81z8i)FJ=_8U=|?eef-^MaY&qnaHE~Pda?X$$0W)%~HM= zQlj)JSW?ImgT-n~4u(>MEcJK{E-S7NHB)WUwgoU0A|NF)_81v9d(hnp$o$ zl!9@op9aga)J$<0qPr>jS)Y8jg2lcJmSkFCW;(@K&Ho22@C<2m`yX1WKiro`I~Q}c zIX9I}O-k8Gv@WtOV$b2ICL?;28Jo~DnaO7@v-6T3qWBp?uA%52HeyAP^U6Aa delta 4178 zcmZXXdvI6P5y$V@d$lo;pCCpsC>#=A@~~4C7C|ZqZKu`xXa#(=9jnf?)jDmp{YUFB z7&Q2RAU1OatXgZejD#R22BQ#(iV#HvM5I@#QLt7RA7m&LE%vj&-@TBgznSmZb9VRa zIcM)VyZf8BZNdX@PFOIe^wZ9dpE)+*cjf(8^_uY1jnm7*SKj})rn#)Pxy%6pA&9^+ z;8^fAPy&u?X)Y@rapv)jQtfm_NV7Dmc86>COeqDuK<}14Q_AMAELkc}pA?xA&+aNa zsid9JOCqK5!(C-#Mz)4dSA$JpJNO8E0_r2DF-X9>k!xz{>ME-m{G$h${0LYFc1NM^ zjl!3cl3@KZCo`(u8_9rR1KpWyrU8vrU^QqD-RFr9IuOl5bO)?ja4(n-7J@&B>)mow zzue>Qn7cU8_3@zc+?>+2oJc!pz8xeDox@E(O%mh#rYdoB4!@Mm~A??$247fc2p*qnlk zpE5renw8eGW)_Efj5&Q6|Ht|CV4`z5&|Hzc-X$(fP6_^kju||RPVvy9b?EGhVS2@Xc`o1{EwLVKjwKBDJ{wsIBUi(Gv&HfV-F%4dXngQHi^xkzXsYSZY6$Mg?y~n{-V=F=Q-KPoM+*k?sb6ZbkTdA@m*mab9yDG z1+B=x?lqoVk*g@#gKV#J6XTy$55J_V`57RRvN@xeVz^4qD6!5VEnUzIX^8kkZqf@vt6g30y6@B!P8jH ztNCIMVC2OmmD9gg*V=!1y{_u#eBVXI1{|)hlqY(3M<=+wte&V z)3|XBo_i&7r6|9M^4VT1MK2UxjeJu#-6nL~&|M#KElv$yLU*FqD$$Efw`hA46#JJX zQ-hb0Px3lk^atGUJcgPhQLVKOY( zfX=yIM~Yrr+@ty3_GG?K9k-jsI?$Wq^)%5LW~=Cc%}^XL4*9Fdr+OVFI#V>i7J*%+ ztx#^{Xg=<1D4geYwCF72Ed2BtO+mI1*)*?XL@yIvfGmAhXA^B+M>gH-SkcQx7a`m2 zH3Y%^RzIhAfnO=V-`g=JN&-P;M$%xC-FW8QJmS+?)BjlRGEf3y?dzsf? zi{6Gu@8Pp8i(HWO4|X89+%pQUWy)Ev1P?CNhwuJC%Z=xlb?&Iu*JGM|m^KS&Z01KYQO>>2C|&8HMw4uEELh;2maO<@I->HO$<_5?PQodJp@l zi^6N;D}1h^^vFkeF}}^`ZaBA2qIZ%B!A`EarI;)|SX!_YkcR&w(cB_BfkHbZvNUu; zeAU}h>t9Fmm{h%Q}u`*X)RcF_$-kRr3bDK3^SW{~^ zX$j4W_=3vZkX(o9yl%}Q@n^=jROTvM3Uw2r9=?O~`JwX6DBQ;~Oq&>1G?i|KWHqz}5 z3s@;?(d(?0Pv3sL_=v!Z7=@^00DIU>u+Mzi$V zoffMDs}PRD(r=oAtCMpI{w!wWd@(eCiadi=6oxLa|Nn6fe*$K+jcW1y36So80>)$d zc0{ugE#{>>3g+$VeoEXeOh5KJ9BW-9MjIRZ@#n{Vn|DA}IhhA5q-O47~pf5o; zhMa#BogFX|=!ejcpr1i4`pn}o+z+jfq?2;R>?~sVN7y@{33MlPe^%})&77r~gL!L0HzKuTgT&wtP(r_WAqG&{Xf^FWUrlQ)-KpW4ZCk9jBaP?n6d6PxobDQAh!2l5>);d*-(JX diff --git a/MDK-ARM/VOQC/provalctrl.o b/MDK-ARM/VOQC/provalctrl.o index 2c3456cb6182ef131ab354bbeb2a4b98749d4794..4431bc197d6559bb027174b06b933c4b00dee608 100644 GIT binary patch delta 5268 zcma)93shCtncn-{dya6q=N=HOJT7t(0-|Vmr4`2qL}-9wB8INUj6txNf}s;gwPPGL z(9jjNCY2l}f9;rxSx%QGrWG;1A7HeKB?%as_&|Fxh(Nf6o7xr~8t2>RTqHBIX0@z! z?zi{%fBS#!eI5+=Ea>C37G6K{6bo$R(>8RJx$8aQwoXs5p{>Q( zoJZIW4!LdKp}>36^?FZ)jT^dgyK~%rsovxKANDEm5gOh+#0_7rp=w*LCk!znZT0%K zfG8_-Yu)<20Oy2ykEmv^-fancvepx5`}@gQjASJDl7A!}{b;~5z8Gsn3_ZnuR$dTZ zJXE7UAxETYNNFPCe^W3I%CTIo2P?Aa#3h>9IkJsaKeot?Ch0%7Pb$f{HrBrMj(FtZ zuuaWr_b_;h4Cm0-dnWsep8_AD;nhRYxN6{YthxVx^MVk?p{J{n3Ujm5?6lsXhFTf^ z^dsu9<~=HOMm4dEtO<+MllN^enI~)L+v6`Fn{t5|eE)Iomwk_TEslx#=A{ zJyUIxdy2uvKoKhHL&Pv2ipXJ@JAspd;kICCC0i)8k>Doj$${|`?71}~TbW&79vJDz zVpr#~j2+ocTLT~Q54dV!EHijxt@Ik#izlyCLq(OoKX=poaNVC@)i1@w;rDJ#-xRlO z+7|pq;>{MN@`dMryu74z72|?->-S@4@f-TAhrW8a!a1*NniKz#McTpj`w5Tg zi)Mtqv`z_Do>zipS$PSAeS=*J@a;${Jao{J$1Q{R4~3 zpb5b0P)kLyY_Uw%duIG-zHCuq!22ob__ZkCGyI6uUdQO`sach1BP`;Vhg#MI%iIze ztXC!G^X8^giNEIjkiK$OA}`ZlpY>m;U;p{Tzd`x)lM*B}uPkK>eqTw6nj~5%u?>N~ zCbK{stO5OaN+j>nuNc37P5Euuw_GVnDQQ#D*yYO$a~EYVU+$WkoHFN;*)N|?edTm2 z$0gyi;IiV9aVfYa;PS)ekIRND0GAz?diZpzqyNhZsYxr6W~MUTTa>PU6%u%OBu-mv z!)xQYT@0D?^LIRL<1y^MVj0Y^&sKjt|cWEamKuDCEbCjR>q^Y*gS+ zP?iGx5ocC`FEi#Ra3f=Of#sY9(svhX@!!mX(pJLRvp(D+ne!~1NWpgjrGLYz61bkR zVS(%D?S1u(T@Jpm+^=p^&eKpc2|}5FYv| z^F4UTraA#f4UlF|rd980aeNnbgOwsf&1oGa9}?5Bv1tvaT%`^HuNok!5p?emmTso# z!&YN!O1 z{AL_uA!f>r)F>ElJY)4H^HbtSv25OS#`ZDVco4z*sQ{FmJA<)?u}XId(b0z)+i!}L z@+2dbQ^&Lz3Oj}(u2UvJ4ohLInj%5-?Nle2b6_$IMwU}W`-M?ngW)n$*Fnk0Meoz- z>EkH>MXJG6`9V5kE=EPikdL2e7q?nEYmDpm&)&|hyR}t_z;c3IC*wo}^WV)7?3fM|D06D82 zcY_f}N$X(j@MrDlp3XnTt& zx0lYeAd9kI8UP|x&>3|9$anl%Ag9+(qWc%91Qb6=n+05;Mu0qAiwa--oA= zTAKbo5?EY|rM?6{q?s*Rgi;J@^#r3!X!9zK6QONVC61wsS~+Jtdz*@>^#IutAA_)sC}S1A;fu zUV!SFAMhZvn-qB-tpQX25>07^GWvJ$H1`zc{SHNxHjhiY>4%>{3Z}SftcDgLE={2U zi1{`OI*+goX?E6UGZmYt1eAn>zvVm>Bh)AqewlW*Lp2qo{ z_~;h=YVyB`@~8c~{XzL3n;SD5)SgLZLT;*oN_y%Ydix?eQ26e+`ZoRTQ*;2#+?P#p z14aKH;@QcR_j_cwmZ~sSHa)H~r_bGPY7q)&DGdn4ZVGCH;^4C?3rsT`UIIcY`w!aE zCK|pI2H&ZeA zzi3j~u>aV$WPXUC*yU9pBB@HM!&I(r9`k}UyM@5oLbi{Lt|xy47xptM8woR9Sgc(t z{p_Un5U;1bu&K+s#}jv(U9A8WDw`2&DY_lGj8d+EJ5&WwtbHo$F`pVZ)GflYmih(k zp`Z>3j@(t5^&6I239N(!Vc9ca{3A&v))x@E>I1661lQ}atur-jn=ODJF;6=15I z2y?L7Dk{2xN7&CCX8!He3X@v;#<;&;v+-a;qD*(V0Y5gR?Xuj>RbhqvT(7unV|F@!XU`KA=mT$hC*=iZypA z`VUysa~0l<{gf)M(F=dTGiq)Z{SqiI?sBkD^Kn{+VTQTuXx%4R-azRB+NlJf^jvqa z#TN5^>2|O_L#jA$I#{vAh>m9l{}lQ@N)Rwg1pp8&p8UNyDCglC}_Am;>YY^#}1CuLrTVGorHKu-X2^<<3|j@i3~p^N-) z;E377vE#<7b@orn&<|*p3>czhAgBNV%kQVF@2+3v+^8z&yBk!HjA#p zLJi=^+Kni~Vw8vx_MxC#i>Hj6Al3__jdp=Rj8?(B!TaMg$#@k{q-VOd2q`U_!f%SB zoK24k%+ID(Ky_L6c-h~eMK>X>$fjd3A;s>S@aF146#Hk0vV)R8LzI2ARKN+U5zt0^ z1$0q|fI+$oP_5tA7(Nz^1YC6eGcAHDdo(*0_GnHu|1s>U&p6dE;!JGs!LpDXjb->O zv4%w|%%OoEB(sBpZi#;7(wtjJyCPR(`06nNOfxE^BexNt{+8w>w-}ueBfmb3dc-KH zPqeWYRrF9ouaRkifKhr8AX)S1tzLAyTFBZUQ$zAJ=I4trm)`9~W1M*uejCAKzh;_m zniBJ9l`y4!&4h2yFEl65qhrF7^)<_*=A!&Ovh~4K2$T5#SA03;(uN^p(bKT-TB_+o zcJ_RF8&gMYKJFQxa4Dl-dC}Lq5U8b#$CE8GJuIfYet4*-s(zHYgSG?I{3ROR;%21h z%p_JXp#dSpC+Yx%^^`6EpQr-P(q;i&)ChRvbM&Tb04+R0{BzKqlmJje3deVCn{U?& zY2D|jtOBM6U%X$CI*iJ`OBZ25I4{;x#vpt;2jR1pG6z9y6GVj|dZ-QrHs~loO?+m& zM@P&cS zRRVfwyMR$@0Z54}XkbX}>I#ij`+N@2qT4u6>0dyGH>7}3+6+*w-ycu$j_<^LpRRrZ z2eB{}`yAY*HwWP$VHhiSQ-Oee^rC>Xv`au2wFD1W244iT&-+u$+OQGig delta 5174 zcmb7HYgANMmOl3u_X-0AE6KvP>O)VOh`uC`Odv1xK{U{ zVXbq&bN1e6?{Dw(Dh98oj}D|)$4E3xd8G5-W+@R zNQL=U^POpr$l*su3e0!E`}5sfBLU_`P~RHy!?YOtC)%^-*jGQ!F84Bf&BRkIs7ac$ zy}P)t#%njby^-dYkv{X-NYD>6E*X-DNl9RjAqg=b&#uO7hG3PLW!2{%9ckC+$yaK; z5oQUpNL^dwjfUSaJ+_!13%ZqBcVN6f>x=W$ctgzEoWRIe-CmKwUOfZ1H`rX`oo+83 z>CiK-^ah##;V%gO&0i3-_OQOc^Vx-%fBXL+>DF9-qfo>$5u$?SOZ!xm%BFipzFbV#HQpF^@U?OXZmCQWg`?cfh;a{D}4^9xAQY zKH|?jxd6UH&GCAi$;IqG;EhN0Xk9wX7d^@sJ=zytj3dD!6lgbxz*aWfVH+i6+SZ`N zX*Ng2L>04Xe+-HW+P8P_k6A*QgJsmNMmyDfHt0tIf%{F2Wrl38l;4oFgQ3q_!|tm} zPxE%W7Qlsx_)C97mJUfO1wY3_R7ptoYiS9C(LIXjLw{J7-Z81Azj*1_8w;JqOgHJ# z(q}D@KG$BH^{xDa+`MtNU6OV-znpl%B$r59`rMV;>+{0%UsOZXm(&nNQ5WKytggUU zRns9|hhCDJg6~o_9A8C^gESYd2(1hfKeb3vLeaT@+D|d|P1CyPh42>)!!T1(h+@LA zUX=VxyBY(bNiD|LUtOyApTt*Ei#1Pjj`U9Rg86@tq_?%t79>lLYx2VXMFQI0g@?ia z@S-GH+OPF2j>h-9#ShFBHIUgWK}IDQ3-V*EUz@iiN^)xs{rmiqKZQRSvv|?s)HqaT zA!kXxWm#-MKLJpBAP{Xfm1!%@0jMQ_-fO`J)A(nb88#ENIqa3sY@F zx27$AFlFidB}^;an5O-BX3()068RQCsfRrCc)GOzSZp$1G84n~nfw6^f0fDaO1Tyg zHkV3lu@8?6bV_VkB=T#+dHZE`nV-o^@DY4rEcOp#{xScUSfkhJYr&FtV;(`ol z%!Lx$w{2RvV1#Y9bEWR$d1UA?VtW@By7%MyW+bq8DCCNfZn|ZvH zL%q#BQSmb~)u{jb&ALVh<>lEAy zQCkdSF@{L(jh$4hQoNp!ZW>HY!ZdRhW0Ahu8%Syc`OTChpoww;%IYM>T4{b8V&6fx z(dahJWvoE&ssZyDD>bU5ZcS$FqD<#uO_|4eqWt|rDn5>~&7wURsy|O*Y&oMBkMlUS z0sV4cKWQ;z$wpsVPbu%h^i7CLeIkV_Ad(8HLDww78vD_o-$lX!^gTq%cT15l-FX)z zL(>>b(7Vz@wD|<4J#D~N>JX#1j8O;0VkCRgXqgNA{HV|crGl=Lu8?3%T`SI`bZ%Z9SMh zW$7Z9i$|zOAS&Q=)dl`Rl=(h_7r%D6ZoM4K6A3G&i2-uDQRxi<`9XM?DJL#I78}j8KDsQ-EER z0#KGd7|5!HlLYBO+HndSz(Nf|A4%N+)&HSDai*?zgI(;0h;d{Et@#j4+E)a!npbru zraV_5{pK9zy67Zy^7#971Bks8{1IX}Q!GY|czHa9Hev5bF|->RX%RIEgRpc9t{;6p ztJ6t74TD{jbQqo`b=_VXLoXI5KsR zAcZagRWv5_N1Ckc1-%vsn0a20TO?o(?ExrZE-M~^SI!}Ti~7&QF{6MB&<9ZpKuK-4 z;##|dN=WUr;{xRM-uprLHZ=j19B#X}vhAGYPf(A+5Sj~A zCqis2&t&k)3ANqZN1dVc7Sy=3x;}xQ92x^C7hkj8BV0h4pMvoCn^gR%Ue-MrDq%u=Fd=o%JVih>bsxHr~@MT_Lp=67S^+uYz*(JeyiRvZnHj!!hE;S z1o|1Y;S^6$F5B1y)7^{1^f@>bP_KY8lD+_y&ORF(Bv%(qJvLTg5~lIA6)Ic=bpW;M z`jq2(^s@}&gXrQp6t@ueTxJg@JWfRdoU{j^G!EHVE#0{)?iC@QXxQDYT_*0I1c61BouknE5J$8W$1_f#O$c^n4OC;s<&0Z zE~*n+7Rd45M16`Pq8I6BEaxyM`xPuFUal*sV@wcdt+KvB{HAmKs9Et5ytP4v&Fm2t zIWsuxl#M#zm|ca)8OoWzugWD<0g+rAMu)Cq!!?F+R^wanjBsvTCh>AlIK_R1s0HNs z3a(3OGeFrE%~`&lpWG8oCt)C8et>QW9C(1H_hG^=O6$XfDk=oXjdSTWA+=DG7}l?( zFU2sQBoEw`tl}vAd=DPj##OY=BiyZ`mx0m@s)GgU+9d$zN^6F>(&+>c87 zd4hZ*i+SE>JWnV0dAr30Uim`!PiBhAEss3 z5%==L*c-mXHjCyD@krVYy{$Hzv!{IWL~Ok={DYcJUt$V8NMGxLlLX{bt^g-(6;MKT z0?MdMKqZX<jtJhLTiSQT`FxJ0_Wk!Xdi~Q@y9qGPs7V5MkA;L4Z#5G5qtx7?p#`S1JQ2h zPUTWUYx_kVp~qHf5|B#00#Le}04F5@tY_D8w#DbW(qQ=bO)%VcQ(w3`*vPd{(3zXy zarucU!Z;ZEdOSh)VT7*9jV7Y)OG&C^rv>kaqS!*G9M7zG%AW=h#euIu0% z;03ixN&(0%`Si3GzR%`!R_*hBLid3MZxDuM)GZ8aH_#6-L}sxg`g8}tT2;W=+rDXT z`uVr;zE`Mos6&90h6I#Q@VEM$G=R0GaH@h|(+07Uh4k9D@V%Uxgk2W(8s^d{0#|LK zxualMziDdPe;X^giC%^Vr@Ib@_yOM~AeF`h0qL?+^bL=zsqQH&>*F diff --git a/users/Src/provalctrl.c b/users/Src/provalctrl.c index b786ff2..6020928 100644 --- a/users/Src/provalctrl.c +++ b/users/Src/provalctrl.c @@ -28,13 +28,13 @@ void prov_init(void) //不同比例阀的初始参数不一样 pv_one.input_max = 20; //输入电流上限20mA pv_one.bias = 0; //偏差 = 目标气压百分比 - 当前气压百分比 pv_one.bias_previous = 0; //前一个时刻的偏差 - pv_one.bias_area = 0.3; //允许的误差范围,±a(%) + pv_one.bias_area = 0.5; //允许的误差范围,±a(%) pv_one.Kp = data_rd[0]; //比例系数 pv_one.Ti = (data_rd[1] == 0)?(1000000):(data_rd[1]); //积分时间,位于分母 pv_one.Ing = 0; //积分输出 pv_one.Ing_max = 5000; //积分上限 - pv_one.Ing_min = -5000; //积分下限 + pv_one.Ing_min = 0; //积分下限 pv_one.Ing_sum = 0; //偏差求和 pv_one.Td = data_rd[2]; //微分时间 pv_one.Ts = 0.05; //采样周期,50ms @@ -78,7 +78,7 @@ void prov_init(void) //不同比例阀的初始参数不一样 pv_two.Ti = (data_rd[1] == 0)?(1000000):(data_rd[1]); //积分时间 pv_two.Ing = 0; pv_two.Ing_max = 5000; - pv_two.Ing_min = -5000; + pv_two.Ing_min = 0; pv_two.Ing_sum = 0; pv_two.Td = data_rd[2]; pv_two.Ts = 0.05; //采样周期,50ms @@ -171,45 +171,38 @@ void prov_calibrate_pid(propotion_valve *pvx) { if( (abs_bias(pvx->bias) > pvx->bias_area ) && (abs_bias(pvx->bias) < BIAS_MAX) ) //误差进入目标±BIAS_MAX%以内后再进行控制 { - beta_in = ( abs_bias(pvx->bias) + BIAS_MAX * (float)1.25 ) / ( BIAS_MAX ); //变速积分 + beta_in = ( abs_bias(pvx->bias*pvx->bias) + BIAS_MAX ) / ( BIAS_MAX ); //变速积分 beta_out = ( abs_bias(pvx->bias) + BIAS_MAX/2 ) / ( BIAS_MAX ); //变速积分 switch(pvx->gas_direction) //根据气体方向对输出范围做补偿 { case GAS_IN: { - if( (pvx->Ing_sum >= pvx->Ing_min) && (pvx->Ing_sum <= pvx->Ing_max) ) //积分累加与限幅 - { - pvx->Ing_sum += pvx->bias * beta_in; //偏差求和 - }else - { - pvx->Ing_sum = (pvx->Ing_sum > 0)?(pvx->Ing_max):(pvx->Ing_min); - } - + pvx->Ing_sum += pvx->bias;// * beta_in; //偏差求和 + pvx->Ing_sum = (pvx->Ing_sum > pvx->Ing_max)?(pvx->Ing_max):(pvx->Ing_sum); //积分限幅 + pvx->Ing_sum = (pvx->Ing_sum < pvx->Ing_min)?(pvx->Ing_min):(pvx->Ing_sum); + pvx->Ing = ( pvx->Ts / pvx->Ti ) * pvx->Ing_sum; //积分项 pvx->Div = ( pvx->Td / pvx->Ts ) * ( pvx->bias - pvx->bias_previous ); //微分项 pvx->pidout = pvx->Kp*( pvx->bias + pvx->Ing + pvx->Div ); //pid输出 - pvx->current_input = (pvx->pidout/100) * (pvx->input_max - pvx->input_min); + pvx->current_input = (pvx->pidout/100) * (pvx->input_max - pvx->input_min) + pvx->input_min; } break; case GAS_OUT: { - if( (pvx->Ing_sum >= pvx->Ing_min) && (pvx->Ing_sum <= pvx->Ing_max) ) //积分累加与限幅 - { - pvx->Ing_sum += pvx->bias * beta_out; //偏差求和 - }else - { - pvx->Ing_sum = (pvx->Ing_sum > 0)?(pvx->Ing_max):(pvx->Ing_min); - } + pvx->Ing_sum += pvx->bias;// * beta_out; //偏差求和 + pvx->Ing_sum = (pvx->Ing_sum > pvx->Ing_max)?(pvx->Ing_max):(pvx->Ing_sum); //积分限幅 + pvx->Ing_sum = (pvx->Ing_sum < pvx->Ing_min)?(pvx->Ing_min):(pvx->Ing_sum); + pvx->Ing = ( pvx->Ts / pvx->Ti ) * pvx->Ing_sum; //积分项 pvx->Div = ( pvx->Td / pvx->Ts ) * ( pvx->bias - pvx->bias_previous ); //微分项 pvx->pidout = pvx->Kp*( pvx->bias + pvx->Ing + pvx->Div ); //pid输出 - pvx->current_input = (pvx->pidout/100) * (pvx->input_max - pvx->input_min); + pvx->current_input = (pvx->pidout/100) * (pvx->input_max - pvx->input_min) + pvx->input_min; } break; @@ -236,13 +229,34 @@ void prov_calibrate_pid(propotion_valve *pvx) if( pvx->target_current <= pvx->input_min*(float)(1.005) ) { pvx->current_input = pvx->input_min; - pvx->Ing_sum = pvx->input_min / pvx->Kp / ( pvx->Ts / pvx->Ti ); +// pvx->Ing_sum = 0; } pvx->pvout(pvx->current_input); //dac输出 + }else if(abs_bias(pvx->bias) >= BIAS_MAX) { - pvx->Ing_sum = pvx->current_input / pvx->Kp / ( pvx->Ts / pvx->Ti ); //预估积分值,改善滞后 + switch(pvx->gas_direction) //根据气体方向对输出范围做补偿 + { + case GAS_IN: + { + pvx->Ing_sum = (pvx->target_percent - 100*out_makeup) / pvx->Kp / ( pvx->Ts / pvx->Ti ); //预估积分值,改善滞后 + pvx->Ing_sum = (pvx->Ing_sum < pvx->Ing_min)?(pvx->Ing_min):(pvx->Ing_sum); + } + break; + + case GAS_OUT: + { + pvx->Ing_sum = pvx->target_percent / pvx->Kp / ( pvx->Ts / pvx->Ti ); //预估积分值,改善滞后 + } + break; + + default: + { + } + break; + } + } } @@ -560,8 +574,8 @@ void prov_adj(propotion_valve *pvx, prov_adjust *adj_pvx) /* PI [0.45,0.8]*/ /* PID [0.6,0.5,0.12]*/ - pvx->Kp = (float)0.6 * ( 4 * (float)0.1 ) / ( (float)3.1415 * adj_pvx->relay_A ); - pvx->Ti = (float)0.5 * adj_pvx->relay_Tc/1000 / 10; + pvx->Kp = (float)0.6 * ( 4 * (float)0.1 ) / ( (float)3.1415 * adj_pvx->relay_A ) / 3; + pvx->Ti = (float)0.5 * adj_pvx->relay_Tc/1000 / 20; pvx->Td = (float)0.12 * adj_pvx->relay_Tc/1000; pvx->Ing_sum = 0;