From ad2053d85bbdc072637eaab6eb85f57008504af0 Mon Sep 17 00:00:00 2001 From: yunhai8432 Date: Sun, 19 Oct 2025 20:10:49 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=B5=E6=9C=BA=E6=B3=A8=E5=86=8C=E8=83=BD?= =?UTF-8?q?=E7=9B=B4=E6=8E=A5=E7=94=A8=EF=BC=8C=E6=B7=BB=E5=8A=A0=E5=8F=8C?= =?UTF-8?q?yaw=E6=B2=A1=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- MDK-ARM/gimbal.uvguix.yunha | 52 ++++++++--------- MDK-ARM/gimbal/ai.crf | Bin 939972 -> 939937 bytes MDK-ARM/gimbal/ai.o | Bin 1016088 -> 1016072 bytes MDK-ARM/gimbal/atti_esti.crf | Bin 939339 -> 939304 bytes MDK-ARM/gimbal/atti_esti.o | Bin 1015176 -> 1015160 bytes MDK-ARM/gimbal/config.crf | Bin 939055 -> 939020 bytes MDK-ARM/gimbal/config.o | Bin 1010856 -> 1010840 bytes MDK-ARM/gimbal/gimbal.axf | Bin 2054676 -> 2054592 bytes MDK-ARM/gimbal/gimbal.build_log.htm | 12 +++- MDK-ARM/gimbal/gimbal.crf | Bin 938883 -> 938848 bytes MDK-ARM/gimbal/gimbal.hex | 54 +++++++++--------- MDK-ARM/gimbal/gimbal.htm | 2 +- MDK-ARM/gimbal/gimbal.map | 83 ++++++++++++++-------------- MDK-ARM/gimbal/gimbal.o | Bin 1019236 -> 1019220 bytes MDK-ARM/gimbal/gimbal_ctrl.crf | Bin 941039 -> 941004 bytes MDK-ARM/gimbal/gimbal_ctrl.o | Bin 1013812 -> 1013792 bytes MDK-ARM/gimbal/gimbal_gimbal.dep | 14 ++--- MDK-ARM/gimbal/init.crf | Bin 937487 -> 937452 bytes MDK-ARM/gimbal/init.o | Bin 1012376 -> 1012360 bytes MDK-ARM/gimbal/remote.crf | Bin 937780 -> 937745 bytes MDK-ARM/gimbal/remote.o | Bin 1014132 -> 1014116 bytes User/module/gimbal.h | 1 - 22 files changed, 114 insertions(+), 104 deletions(-) diff --git a/MDK-ARM/gimbal.uvguix.yunha b/MDK-ARM/gimbal.uvguix.yunha index 126a2f5..5d1f2f9 100644 --- a/MDK-ARM/gimbal.uvguix.yunha +++ b/MDK-ARM/gimbal.uvguix.yunha @@ -15,17 +15,17 @@ 38003 Registers - 116 100 + 116 117 346 Code Coverage - 710 100 + 710 160 204 Performance Analyzer - 443 130 130 100 + 870 @@ -101,17 +101,17 @@ -1 - 158 - 370 - 1450 - 760 + 121 + 329 + 1409 + 723 0 1205 - 0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000000D000000030000000100000032443A5C79756E68615CD4C6CCA85CB4F3BDAEB5E7BBFA5C67696D62616C5C557365725C6D6F64756C655C636F6E6669672E630000000008636F6E6669672E6300000000C5D4F200FFFFFFFF32443A5C79756E68615CD4C6CCA85CB4F3BDAEB5E7BBFA5C67696D62616C5C557365725C6D6F64756C655C636F6E6669672E680000000008636F6E6669672E6800000000FFDC7800FFFFFFFF32443A5C79756E68615CD4C6CCA85CB4F3BDAEB5E7BBFA5C67696D62616C5C557365725C6D6F64756C655C67696D62616C2E68000000000867696D62616C2E6800000000BECEA100FFFFFFFF32443A5C79756E68615CD4C6CCA85CB4F3BDAEB5E7BBFA5C67696D62616C5C557365725C6D6F64756C655C67696D62616C2E63000000000867696D62616C2E6300000000F0A0A100FFFFFFFF35443A5C79756E68615CD4C6CCA85CB4F3BDAEB5E7BBFA5C67696D62616C5C557365725C7461736B5C67696D62616C5F6374726C2E63000000000D67696D62616C5F6374726C2E6300000000BCA8E100FFFFFFFF31443A5C79756E68615CD4C6CCA85CB4F3BDAEB5E7BBFA5C67696D62616C5C557365725C6465766963655C6D6F746F722E6800000000076D6F746F722E68000000009CC1B600FFFFFFFF34443A5C79756E68615CD4C6CCA85CB4F3BDAEB5E7BBFA5C67696D62616C5C557365725C6465766963655C6D6F746F725F646D2E63000000000A6D6F746F725F646D2E6300000000F7B88600FFFFFFFF2E443A5C79756E68615CD4C6CCA85CB4F3BDAEB5E7BBFA5C67696D62616C5C557365725C6465766963655C61692E63000000000461692E6300000000D9ADC200FFFFFFFF3B443A5C79756E68615CD4C6CCA85CB4F3BDAEB5E7BBFA5C67696D62616C5C4D444B2D41524D5C737461727475705F73746D33326634303778782E730000000015737461727475705F73746D33326634303778782E7300000000A5C2D700FFFFFFFF2D443A5C79756E68615CD4C6CCA85CB4F3BDAEB5E7BBFA5C67696D62616C5C436F72655C5372635C6D61696E2E6300000000066D61696E2E6300000000B3A6BE00FFFFFFFF30443A5C79756E68615CD4C6CCA85CB4F3BDAEB5E7BBFA5C67696D62616C5C557365725C7461736B5C72656D6F74652E63000000000872656D6F74652E6300000000EAD6A300FFFFFFFF4D443A5C79756E68615CD4C6CCA85CB4F3BDAEB5E7BBFA5C67696D62616C5C4D6964646C6577617265735C54686972645F50617274795C4672656552544F535C536F757263655C7461736B732E6300000000077461736B732E6300000000F6FA7D00FFFFFFFF33443A5C79756E68615CD4C6CCA85CB4F3BDAEB5E7BBFA5C67696D62616C5C557365725C7461736B5C757365725F7461736B2E63000000000B757365725F7461736B2E6300000000B5E99D00FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000F700000066000000A005000053020000 + 0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000000D000000020000000100000032443A5C79756E68615CD4C6CCA85CB4F3BDAEB5E7BBFA5C67696D62616C5C557365725C6D6F64756C655C636F6E6669672E630000000008636F6E6669672E6300000000C5D4F200FFFFFFFF32443A5C79756E68615CD4C6CCA85CB4F3BDAEB5E7BBFA5C67696D62616C5C557365725C6D6F64756C655C636F6E6669672E680000000008636F6E6669672E6800000000FFDC7800FFFFFFFF32443A5C79756E68615CD4C6CCA85CB4F3BDAEB5E7BBFA5C67696D62616C5C557365725C6D6F64756C655C67696D62616C2E68000000000867696D62616C2E6800000000BECEA100FFFFFFFF32443A5C79756E68615CD4C6CCA85CB4F3BDAEB5E7BBFA5C67696D62616C5C557365725C6D6F64756C655C67696D62616C2E63000000000867696D62616C2E6300000000F0A0A100FFFFFFFF35443A5C79756E68615CD4C6CCA85CB4F3BDAEB5E7BBFA5C67696D62616C5C557365725C7461736B5C67696D62616C5F6374726C2E63000000000D67696D62616C5F6374726C2E6300000000BCA8E100FFFFFFFF31443A5C79756E68615CD4C6CCA85CB4F3BDAEB5E7BBFA5C67696D62616C5C557365725C6465766963655C6D6F746F722E6800000000076D6F746F722E68000000009CC1B600FFFFFFFF34443A5C79756E68615CD4C6CCA85CB4F3BDAEB5E7BBFA5C67696D62616C5C557365725C6465766963655C6D6F746F725F646D2E63000000000A6D6F746F725F646D2E6300000000F7B88600FFFFFFFF2E443A5C79756E68615CD4C6CCA85CB4F3BDAEB5E7BBFA5C67696D62616C5C557365725C6465766963655C61692E63000000000461692E6300000000D9ADC200FFFFFFFF3B443A5C79756E68615CD4C6CCA85CB4F3BDAEB5E7BBFA5C67696D62616C5C4D444B2D41524D5C737461727475705F73746D33326634303778782E730000000015737461727475705F73746D33326634303778782E7300000000A5C2D700FFFFFFFF2D443A5C79756E68615CD4C6CCA85CB4F3BDAEB5E7BBFA5C67696D62616C5C436F72655C5372635C6D61696E2E6300000000066D61696E2E6300000000B3A6BE00FFFFFFFF30443A5C79756E68615CD4C6CCA85CB4F3BDAEB5E7BBFA5C67696D62616C5C557365725C7461736B5C72656D6F74652E63000000000872656D6F74652E6300000000EAD6A300FFFFFFFF4D443A5C79756E68615CD4C6CCA85CB4F3BDAEB5E7BBFA5C67696D62616C5C4D6964646C6577617265735C54686972645F50617274795C4672656552544F535C536F757263655C7461736B732E6300000000077461736B732E6300000000F6FA7D00FFFFFFFF33443A5C79756E68615CD4C6CCA85CB4F3BDAEB5E7BBFA5C67696D62616C5C557365725C7461736B5C757365725F7461736B2E63000000000B757365725F7461736B2E6300000000B5E99D00FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000F700000066000000A005000053020000 @@ -1806,7 +1806,7 @@ File 2882 - 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000000C7961775F726D5F6D6F746F72960000000000000014000C7961775F726D5F6D6F746F720A52435F726573746172741372656D6F74655F636F6E74726F6C5F696E69740C4253505F43414E5F496E69740A67696D62616C5F636D640F434D445F47696D62616C436D645F7401670543414E5F740B414852535F45756C725F740847696D62616C5F7412504F534954494F4E5F544F4C4552414E434512566973696F6E5F50726F63657373427974650A4D4F544F525F524D5F740F43414E5F636D645F545249474745520A434D445F486F73745F7408636D645F686F73740E41495F4E4F544943455F464952450A43524331365F43616C630A474D363032305F504944114253505F43414E5F46696E6451756575650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 + 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000000C7961775F726D5F6D6F746F72960000000000000014000C7961775F726D5F6D6F746F720A52435F726573746172741372656D6F74655F636F6E74726F6C5F696E69740C4253505F43414E5F496E69740A67696D62616C5F636D640F434D445F47696D62616C436D645F7401670543414E5F740B414852535F45756C725F740847696D62616C5F7412504F534954494F4E5F544F4C4552414E434512566973696F6E5F50726F63657373427974650A4D4F544F525F524D5F740F43414E5F636D645F545249474745520A434D445F486F73745F7408636D645F686F73740E41495F4E4F544943455F464952450A43524331365F43616C630A474D363032305F504944114253505F43414E5F46696E6451756575650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000400160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 1423 @@ -1822,7 +1822,7 @@ Build 972 - 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000002001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0000000000000000010000000000000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050000000000667696D62616C960000000000000001000667696D62616C000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 + 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000004001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050000000000667696D62616C960000000000000001000667696D62616C000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 583 @@ -3603,12 +3603,12 @@ 0 100 - 3 + 2 ..\User\module\config.c - 36 - 7 - 18 + 9 + 21 + 22 1 0 @@ -3624,18 +3624,18 @@ ../User/module/gimbal.h - 0 + 16 101 - 107 + 114 1 0 ..\User\module\gimbal.c - 36 - 319 - 335 + 16 + 13 + 24 1 0 @@ -3643,7 +3643,7 @@ ..\User\task\gimbal_ctrl.c 16 - 14 + 8 9 1 @@ -3661,7 +3661,7 @@ ..\User\device\motor_dm.c 21 - 366 + 374 380 1 @@ -3670,7 +3670,7 @@ ..\User\device\ai.c 1 - 11 + 13 19 1 @@ -3679,7 +3679,7 @@ startup_stm32f407xx.s 0 - 167 + 169 174 1 @@ -3688,7 +3688,7 @@ ../Core/Src/main.c 0 - 74 + 76 82 1 @@ -3697,7 +3697,7 @@ ..\User\task\remote.c 24 - 1 + 12 18 1 @@ -3706,7 +3706,7 @@ ../Middlewares/Third_Party/FreeRTOS/Source/tasks.c 0 - 3424 + 3426 3432 1 diff --git a/MDK-ARM/gimbal/ai.crf b/MDK-ARM/gimbal/ai.crf index 103abbe477d3a61d028e8b18462ddf06fc6b50af..b111d446f7aa4d61a850ffe660e409ee17b37733 100644 GIT binary patch delta 3565 zcmZ|S3v|s#9>DRL$m8ZOxk4g|2nJ1?R*LmnuWB9=E*th?V^Ph?CaFy&lIGDIcH8?8 zTGXRx`4f-OQuV6MO}R?DTS_feRuyq?QLMI9U#iuv*M2AWM(VVib7szGe)G69^Pm6R zn>}0lt=`fvyxtHZKnlmyIw_XdhA)@K)D1`X1q=Sdr`5?BbyBAQQZrH@DTowI3L)7@ zq3$|qc#^HPsYVYYc15iWEGViF0oK`6qy3N?ij#9HMS!P;Q1P9lh|rOef^re;Y26et z%8GId3$u00r#&rw@$L*2TvS|MTq=Z>k!B2VuJsQVp$Cg%us|KrgGK4V8Y4d$Y>uau zZ?Gs@hA@0~UXj>+SCH;H_^v0msb%<`>FBCKRK>DMiw7G$vNzYtu)>_OiP@Do6Z0!d zM7786|72>K<&}$Ro=BnWOfGp)g+zZ`}QXjq&25{0TY2aaUaLjj#R4pT&LcGaI)}j}xxP ze=@(YIJcmDvN+{wQ`(N{?1awFk);NiQbw3Ey)S71X`m?` ztxS2;o$`cnK1j~C5-N=jvZp(}(#VPnou#|jO_}Xpv%q*Y*mzNovxuzDowdZcE{$zE z;3i9VkE=Gy0(w;Iz%rdJ*Vzi4)#z-M&Q|N}C7rF&*;=xR+g2FaGOU8)lcY*h&ax)1 zG)A^Cb&D#UO(h#WWB*En)SMLN-oG;Z0AFbhcS%ujyqC(DAS%C7cMqYoFHo;M_&6FzK zN*rNNjGHS}AVC+w`BDkUJ$xk({Qa+ zUic1NCsjSv@5*|qj#&vK?V|#>O0~;+YNS2UxkIY$R3D*wr&Qa#9mNOmEhhF0r^9xM z$-d$Z6-Q~K>(lUuey8GN_&wsu__#l=eFE!))(hAB-4ma5QqbGjor1^jZrJO0SNsvy z <#$JX+HZx=U_H4Q{ITEB-sa+LtxSnDWlEHKh|;-QnM$M70QD#jnoKE7NG47NGvb27OA2cVj2~%*P$@qK|LDOEB1!ZumJ2G38cx*~ixz z`3t5JtAf#&C{8s)U$Op_c%E;F_!_lSx6n7Jy}E&}ppNPX^eyV7zDHM4XLS{Qhwf2V z(Dx`oeT}Z6d)1fd2b8EjM?a$b)kXAQ^nm&lT}NHi1+Ozi+<-~yJi(jjL3I}0LS5Av zbQ^W!T!jeJB~!Yqv8W3Did_j2Q&A6L$wMrv0AtqjyL5x_!7)BWet28ay8C{Yv5C+oX#7t z7Eb5vPQkBWeT$Xgby(ld6Y#5erF5EdJcacX)>H92yaDgReep(o1mA}@VGnMHH{;K+ z9lwUJ;ahkMt_m<^DgHa2hx2ePUV_J97hZ}-<2omWY6^d(@H$?G|A4pRT{sDE!~1Xo zcH_f19&g9TaTI<7U&6QX4m`b?DRc2o{0z>)Z{lZhHhv4wz)rpTe^8i7VI2M^o`v;H z-^R~jJ=0xyHr5l}jptxJ(Rc7%taok?o`*-`z4&>Y$y0yVB{N!^G9y|!cuxB$b@n~p zf4Q78Bf)pB_7m=6$}O}w0Fz9)nWO!lOQyG1?a)EgLA6EiBcZWe9u9K*{(mxfhGiwheW}@FGuaAr1N3f467s69ME`X;Y-R60_*u)v1^%4FU_A}*d zc-9xyJO}wHGQ&#C;`@#tBvsawEc=5|A>y)24vADjwD|(D#jC8HS@y(k(WYER@Crd# z4ZrnqDf7STl0zf8UTxw#L?_E?HQJsSNXv!Rpwaf2Jnlr7bcCv#w7!W9bsgP8&DD?S yHVRYMxKGSFeo-h#Yw5dk9Pxb9M~W(6lv}6aBI54RH!1(m(YB~Qkbmz)r~d&s%VS3X delta 3538 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 F{}=22Tpa)a diff --git a/MDK-ARM/gimbal/ai.o b/MDK-ARM/gimbal/ai.o index 9e5d93a3cf2d7d78ce2642870bc06df577b54c1c..cc342831c9d8678266f318ad3a1ee736b5ee7863 100644 GIT binary patch delta 2052 zcmaLWT})I*6bJB`{bEjz3v1XPT)VrU|b?G^>oRgeW1>ndtd z6F;(2Y)t=BsSyilZA=pq;>M3AB_T!)wG#CKA+1X&+90Gv~~l zxpVjK>4SMk59YNd%hv7`t1T%fIoqARC{;+|^_CTv6nVYLsoCyj?wn-{a}E{RjuhD> zg@M9IVWKcoSSX?>tQ5Rv2E|N@XbO9{$fmyEFFkmAL|u*xN6EL08`k)0wp3Jm3rY&T z0pXD0t4CF{(Kv2Rz>1JciWjdI6qkI+3qCMOzcJ$y4uw?KoV&KQPG3!H7WJ*H5{@5*!4>Ols0#RNeLLw%wwdV|r{7m89H61c zS?#OwQNGDybcM{$ZNBP2RlT>iky1mHx@LAxj^8&MT@fl*RaI`O*t$bF?wX9QK8r|o zEH%BlD{Xmckv~hL@r`C&`cf6kp08V#C%mv#-H4O^aHLD!wivUQEDHa6QAI5}&|(t8 zP$a||-Jf)m%~N@|?rPmSc7YK4b$?*j32{~Tw(f}T3*A|ksde*oS4^29%JoEp?q6)4 z5dY}fqi9|#M0$ANBb91!xHoRgcDudhTY?pP3Vbz-D?Q=vQFTkkE!{p@*jmz9vSin) zkJk7-UjIV$K2~wzuE**~lH>ISxD%%(BKd`~hP_6u)D-)Ab8kLmh8B-=QJO708l^q3 zPtzw%eRBVIw^cKTb7yOLGpE}fdRyCQobF=d>01AE=S@Ag{~c;Nwperi_sL1&Wy`g1 z-jz#nf4k(OM^REiySq8vk3nV_vWBYTZAyfub~mAvGBOE4CKDZ8?>VEyr+CV{ zpK{cA)hdhwJTAGk`k((q`6`ITU^E-T{vDxk9H2-ys#64%ot=nu^IE35K5VA2r_->APmp1 z<5s;k*B-g9gj?@v!^id79C}BI4YbgMd;%*Qv}gnxv?P4Sqjny(@~DqSGJp|Y8-guB zn2^Opqnv;{pqX$uprujA3!E>+0J9zwOeInpi6#^?r%=aSL>tqGUS=3i2z%s)63O~A zuEcvmdV-u?RL(^OQ-)*AFuDoD^ILeZi{3~Rbu^`e+n9UkWybJ?iABs_q8~Yo2^CBCt z>BmiG6we4lWC*kO(ebg!-$&U1d`t)@nK4{uhB3lK!?vHG8!}}mCsgDQCD!V{L$t)- z4cctF!-dJxL;7gxv*b@RRxbrG!J9)!IY4xxnCV9yGm17sMII@Uu6N9o$O}-%G(6!I dnTYv+^xH^@r9U&tA{>^Laj> z=Xt*Oy~77{j~~qKidRneCq$U6S@9WZ87mTnBAm{O;?hE=Gd?jRZPoJStJ0r&qtJAy z(4^4N(a_T{&@j>nqY+Lcf(EadM`Jz>GmXe#p-FzYPbt99hvZ<)SK-Rz`m!~i>a8xX zGrzRJ=@%AD@YBPxRj+R~S@B#zT9a%(SGCvcY;^4rmR_N=FA@(bic4SNinRu%UY|0I zhJZ}Zo-~!%Jk`5|rPZLb3tM%qzqUbGj?shlpSl+-E8SaN+jesCut90kr`()Z1obVs z5WffH#)$g{rA^VNoJU26Ow)Bl;>`|uTM416Q*PG1EpfF|#wi!^Q>R?L|6;h#zJRuI zR|?AoI$gBQSLv^-_0&-BJw`gMtFoidZM(oJEgEp8ua#|Fp+4WbcL&?;8?i&edHth1gTHX|5it+#$f7VHFy4_s+*rs*XbX1 zv0F*%=%ezTZ1X9)ss&vMYvL>+LcU9RjJG9Ulz4fU1r?UCB+~3wbxMjw0yUdeI}&QCEQI1Y>WQ$K(^5DDI`h>;B_5YKGk_^(6Qb&9f%pA? z7j(fzA!QNT8M-+y82y0Wi`Jn4NJpv#9GdFsa37+73(zKo?ls2eK=slTy>N0Hbsb=K( zR4Wef%+0g&JPYvbnol*L&!;++He9FWw97rNs`FFa;itG2#eRxAP|xJx1XF>_%qC1R zenjme0?200z{OlbJ2QrUCWISAqrWn_${Y_>s;8u#q`~Rzhd~78mwXQ@Sok>AK7~ z5*i7*E0c+OW(+5o0$gUAF~!_PR1>%P4y&4|O%7c2NE^2^ljvt=aD$;w{&iv;$xJlL z87mr@A@t7WMi@7ynP$W`6K9ae^ufanp_>`UAafTJgw8yUc`dZP1L-XkZNo;U2d&Hu zK4L<+&RB7ep&RZa+$bib`IZz#+V5aiuz9z-1Se(_6ZF;6cgf#ow1OXe>SF3X#ic!n z+D{B1n;D0Txr=r}nr};yr1eWx@E7;H!TB602Z#zJGhUQ4ZD?c$(985-go(rS0d?Wu Dexg_q diff --git a/MDK-ARM/gimbal/atti_esti.crf b/MDK-ARM/gimbal/atti_esti.crf index 98d195c30175dddb951663150c489c1c5192d578..d57bfca5361121ab7f11a222a2d0d9126ba7153f 100644 GIT binary patch delta 2460 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 R4fdmi7Zr>Xfuq`re*rAG-LwDz diff --git a/MDK-ARM/gimbal/config.crf b/MDK-ARM/gimbal/config.crf index 234b4a595f0431c9eed7091830d90acdf268bd74..fc7eb8cb92ce792ab214024de421ed59de6cc48a 100644 GIT binary patch delta 1875 zcmZ`)ZA@EL7(S=86fW&8u*w*2gC(n7_ zkMo}QyuFMZUGw_UHP#u4F#~7i^HI(o8MPMLq|U)JpQkeXS$CG&x=L*v%Yc=FWyCUJ zrDB<}(y-FiQk!(PR4J;GN~GL@C^ve1A$CJ~s!Cc_k$DXJc4r&Aq1l*NS-{zX((DPc zf3&-jiWKlUz1}+V3}{(#y%@Pteg2@ogbo3qg!YG&P< ztRD?aiYv%=Xv>(8QJn!o8lBk`^07*~RxZ^HHMQB<;`FhHwM-@opmAs>pWo$X2lr+* ztx)DGCDZyzXzq}=g}svKoduH7UGHL+#p^=3<+=gQ9>2s&Buo#ugUx^kxalQvWJ-pOYIi4dW+vY$UgX68SgF(;CmW-N(-h9oD`0Y5 ztaxEi!)d4V+0qitUQlp0J5TRPL8PRisS9Iz|7|MyKA;`%mV!CI=}Rx$@Cg{focv(HF>68;1+dDx73|#3Bj)wt1ZIkl)rkUDqDm? zI|w=fm%D2BOIR6L7PWT2_4nh_J~H+IO4W_!a*;tgL4pccrS5u09x{}?MM5vZL4rdB zhY8*$c!%I!f?yga)I jFoC#7V-|K5I*AipL}M9jJ_@@ipXA1yGe-OqWd;8M8xl?7 delta 1881 zcmZvddrVtZ9LLY;T3Rk}d8{yA(F0LKjENIOv&^P5%?!!p>0^IsEpSH~TFRh+Xbe>} zOAN9Q0#}1BQ!+raIcOqxj7Q8CW1`!1DvGy`ZO%F8#!#{>#;Ec8Yj0s>G&#R~?)UdN zzwW;Ur!tX`+^Ev*4YI%W%r!-7^?QtJEqZ!P-->z({y;F$!fvXcR7%^s#*JcT zDi&>o6e?z;VsYiRVj(>vR?Ln_D;jav``P3=5$Plz*R$6mQ&!s{S20}Kn4cP`l8W8O z!aUjMX>D|Ocp8XbeKQj>j%tEnqdlA2{H&agl}*Egn$YZN@%Y)p zdKwdj&^R=UKTxl*q5kxy9Cf)uvh13JrnLE5*emhbB||bRb@eQ1^|(-OJ8p|^j~yZ( z1ruA9U~|CR6l6!#v%R*QE*k%1Cy_usd72u03UkIUVO0kv3S=VdMy6& z`1Ghw3e|5{e1SS|u#=tDb7DPpkxwQcj$qU~ye^OSSdYz)F(<~O~D)4;j*@LSuw#)XF@yLFRPd%z&e|C;8mJ&&^VY<=Rf8QM{ z#on)PS&L1kSn3{!XZ;&`C`ZK;Nsn%@mEMTY>xX!2wYBHP4@PTK@z$aWrOxVEvF&ys zGii_47gSo@fwmxT5l9jqHqe@+qmDXI#hqHF*8C9-lk* zNK3TBXQTmB;t~&Ws|fKE+NZmv=eF3t#JA&nG7Drb!8B?Q1*9p9r3YM~EeEBVT+5r_ zB<+d)(*A_xcEojHy%^$G)r$jCW$LSx`Wl&Tn9KW|gA!H}Rg9?X>1g< zS2%)*qEXzVPFBf|Y%BX1dZ)M&NoGeuFA2vCyo#DsE$_&+u}Ns%TznfzVH)stE*#VF z*QiRhT$J0x#b*&4n}Mg7ixa?EU>_HA>S(oGVt$*8u)0WefQwNzvqmnucbJO<2t0+r zLtG32PXkA|cn5d}IL5`GT3aJOZJyxb4fQyZx~913ggXNFG#Bl_pMW!51S19P9B>Ye zZE)9)YiRb_NFrNA4EZ_uyul270elMjf8dLTPW&^Np3MsQQn)Mj@h3ihfrI9E1AN)w zCGf8XUk6_S(_LKv|7P%c@Ku8s!M}s4xq0w4gTISd8D6$^v)Bn*0@;NtVrMrV1!f8B nT_Ntuz@i&^1Q)gpnKaB{B9g@Lzv;>lu32vWcfpLmQdamsBC}02 diff --git a/MDK-ARM/gimbal/config.o b/MDK-ARM/gimbal/config.o index 12a502e3f7a2247e4d66d8b14c95c46e3ad57017..afd78c4c6d97359d45359db2fe1066d1fbb851e4 100644 GIT binary patch delta 1921 zcma*oe@xVM7zgmrhr5G=;PX8$&yJw;5T{7#?l^yd<$`I(l>{u=V42@L`FRTRqcgeH zRAyVaRfBYUAJ`w^YQr@el=+2K4*qG`n!{-u$kueNrOmZyZGqbAd5*93hqC(P+3WLp zKF{<0Jm2qbyP=t_@tLi?URg7m+n$zF>@D;aZd@s((Dhxx@@I72yRy)?#aFx~P<(7S z?akpdNs&Zhp|DceD3U2sDC`ue6kPWZMLI=>F`TASdgKOt_O2Rt87XpwrSjQG>)vpS zzO8(_9u-b$96O=9Et`I|yFE>@&Nku5ltLus2~WepmQLaLNboLQ+-nP#S94p1Rkm9S z&f$3||K`i7Wu8duLE&t-a${>-w5?M(-=K~ApS~Rp4fT7&b^E#boK?mw1sCxtRHyxx zRUVU;0$^QS`I7FYLyxN;gc6C&mz-_DJ;J#w!X=W3pd8DNp0i zew7_;w9$oBQ7@dJkIYT zw#4ysWks(Bf;HvA*e2x6s>fW1_9gQBb_QbA`?tTitEotD58%kGa$$u_^BX5;)yeE- z52}LqXSKq3=?_&Sm)-w#J(@W8*0mjIj5MvUTSYTGXv9Pnepyh-#^Vdht1U6m=wB+^ zc+IW_rRza=1;7Ql|8?17nc+**;_1%&-^sYTT+3SO0{W7VF7c74+?vbS>DG>@C8qa# zv~1(f>ZPaWg8wmn;yEMv+6MtygzDW|p1g(FZf#BS-2o-s0^bL;JnJbXCeXT(4zFO2 z4&?~4UM40`O4zQvr$o=<`EK;_fgR(F1J{|eNZmt>!Oyr+%jBb*@!<>;!X>5|3rrlj zI`KY&%oIA9Y4j6_>smU#)wLW<@alJ7-QZPDh*pk}X2nw>Z52H@9HOo=9A|nl%EU24 zU?fEK>0vEL4qInL%IYcElPQYM55a}<3{9OH}^ z*O?-u))5o%GhL`%TT6TJvBL+D^8(9cX`k}1JWW(=7P#1x7d z2f|Dxjx)^|W$c(?x*!{g5v*nMQN@%X#A?lYjXB1LtR|ucrHlg+rVM>dCB})2 z`6>QQ2=N5{1)Rs*d$eq-OKqltIQ+~AYME(tGuLp2$e6$MZ`b8}T?<^0kK71Rf*@0a z4rUDf%oHXWA8s;UWbPv>QOwYLGjSYeN-)awVuqQ5+)v!VT1KFX@gl}FV{mbIfr(>| V8ADbJF^y8@6GWKr(AT0p@;4eQEbssT delta 1929 zcma*oe@xVM7zgmrm*e0L@$-etGYC5Gz!|b~_XFjQa)a{MRp{ALv6){^JmBEy4nhUD zW|wZ^$|Y*O0c%OC?Od|KT>DCMimeh`Ygqq8ZV8JT7Jq1eRBX0-p5v@Pl+_>4UZ2nN zJfF|^`F?lX^^C7hjITawR~m;Lv8+O`-R*R*EE0;)v}gU*YcMxwTB7aIHeq>_HiiG3TNeuL-W9BC z=EIlMmHmd&>v#{c&Gcuwa!4_hCQ#TTooPoFVq=f|L79QOSMIdGCM#_`M9x5RE@6v> z+wW}bqVy~Vd*!3bSN;$_2%6-!ZiGNx$+L^gdap&-BTk%$emYL(WG$ z;&`jecl=~pj$ZVE{M>Wk-E{hP8-zHM@?uJtaV}q#a$Cw*SdS2Iq#R~93Grph>nVRt zY0j9dJ5qX62IedkO{v78l)tf6LKrgVw6R-+@af&-vO=*&+w0v+ZwaM*^Ha}Cd zO6%}o=sUT1apMZNRu@Z_BhQul_C6V^+qTY$>}&EtYjsmH|M)(w)w_Rh!`7;DE#^V= znzTZ-sxJM|HF=_7(Y?Bm^Rrx{KlQt;Q5M~OyVjnp+v}n))Q1~Z)GehM?loev3*XPm z4834h+SPdm>iY;UzCs|pNCOPYcc^46Yi-}=7 za};qVfzyl=SD6i%WyavBBf8*cj-r)0hhAm`mzWrCFg?iKO`L*{Ifo!KhQrJ>hL`}x znNcVqVgkz(}i2i2=eO*FRGXT!pzI)W_mEplwgvngt>uegp09b zJ5z%=Q;XAtG+pH%gAfnXpTPxzjm>HSX1Sh#qmdYapP5E0a}&LUG=2T=p>I-$ZgAa; z+%OS9#QZA8{ma5CjbBd diff --git a/MDK-ARM/gimbal/gimbal.axf b/MDK-ARM/gimbal/gimbal.axf index c5ca8108d63cf2b7810e7f4ff27e5d68b3e9cc05..88e9eb44d4254057819d40d0f92c60e310f52ecf 100644 GIT binary patch delta 16798 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 diff --git a/MDK-ARM/gimbal/gimbal.build_log.htm b/MDK-ARM/gimbal/gimbal.build_log.htm index 5fc709e..74f2bcd 100644 --- a/MDK-ARM/gimbal/gimbal.build_log.htm +++ b/MDK-ARM/gimbal/gimbal.build_log.htm @@ -31,6 +31,16 @@ Note: source file '..\User\bsp\can.c' - object file renamed from 'gimbal\can.o' Note: source file '..\User\bsp\gpio.c' - object file renamed from 'gimbal\gpio.o' to 'gimbal\gpio_1.o'. Note: source file '..\User\bsp\i2c.c' - object file renamed from 'gimbal\i2c.o' to 'gimbal\i2c_1.o'. Note: source file '..\User\bsp\spi.c' - object file renamed from 'gimbal\spi.o' to 'gimbal\spi_1.o'. +compiling remote.c... +compiling atti_esti.c... +compiling config.c... +compiling init.c... +compiling gimbal.c... +compiling gimbal_ctrl.c... +compiling ai.c... +linking... +Program Size: Code=62308 RO-data=980 RW-data=712 ZI-data=34272 +FromELF: creating hex file... "gimbal\gimbal.axf" - 0 Error(s), 0 Warning(s).

Software Packages used:

@@ -54,7 +64,7 @@ Package Vendor: Keil * Component: ARM::CMSIS:CORE:5.4.0 Include file: CMSIS\Core\Include\tz_context.h -Build Time Elapsed: 00:00:01 +Build Time Elapsed: 00:00:07 diff --git a/MDK-ARM/gimbal/gimbal.crf b/MDK-ARM/gimbal/gimbal.crf index bba4ee0189420e77791c4cac3fcd127acb71ab46..304aed9e1037859504a126c432b7da590d0917e4 100644 GIT binary patch delta 4093 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 M9yLk$bDzZi2W4O5+5i9m delta 4147 zcmb7|d0bT2702(rJP@AnL{vnA@T|^%G_JTXMASBkTU=tQqB74mZdDVvBxZA~{oOYUTJ0b8!@Zw#zGr#&p1aM* z3l%*}Dtm^VlL=vz@Y3y+tSAd>EuTDc{7?|VznEf^(?p#n<}?L3O_I|T=rjd6O^uwU zV5cc$mr16)h1xuh5@~T2mGjNEoSclw=80sHmcZpiIi|ddO4+tT@<gX(5sRse(K))gpIu&jezSEF|Ar zFfKQHYyqixpC?CZEBnd8_7CANhGQO^m18A?ef59Y$8&AgEHg=aii_%a{L`P|9{-`f z!ihX#BL4(yPHtv)!DMpY-O4j0VN&eEh8cMCxt@v>-|@#?cq&eq8p3MbFEr!~Z&)YK zAP@czs~Bpend}z@7rXGBSOx4H3+W~HX={7%0q@?r;w!j8@NIHktfvSPBp8J?_WLiN zp~5%O-Lk6-)mPOX1 zHu1)0gznjlZ@a@tys>A`8ZLVzhn@X<*|HrzYzy$Z|;IRayWq zQ80cHT`#>6!6Qub)n59`WCf%G&DLK@%3KNq-f>!}Ch2X+Do7Jl-k0(k%J@OF*^Kg2 zXmyOv*Q3d5I80PIr+gob$I;Hg=w@`7-h`}yagxgGK+jWlNAF42f=t$e1}NR*{-B4F zbx{AP(mfc^b$k~OIW1B<>anB}(iH7?1C&-FYoV@(YS)UO%4K>C*#Ol+wG{)D7M2L4 z`2cz`Re5oMG#u(is8gXnWKtc}O;Agqz84^IJ&bIII*qEd7AflVV1j#-&ZKID9!|DG zoCVMOl=26Z&C&alZ9ucNsDVnKmXUg6QU!GmJf^TTJ&|mOHdnI^RJsQ4hVOQ5)j*|h z;1WZ;F2qDb?3xNOOz#GV38~62;um90b|AD2iMmnVpYb;tU&!c8j0O)sosZEW`!0wJ zw9iwOt|7Pe7fChLg<5c$(!TR+D2WTIh6E{$&qKxMqpe^8d_9wREu$CoKBNX7i?r9% zlpcYVx{1_i^V5_BdlEi^Cz~#z>JNGZ*$r_i(sY;jTN1BgQaxZT;4(my#NUzl4kn!h z+yl5AFj3;~O1zp$M*#N%mIEe9e3Zm%nDhyjeIMXTz$}TMW>RaAzk;j+u}Z(;Cz%ur z^f#c@Kw~6c&!ljWk3iOdWJ~-klOjMq23ZF(R?JE20P+b)1;{vw?`4vzCz1Ui>$N3= zlx~4P(>s#=+KE9*2ii)bgO!#M!Q>Fko2Yt5SIJ?Bo3+@%O7xqxdQ0*t)GbJ5XWW4e zx)lXPdtHwrM_}0sixYS{+5wo*UV!N+Oxs{80iK3-0w%N&y&pLSQn4GcXbUMTSkO!_TG{yE@> z9&d02z$9W|7IBBL%l;0RTDUA?jBDvbl$Y99Vz{9EdkhgLK^zV~BY=uyuvSkdClRnm z+b~4w8Mq6(Kz!5L9A>;Z~kHK~U`VH7(V8fGQ$ov*l4`C%PRne3v2i=B(UxtVm z0%soG19Tl>zXFIS;{%BQg4o7EDh!uLDU~&y|TL)bYeBC3ig7_uGcDVf^e&rFD zqYC)Z#k=4-Lh`OC^-XQTD@sD=d3rN)6Bb;Z`0H!@^~b>tBey*M;%cCG5pY}k76F0n z46#!>#79{1+uFP7xK}>YdqAvASCS$+>oU26*pVuKgU0Kf$=BMQbfr_^26%s?wH^lV zj(R*q%P{3d`&ew!Z{dv{$z8bcYACe;-38hMv=?X}rNe=~1KJOC0O%m4J%GLkItp|Q z=s2ZuKtBMT0y+&;M{y*=$&Wy8ARXvD#ax<`pMWj`U5*30igu0Cjc~o^W(?sWTpq)v3P)%Mqpg4*c~Lb`4WkOszk!OGiffGFcB3PJ9(&PQpn67A zfgG9JDKCLrE!bX0AAl7DIe|XLCl51v4Lf5h&~%_oZb` O4*uz!g#RQUasL6E*#B?< diff --git a/MDK-ARM/gimbal/gimbal.hex b/MDK-ARM/gimbal/gimbal.hex index 3a03bf5..26d606d 100644 --- a/MDK-ARM/gimbal/gimbal.hex +++ b/MDK-ARM/gimbal/gimbal.hex @@ -1,5 +1,5 @@ :020000040800F2 -:10000000B088002029030008259200082D710008FF +:10000000A888002029030008259200082D71000807 :1000100091900008A5270008ADA40008000000008A :10002000000000000000000000000000690200085D :10003000772A000800000000C50200088D9900081A @@ -52,8 +52,8 @@ :10032000EFF30580704700000948804709480047FF :10033000FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE795 :10034000FEE7FEE704480549054A064B70470000F2 -:10035000559A000889010008B0820020B08800206A -:10036000B0840020B084002053EA020C00F06980C1 +:10035000559A000889010008A8820020A88800207A +:10036000A8840020A884002053EA020C00F06980D1 :100370002DE9F04B4FF00006002B1FBFB3FA83F5B9 :1003800003FA05F424FA05F65E4012BF1643B2FAEA :1003900082F502FA05F4C5F120051EBF22FA05FC1C @@ -95,8 +95,8 @@ :1005D000CCF1040CBCF1020F18BF00F8012BA8BF2E :1005E00020F8022BA1EB0C01FFF7B6BF5FEAC17C3C :1005F00024BF00F8012B00F8012B48BF00F8012BA5 -:100600007047000000487047508200200048704743 -:10061000508200207546FFF7F9FFAE460500694697 +:10060000704700000048704744820020004870474F +:10061000448200207546FFF7F9FFAE4605006946A3 :10062000534620F00700854618B020B5FFF78AFE34 :10063000BDE820404FF000064FF000074FF00008E3 :100640004FF0000B21F00701AC46ACE8C009ACE864 @@ -689,7 +689,7 @@ :102AF0002978204600F034FB95ED010AD4ED020A56 :102B000020EE209A95ED020AD4ED020A60EE20CA6A :102B100095ED010AD4ED020A60EE208A95ED020AD5 -:102B2000D4ED020A20EE20DA94EDD80AD4EDD40ACE +:102B2000D4ED020A20EE20DA94EDD70AD4EDD40ACF :102B300030EE608A9FEDDB0AB4EEC08AF1EE10FA47 :102B400005DD9FEDD90A38EE400AB0EE408A9FEDD0 :102B5000D70AB4EEC08AF1EE10FA05D29FEDD20A80 @@ -735,14 +735,14 @@ :102DD00030EE2C0A84ED0A0A206990ED620AB5EE05 :102DE000C00AF1EE10FA0BDD94EDAD1AF0EE410AD7 :102DF00094EDAE1AB0EE410A04F12800FFF765FD2C -:102E000094ED021AF0EE411A94EDD81AF0EE410A50 +:102E000094ED021AF0EE411A94EDD71AF0EE410A51 :102E100094ED091AB0EE410A9FED251A04F5B07041 :102E200006F002FAB0EE40BA94ED020AF0EE401A53 -:102E300094EDD90AF0EE400A9FED1D1AB0EE4B0A50 +:102E300094EDD80AF0EE400A9FED1D1AB0EE4B0A51 :102E400004F5927006F0F0F984EDBF0A94ED021AD1 -:102E5000F0EE411A94EDDC1AF0EE410A94ED0A1AF4 +:102E5000F0EE411A94EDDB1AF0EE410A94ED0A1AF5 :102E6000B0EE410A9FED121A04F5EC7006F0DCF9A1 -:102E7000F0EE40BA94ED020AF0EE401A94EDDD0A4D +:102E7000F0EE40BA94ED020AF0EE401A94EDDC0A4E :102E8000F0EE400A9FED0A1AB0EE6B0A04F5CE7020 :102E900006F0CAF984EDC00A00BF00BF00200DE6AD :102EA00000247449DB0F4940DB0FC940DB0F49C0E8 @@ -796,28 +796,28 @@ :1031A00004F0F2FF9FED100A04F5377004F0ECFF15 :1031B00004F11800FDF706FC94EDD50A84ED070A2A :1031C00094EDD40A84ED060A94EDD40A84ED0C0A39 -:1031D00094EDDC0A84ED0A0A94EDD80A84ED090A1C +:1031D00094EDDB0A84ED0A0A94EDD70A84ED090A1E :1031E00025750020C2E700000000000070B504460D :1031F00014B94FF0FF3070BD2069807B022813D1D5 :10320000216901F10A0005F03CFC216901F10A0085 :1032100005F049FB054635B104F5517005F108018B -:103220004EC91C304EC000BF20698079022811D1E0 +:103220004EC918304EC000BF20698079022811D1E4 :103230002169881C05F025FC2169881C05F033FBF9 -:10324000054635B104F5517005F108014EC92C3021 +:10324000054635B104F5517005F108014EC9283025 :103250004EC000BF206990F82000B0B9216901F18B :103260001A0005F0CBF9216901F11A0005F022F8E6 :1032700005464DB104F55170D5E90836EA69A96AE9 -:10328000C0E90836C261816200BF2069007EB0B922 +:10328000C0E907368261416200BF2069007EB0B9A3 :10329000216901F1120005F0B1F9216901F1120073 :1032A00005F008F805464DB104F55170D5E908362A -:1032B000EA69A96AC0E90C36C262816300BF20696D +:1032B000EA69A96AC0E90B368262416300BF2069EE :1032C00090F83000B0B9216901F12A0005F096F9B3 :1032D000216901F12A0004F0EDFF05464DB104F526 -:1032E0005170D5E90836EA69A96AC0E91036C263A7 -:1032F000816400BF206990F82600022813D121695B +:1032E0005170D5E90836EA69A96AC0E90F368263E8 +:1032F000416400BF206990F82600022813D121699B :1033000001F1220005F0BDFB216901F1220005F069 :10331000CAFA054635B104F5517005F108014EC9E8 -:103320003C304EC000BF002065E730B5024612B900 +:1033200038304EC000BF002065E730B5024612B904 :103330004FF0FF3030BD02F5407091E83800443066 :1033400038C00C38D1E90445CB68C0E90445C360F6 :1033500000BFEFE710B5024692F82030012B01D0F4 @@ -2518,11 +2518,11 @@ :109D40001D4801F01CFF1D4908601D4A00211D48E7 :109D500001F015FF194948601B4A00211B4801F01A :109D60000EFF1649886000220A21022001F012FD30 -:109D70001249C86000223821022001F00BFD0F4972 +:109D70001249C86000223021022001F00BFD0F497A :109D8000486100220C21022001F004FD01460B482D :109D9000816100221821022001F0FCFC01460748E5 :109DA000C16101F095FC01F0E4FE044601F043FFBF -:109DB00070BD0000B4F50008D19D0008487E002069 +:109DB00070BD0000B4F50008D19D0008407E002071 :109DC000D8F50008159F0008FCF50008BD9F0008A5 :109DD0002DED048B01F017FC064605F09DF841ECD3 :109DE000190B9FED3F0B53EC102B04F08DFE41EC53 @@ -2541,10 +2541,10 @@ :109EB000134B0ECB0C300EC018380C4B1C330ECB92 :109EC0000EC01349486901F0F5FC114900231A46F8 :109ED00048690E4901F0ACFC204601F052FBB2E7A4 -:109EE0000000000000407F40147E0020407D0020E4 +:109EE0000000000000407F40107E0020407D0020E8 :109EF000A47D0020907D002070F50008BC7D00202E :109F0000B07D00200000000000002042F87D00200D -:109F1000487E00202DED048B01F075FB064604F011 +:109F1000407E00202DED048B01F075FB064604F019 :109F2000FBFF41EC190B9FED1E0B53EC102B04F0C3 :109F3000EBFD41EC180B04F0ABFF0546002001F0EF :109F400011FB01F053FB0446F8F7D2FC06469FEDE7 @@ -2553,16 +2553,16 @@ :109F70000E48F9F7DAF90E4900231A4688690E49A6 :109F800001F0C8FB0948F9F731F90B490748F8F720 :109F90008BFD0648F9F78BF8204601F0F2FADDE771 -:109FA0000000000000407F400000FA43987E00203F -:109FB000487E002028820020448200202DED048B62 +:109FA0000000000000407F400000FA43907E002047 +:109FB000407E002020820020388200202DED048B7E :109FC00001F021FB064604F0A7FF41EC190B9FEDC1 :109FD000150B53EC102B04F097FD41EC180B04F01B :109FE00057FF0546002001F0BDFA01F0FFFA0446D4 :109FF00001F000FA02F07CFC13E02C440B4A0C49FF :10A000000C4802F031FC0C49886901F053FC0A4904 :10A0100000231A468869074901F00AFC204601F02E -:10A02000B0FAEAE70000000000407F402C7E0020EC -:10A030000B7D0020207E0020487E002070B5044665 +:10A02000B0FAEAE70000000000407F40287E0020F0 +:10A030000B7D00201C7E0020407E002070B5044671 :10A04000A56B0020E8852846FCF796FD70BD00BF93 :10A0500000BF02680C3252E8002F22F490710268AF :10A060000C3242E80013002BF3D100BF00BF00BF49 @@ -3954,7 +3954,7 @@ :10F7000067696D62616C5F6374726C005461736BE6 :10F710005F496E697400000038F70008000000209F :10F72000C8020000C4010008B8F70008C8020020A1 -:10F73000E885000020020008C132104201037D2448 +:10F73000E085000020020008C132104201037D2450 :10F74000F41AAA0101180530022B073D0415060220 :10F7500002DA0518256666E63E23803F4FC0401753 :10F76000B7513A0C39044ABF04332041E24029140E diff --git a/MDK-ARM/gimbal/gimbal.htm b/MDK-ARM/gimbal/gimbal.htm index 59edbbf..0f8a20a 100644 --- a/MDK-ARM/gimbal/gimbal.htm +++ b/MDK-ARM/gimbal/gimbal.htm @@ -3,7 +3,7 @@ Static Call Graph - [gimbal\gimbal.axf]

Static Call Graph for image gimbal\gimbal.axf


-

#<CALLGRAPH># ARM Linker, 5060960: Last Updated: Sat Oct 18 21:53:42 2025 +

#<CALLGRAPH># ARM Linker, 5060960: Last Updated: Sun Oct 19 20:09:44 2025

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

Call chain for Maximum Stack Depth:

diff --git a/MDK-ARM/gimbal/gimbal.map b/MDK-ARM/gimbal/gimbal.map index 6dcb723..bdc2ec1 100644 --- a/MDK-ARM/gimbal/gimbal.map +++ b/MDK-ARM/gimbal/gimbal.map @@ -4534,16 +4534,16 @@ Image Symbol Table bmi088_rxbuf 0x20007cf8 Data 19 bmi088.o(.bss) .bss 0x20007d0b Section 49 remote_control.o(.bss) sbus_rx_buf 0x20007d23 Data 25 remote_control.o(.bss) - .bss 0x20007d40 Section 224 atti_esti.o(.bss) - .bss 0x20007e20 Section 40 remote.o(.bss) - .bss 0x20007e48 Section 80 user_task.o(.bss) - .bss 0x20007e98 Section 952 gimbal_ctrl.o(.bss) - .bss 0x20008250 Section 96 libspace.o(.bss) - HEAP 0x200082b0 Section 512 startup_stm32f407xx.o(HEAP) - Heap_Mem 0x200082b0 Data 512 startup_stm32f407xx.o(HEAP) - STACK 0x200084b0 Section 1024 startup_stm32f407xx.o(STACK) - Stack_Mem 0x200084b0 Data 1024 startup_stm32f407xx.o(STACK) - __initial_sp 0x200088b0 Data 0 startup_stm32f407xx.o(STACK) + .bss 0x20007d40 Section 220 atti_esti.o(.bss) + .bss 0x20007e1c Section 36 remote.o(.bss) + .bss 0x20007e40 Section 80 user_task.o(.bss) + .bss 0x20007e90 Section 948 gimbal_ctrl.o(.bss) + .bss 0x20008244 Section 96 libspace.o(.bss) + HEAP 0x200082a8 Section 512 startup_stm32f407xx.o(HEAP) + Heap_Mem 0x200082a8 Data 512 startup_stm32f407xx.o(HEAP) + STACK 0x200084a8 Section 1024 startup_stm32f407xx.o(STACK) + Stack_Mem 0x200084a8 Data 1024 startup_stm32f407xx.o(STACK) + __initial_sp 0x200088a8 Data 0 startup_stm32f407xx.o(STACK) Global Symbols @@ -5161,16 +5161,16 @@ Image Symbol Table magn 0x20007da4 Data 12 atti_esti.o(.bss) eulr_to_send 0x20007db0 Data 12 atti_esti.o(.bss) imu_temp_ctrl_pid 0x20007dbc Data 60 atti_esti.o(.bss) - gimbal_to_send 0x20007df8 Data 28 atti_esti.o(.bss) - cali_bmi088 0x20007e14 Data 12 atti_esti.o(.bss) - remote_cmd 0x20007e20 Data 12 remote.o(.bss) - imu 0x20007e2c Data 28 remote.o(.bss) - task_runtime 0x20007e48 Data 80 user_task.o(.bss) - gimbal 0x20007e98 Data 912 gimbal_ctrl.o(.bss) - gimbal_imu 0x20008228 Data 28 gimbal_ctrl.o(.bss) - gimbal_cmd 0x20008244 Data 12 gimbal_ctrl.o(.bss) - __libspace_start 0x20008250 Data 96 libspace.o(.bss) - __temporary_stack_top$libspace 0x200082b0 Data 0 libspace.o(.bss) + gimbal_to_send 0x20007df8 Data 24 atti_esti.o(.bss) + cali_bmi088 0x20007e10 Data 12 atti_esti.o(.bss) + remote_cmd 0x20007e1c Data 12 remote.o(.bss) + imu 0x20007e28 Data 24 remote.o(.bss) + task_runtime 0x20007e40 Data 80 user_task.o(.bss) + gimbal 0x20007e90 Data 912 gimbal_ctrl.o(.bss) + gimbal_imu 0x20008220 Data 24 gimbal_ctrl.o(.bss) + gimbal_cmd 0x20008238 Data 12 gimbal_ctrl.o(.bss) + __libspace_start 0x20008244 Data 96 libspace.o(.bss) + __temporary_stack_top$libspace 0x200082a4 Data 0 libspace.o(.bss) @@ -5778,7 +5778,7 @@ Memory Map of the image 0x0800f718 0x0800f718 0x00000020 Data RO 9222 Region$$Table anon$$obj.o - Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x0800f738, Size: 0x000088b0, Max: 0x0001c000, ABSOLUTE, COMPRESSED[0x00000080]) + Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x0800f738, Size: 0x000088a8, Max: 0x0001c000, ABSOLUTE, COMPRESSED[0x00000080]) Exec Addr Load Addr Size Type Attr Idx E Section Name Object @@ -5818,13 +5818,14 @@ Memory Map of the image 0x20007cf8 - 0x00000013 Zero RW 7824 .bss bmi088.o 0x20007d0b - 0x00000031 Zero RW 8257 .bss remote_control.o 0x20007d3c COMPRESSED 0x00000004 PAD - 0x20007d40 - 0x000000e0 Zero RW 8530 .bss atti_esti.o - 0x20007e20 - 0x00000028 Zero RW 8579 .bss remote.o - 0x20007e48 - 0x00000050 Zero RW 8627 .bss user_task.o - 0x20007e98 - 0x000003b8 Zero RW 8645 .bss gimbal_ctrl.o - 0x20008250 - 0x00000060 Zero RW 9080 .bss c_w.l(libspace.o) - 0x200082b0 - 0x00000200 Zero RW 2 HEAP startup_stm32f407xx.o - 0x200084b0 - 0x00000400 Zero RW 1 STACK startup_stm32f407xx.o + 0x20007d40 - 0x000000dc Zero RW 8530 .bss atti_esti.o + 0x20007e1c - 0x00000024 Zero RW 8579 .bss remote.o + 0x20007e40 - 0x00000050 Zero RW 8627 .bss user_task.o + 0x20007e90 - 0x000003b4 Zero RW 8645 .bss gimbal_ctrl.o + 0x20008244 - 0x00000060 Zero RW 9080 .bss c_w.l(libspace.o) + 0x200082a4 COMPRESSED 0x00000004 PAD + 0x200082a8 - 0x00000200 Zero RW 2 HEAP startup_stm32f407xx.o + 0x200084a8 - 0x00000400 Zero RW 1 STACK startup_stm32f407xx.o Execution Region RW_IRAM2 (Exec base: 0x2001c000, Load base: 0x0800f7b8, Size: 0x00000000, Max: 0x00004000, ABSOLUTE) @@ -5840,8 +5841,8 @@ Image component sizes Code (inc. data) RO Data RW Data ZI Data Debug Object Name 4242 76 0 4 0 9382 ahrs.o - 136 18 0 0 0 9743 ai.o - 324 52 32 0 224 9145 atti_esti.o + 136 18 0 0 0 9727 ai.o + 324 52 32 0 220 9129 atti_esti.o 1280 92 0 9 19 12666 bmi088.o 48 16 0 8 0 583613 bsp_delay.o 224 28 0 0 0 1555 bsp_rc.o @@ -5850,13 +5851,13 @@ Image component sizes 2652 204 0 16 2168 25071 can_1.o 0 0 0 0 0 628 cmd.o 1854 56 0 4 1736 63560 cmsis_os2.o - 8 4 0 496 0 5810 config.o + 8 4 0 496 0 5794 config.o 120 6 0 0 0 818 dma.o 0 0 0 0 0 19160 event_groups.o 500 22 0 0 0 8108 filter.o 72 20 48 4 0 3402 freertos.o - 2218 26 0 0 0 8470 gimbal.o - 168 28 0 0 952 1274 gimbal_ctrl.o + 2218 26 0 0 0 8454 gimbal.o + 168 28 0 0 948 1274 gimbal_ctrl.o 496 20 0 0 0 1239 gpio.o 336 28 56 0 64 4927 gpio_1.o 724 74 0 32 24576 4859 heap_4.o @@ -5874,7 +5875,7 @@ Image component sizes 1014 92 0 12 0 11673 port.o 216 12 8 0 0 2302 pwm.o 2930 26 0 0 64 25955 queue.o - 128 24 0 0 40 7421 remote.o + 128 24 0 0 36 7405 remote.o 628 36 0 0 49 4604 remote_control.o 604 54 0 0 368 2592 spi.o 616 56 0 0 64 8650 spi_1.o @@ -5904,7 +5905,7 @@ Image component sizes 0 0 186 0 80 1777 user_task.o ---------------------------------------------------------------------- - 54368 2750 788 712 34184 1860000 Object Totals + 54368 2750 788 712 34172 1859920 Object Totals 0 0 32 0 0 0 (incl. Generated) 74 0 2 6 4 0 (incl. Padding) @@ -5978,8 +5979,8 @@ Image component sizes 380 58 0 0 0 200 tanf.o ---------------------------------------------------------------------- - 7940 684 192 0 96 7424 Library Totals - 24 4 0 0 0 0 (incl. Padding) + 7940 684 192 0 100 7424 Library Totals + 24 4 0 0 4 0 (incl. Padding) ---------------------------------------------------------------------- @@ -5990,7 +5991,7 @@ Image component sizes 3904 460 192 0 0 3076 m_wm.l ---------------------------------------------------------------------- - 7940 684 192 0 96 7424 Library Totals + 7940 684 192 0 100 7424 Library Totals ---------------------------------------------------------------------- @@ -5999,14 +6000,14 @@ Image component sizes Code (inc. data) RO Data RW Data ZI Data Debug - 62308 3434 980 712 34280 1821652 Grand Totals - 62308 3434 980 128 34280 1821652 ELF Image Totals (compressed) + 62308 3434 980 712 34272 1821572 Grand Totals + 62308 3434 980 128 34272 1821572 ELF Image Totals (compressed) 62308 3434 980 128 0 0 ROM Totals ============================================================================== Total RO Size (Code + RO Data) 63288 ( 61.80kB) - Total RW Size (RW Data + ZI Data) 34992 ( 34.17kB) + Total RW Size (RW Data + ZI Data) 34984 ( 34.16kB) Total ROM Size (Code + RO Data + RW Data) 63416 ( 61.93kB) ============================================================================== diff --git a/MDK-ARM/gimbal/gimbal.o b/MDK-ARM/gimbal/gimbal.o index 730632fb360c739e48d48bc0dd6ebe90727bc77e..3f911f2ae4cb9363aaded4b7adce0473507c7ab7 100644 GIT binary patch delta 2524 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 GE&UfrRJ`;6 diff --git a/MDK-ARM/gimbal/gimbal_ctrl.crf b/MDK-ARM/gimbal/gimbal_ctrl.crf index b87b48447cc62403f35f466f47a53470e707f13b..ac8ea75ced5d38a36a58b253eeb3b87c31e2d940 100644 GIT binary patch delta 4329 zcmZ{o3v^V)8OLXm&FhlA{2nc8Zc?cy@*MbjxqoDPH5OxI-t!)wYRIyq`+W)tA@5axM++rGWua^u){o92?n#V!h^+m zFiZK#V72igbFdP4=3scYHy{>u6VaW;CGpZOPkVYgY_h>ria;61$0$SGf88zf{hpTD z?zx`XTBKRbh^whj!;3fy5ZUnpLH(gg zXjy@vR}+EO!FzhuLFQQHe-2rT_(P(`3Li^0t-&jfrB@8)Co6WvOU%xFF=k$i7H$su zn!+N=;~HO#RdSB6WXE&XLWcr`?Gu`wrw&KU**m?Xp znm^d!3(pge#`~C4Vv`zW8&;4S@6K-h_&e!-Te|gQQ&+e7@$#-Q3%a(;oaEB~W96xq zc*J6kI|sOvHvcI4v5PmByRnjs&?e98cRy3v_iVg( zmv27%^4zg>q5V$__wnI~6ed4Vg=uB`eF2E(T{7OjLCKoFu-&{&iZwN2g}bWpUgqaU zp=Xa-K7UvXxr33gSZ=wF<(0DX8|#3uk~d4!yfZxwvqf8M$atll z;V$m5 z7HAd=dB-i??hX0aVs^P9UjEbZB27HnoS;AKY1G6Cs;PC~IL%!h z4Eut{+6hW!^hLzI!PA5rjN6u63zWQMvU2;p;&VO|mYjQAuqDjuO#V>vy2CjK*FA#! zx1*bDNJB7MG%+Ea8Q^MWhWim}&O$;IRvXTV%An{Q?NV)sghE=A6^iHLeN#(;ts5gPT7`u-TV%7 zN3Y}Kk<8vuGBNY#)4K-2+O^Npy9P1W+O=gyk9uW9zeOF^BB!Sp$(p&ya>HAX`7TL) zZ)DeeAzAaSOwSi$xB2diy;HAbWE5@ckoHDjV5Y~Pio-nPFH@CiYH5#@$`A4OSoJhz zVMfJismswhx^!fsyo-ht;EX^dUCxdD;})eRqu>qb>ib+B;p(I@!L1CDp4bAn(wUXF zn0uA!vOeb3l)SR6d(r-TEEH8nOi@;{|0-08*i%Q8AEfdW3o%rOVtbD&Eg3@|Vqpze zYq?s-)q1WraJ7-EN4RR^Y7?q)u^AsIZkdlcs&i20>axl>a7?M`sk6&nT+K&y`kn#D z6_g$*`LO}V?VmJfEr-6-D5_D1T#}iaRxdM#s&@s)=epDiMeAbTyOO0vm_NRjkWxi5!97C~AnlF%C^suPMzJ$I+Ze z>Rxylu;NFD`dj+g7*MN@Dzl4E(Oe)&-2?O8iClpMtS*xDrm>(_tt?wA>1BwgAugA+ z4~UmtZI$$l@k*^a)V5mEZsRP|dP$p&p>=BI#ch(-!SO5{H%VFp{1LcC(t|*}QtDPo zs|>wPon(7bk}x{aDY{3}w=ge8`q(S!o5aOp3Gi7=?7xoy=Bb|I)fOSri9E3se(W@;6 zo3&^b(aoTBpkkT|dKgqf^`P~j^XMkf22d}m18oHLriq|OK&4cJK_3P6A;)-Kj)dNZ z*7-CRvHe%U{5-6|IYj2iOL>gocB*gD$13Ks!K{ zbS3C<&;S|=+6fv+gF(AMR}hc#N6;V|2-*#*qDp+H9WJVXC(sD$g+cd#Mv|jmm;Z#0XVq~n6@Z=r{hCzJ zv!GFw4|)zXniSCUAP40pax}3I=%nmKfp`JrBF7A*r6t(5MexIe=NLl*^b%++oddlL z8b@bAuYhi#??JDE#?yD8*FZNC&t*TTn$9Gy6R#VeO;(-J)e!L(IVREh;S4rmIU!1CV(O(ln0mrp~-d*rx<;-EvI z>C_2&A9O1nPUJ+zVW681K|BJQLGNPGogfbmA{PB37R|xMtK{&~K~Nl|(Ho!yXcp}U zeE@2tS3$=>wSnx?Oa13t9$H2Ss)oa0@ zfH~|}8e^uY{jxZX4>V>oa)PcfmQ7JF%i?TYWIPY`d`_CV==T-+G3S8420sBlXZ!${ zC}+MikiUh@{5AMHFfa5o@V`=g3j96zb?7I-Kcx60@LBNN(2s(DOmQayf396R?c}V~ zr5&O8H(EtVWI00bkj`QX!{e?|z!Gwn>v97YM=`Xgub6pKL@Cgdiz_mc!({|uG6L$k224dD*f$L3t47dTP z>2d>bqlxQ*j{yDrn&pZ|O?)7c8x?I}yoL8+LHH#yx)_U8#AZ+lxh}HtHQ9njFB)B; z%i9w9;xV*<{3x7B^b%V;@TRb*>oS{bkj+(Pa}BnAgQUF;hGKFJWW%j!Z$}$LUcoMP r_{0vh`%tB;On!*g<7icot5P0-EB=e&>W@aIYp5L8X~VxZMF0N)gXvu! delta 4370 zcmZvg3v?4@7RSG@O`CRTrca=>1um>gk)xEC3sqN0f}kLU!UA%D7@DDUNt%)-fUcTB zRD1w}JVr%9sXRnc+qxT3#MdgT=&p~ImIMJ8T*cR(V|9HXy8oM*1W|j=%=vx)d%rvP ze$Sq~5gYa2*eFM*B1DE1?kC!%2)8<3%v9ca{muQ^0)H*bJ2O{wW=cF6c$jT?vhZZ% zvE#|XlN;;IRMt7WQ%Qd*Z11*8rP&+s`#slsmx#H>g3FZ=N=0X@v^4}G;$=e)m%Y}# zurF&|91^?ikLL@jK-U6Rni|65K)m}IMQILrtzfQrp{Z9PTy`KB4u-@lM&3B(;^;9e z*n1o-nFlKz><|Y_DL)G~C0=9(D}kpSiFkYgvEnQd-C4XdUV6sUkxqwAnJ|@N_>5P_ zDMLLUx5_-fw|SvwiFctEX%e2eYJD1(OkY@xj~5G4QECQ+9R6lwBp~{5S*1L7P_vu7 zA#Xrr#R~-WhbEzA1%f_J_}2}2riT$2ujEYl0-6@_hs31R*yTa8X>~qvI9)E3pOx#1 zmzYIVAYg8@7H$eQG={~E95iYT_a$BE!dZD6>-`$$9#ChZdS@6 z3(icJndHjfu=e5anz`P=AsSuJGuM!8vQ0K#Ul@=_auBX7dDBevjv~Hp3eZYOPjRgj9C=XM2q2{tc;Gn zj6tsRHe!2XHzm`AlAAn7wqq|xu(=*R%Qd8-&Sp*2 zq_;g>&27I1qsT{$5QSG6gQh5hqX*igS{Dh0w8m7G&&4aOlwm7O+0whEhG!{R5zP51 zvsGDtUUDg89#4XXxs8N03`L43QSA8a5NU3}Wr1OP% zR=&^2_RLT+GK#jhOGkY}V4l}+jl)vo&8wAJYDG6oym@N~nI7b`sCIMI}~7W!`E`$_81 z+~YuZi7qRR5jAS1F|S4~%~qd;cp~=a8ucrwt_G`I`51UTY}_zK?MrrX5VuVeeVZr| z9iT;|hT+Ad;x5+Zc4O}p_0m$iIKp=leU!)(M?u$-x)&bnjlx=WbXku0547cy-c2~f zN5GpUsn5c`%ve~fR+g=l^hzQ}d>i@atD}i-;{G=2bdYntE{7%T;sLaZXclNQsF-Ggwtz}#I_N=A zcbW!z2-JgWL0dsRX)>q#4?Vvt17PJG@m!dAqf&K;>Pp3hzfUclZpjSax(s!W!pb7L1=FV(4J@CQh2w_QHfRQY0D1>Bla69E-UVGvPLD2Q&~X7dXVW3jd!RYg0Xhhp zOYbG@QPBbP;4H9jnC92@2Y@Me7VQlo07+IJvN z!cfQ`LtYOa2tH|XCHNDI2N+9ds)Mrl5HB-!qGyy(?0k5936ICXc5s))+2F6hPeDHo z{@UUn!2h%O6!;r3pN(DMZ!P{3{2iEw<`eMu7M}#40>1|RgG6pr{9rYX!EhS<77U%> zA1&^{T>aE0T@G?p>M{?br?*R25k)}DK*iJykDEXxu~{fz59N_liHE=vuMUzaWL!#(dJnhUxE)Q@I^ z?gaJ6Ig~F}f_|6G&V_zX*l@kO&P$#`t3d;jr_f!X%H%1u1~d?-kX@_=olg@nwReMt z>GBwGUAru2J_=qBxmuSUzzrrIG;W`z_KrGrc>v52lL+onDJ;k2xK{oebo4d;9 z9%B0n7r~=26qEaWHq1f$F|-l#LbwdG)#4kwA@m}5nLL8V<7o6DccpwCuK2mb-5-ri P_b@rW(}v$bMF0N-Taj%M diff --git a/MDK-ARM/gimbal/gimbal_ctrl.o b/MDK-ARM/gimbal/gimbal_ctrl.o index ecdd327f0eb572af91f33a37e22b1d5b22824f9a..bf30e80d2b851e5ce4813f0748f17c4359b83418 100644 GIT binary patch delta 2384 zcmZ{ke@xV69LJyMesG6!&-XlJ;FRl-N=8v9q8oF76N%HcXhd zXbE8iA2wy4t{>Nm#ASYOD@wO8YUwb_Y(T@TjXz?YZEohY^?B}j&SMMz`0V|BpV#O8 z`Fy_5_s6+#K_FbvX`_v2(@q%Z`(0lelBw_0Ylc$IqFh_HJ$w0LLW#?@rNp_x<+3f# zw&&S%^OofvUNh(QHFGG221ARX!_Z^IVHhxs81Wc9Z!SgxhDlvBhiQ*!a*VJ&z!re3 zgPlxL4fGLhS&_%Pv!cee&bi)IPb^eTe2cYeSA>lz)~cquT4J6@3DKkztGl75j+j3p z{3?M&Z6(eZxUE!2ecH_PF!nZEx^gtW*y`~%5Q|U8jo#Y&+B#x6f)^
h^F-8(CG z?d9h4I@+YoyaMaGSe@}t9X(97nE-=b%&xhY0DpC{n{*6D-(lNrcTI)Xriuf^+#eZ( zSbd)Q=!K1Bo`%ic>=}9*+Pm4pl1e=`#Ejj<0=Uev)_A;_ZfTCwrXST?D?K&!?mAa( z18$As))#tfWc|Een|=?m9FSN>;Z`?GGTx1&gH)T?3ap2f&~s4U!*bL&d)V)mIJeu8 zwTyHveJ)o$^C8RBspI`@iqdoH&>5ysQwk0{PopQf8wd%iHwM_)Q-?Zqc#h8!a$M>s zQf+#%Zzm6C@yO@@JG%3M{=R?Zsm*?aPoub!X| zpsSQb$gfn)v>BY0$`bw29!8#oQ>&D8eF&G$P_apQR0oWF473-wGLj++pTOk+T-=R?13dR)zA_(Ds}+T2Kvp&8 zI!-Y%U*vAWaoGXWJg<5vHXWWEpUwvbHM}bl z{@wDq7Yh=Ac20I&V#Fp%CS2W%o)(yhc#uRrPe(mjUi5^J?2w+7f~3GfPVC>r$ZA3G z)H!JxX2dQ%MS=`K>MKYb-^Tis3Q`7MPKJ?0PkW0X_#8Nyn&H_hrY2yjMPmFeR;@yK zY_N?J#|+|$_UY%O8i`HL<`<+5?sF2HL7D^^2B#0nB$75fO@5-Sf>c8vCoSJ2k=5Q1 z#0b-zTo{SnPe-&`fgj1#4AK=Ln(zp8_?5>^fgc#jkmZhxTOEc8ZW=)neLw+GZVIyM zkdV3uGC>8^N)-aN)!^NGDzKrrcNZ$Mi&GLf|rxxpBV8; z&#)jN7~~{;E!Jp6kZLg1^AUcIy$RO^8Gvn^3?u23)g}cghkj0c*JFn;B?x{soRs|% z`!>RYw1Kk$N#__NL0RpNAP(q5Ld#%?OCwBkX@R8uD7{dCVj38aJv|eo?Z@xI0qvYj zPB2m|>m>=20TU7OE8eSo7g7Z&hpYqW2~Nh&^f5uE;2;wGZM?@N11@vPf!iqh+YSX^ Jrek?Z;(v4LXZZjC delta 1880 zcmZ|Pe{54#6bJBo`-85q-N(93XsC5#i)Ite+HFV?5~@R}7TF@WkPu6;8+LS*mJS?g zLaI#+afo9b-;hjU3DFTpWP*9lOb`PB%uFCb&EgaW`$Hlcro@ODiRY}ve}E<@pLfr> zKhEt--l1DdPuyDieyQvnEbFyMz5AqPj!Yf@!Lr)mSXAn+cGt}pQUn5Pe5;lR0;Tia z)r)It7Q1WT_Rf6AJ5y2^D2x;)3NytF3JXOZg_VNm&7#PsDA2t#l`(Co&%?`ylpTTh z)WMST7WtU5VMVxYV=xkUepP)SA#66iXs=2cSEQ^C=cbN$RLm}vLKw=0v$;JI7qdSR zJj!=&3${fffsWt~Ve6yBTybw7->S8|&uWv58LQ6W+kMLQ%!JkN47arlTgt>cwM7%r zxUlum!14dO7n++x8-uTJ=Edhsa;LHC3f$c)o_E(I)6!VgkAZGgZP-(QU%J(Gc@y7c z)N7^hs%1`YV)oJLzJzmYIB{=KDyoiSS&w>F9!IiA&GYRrQ=>E^By9ckSnG_0+i1FN z&kSREr`g#OjwG7nfoMCWZc=L4?3{iMn2qIARL(UhY!kTJqe}8-S>#D+EZT>=J<2D~ zV#R({t0(uX>o!Z!<*t6JMs&Mg^5`EPQB@}W>{0cblwatBpDIljIH=n~gIRc%3o)R7 zcTD~C^sa*@`e$FHan4gYUFK}wo3knBTWp;Wdvgx4jY5p%ypr?JoYooHdRfjzIUBN8 ziPl^qo%3(@IU$UetWLH`2#?-)RsAbVHb-0B)zyLarbumFN9(KYvF1Rc23^25Gy0U+i*gc5L`d<>{{& zw2!oh?|_SD&8%12G~dJbxmu*n())|FfASyH;%B9r{XuK>pUbp44?o$VSGXR0s7}p) zZ=qMecCmKqNx2dwEn2zkgr`M&LiQp^n9uK5B8lIdwF(S!`W8kxEk00U0hTst6()L0 z;;Ut}vLB6`Xi6F#Oa^^~dElTD$FlYHnB>AD*xw*l!b_Of_bJhtt^bNHE*!!T(~oh+ z4{MmFHT3f_bzwSY1nVe6g%mS^BTO+aF%I0x*2-FGv<5yVjTqC3157VYGXuE645M%} zF#-=Wfgt0+ZYF|3CV^2V2^k^MsAPK4$ech2lRzJn!G&yXGF!8^QE~)cW&y%XJ-V2~ z7-BLQXU@R7h4910gs_eoLyDpMF;lq26ypx#Kv|Tig^%$g#)NQyN#ZoqiyI8xZ!0kd z4|5wqCW+ll27`>PWXM#b4o}FS zEJ2)sj~PRZiQoW}#%YG$CKEzoJJAada~MI!kKIfNgG?tznGEE1VgQxQ88k9}bTGHk s$1K5x>}ZmSz`lbRhL@Q_m~o(sS%M*ECB})lR*xo9bdh^My3h3QKLk%5Qvd(} diff --git a/MDK-ARM/gimbal/gimbal_gimbal.dep b/MDK-ARM/gimbal/gimbal_gimbal.dep index 43a4543..8e00f8d 100644 --- a/MDK-ARM/gimbal/gimbal_gimbal.dep +++ b/MDK-ARM/gimbal/gimbal_gimbal.dep @@ -2126,7 +2126,7 @@ I (D:\KEIL_MDK\ARM\ARMCC\include\math.h)(0x5E8E3CC2) I (D:\KEIL_MDK\ARM\ARMCC\include\stdbool.h)(0x5E8E3CC2) I (D:\KEIL_MDK\ARM\ARMCC\include\stdint.h)(0x5E8E3CC2) I (D:\KEIL_MDK\ARM\ARMCC\include\stddef.h)(0x5E8E3CC2) -I (../User/module/gimbal.h)(0x68F36552) +I (../User/module/gimbal.h)(0x68F4D502) I (../User/component/ahrs.h)(0x68F3410E) I (../User/component/filter.h)(0x68F22FA9) I (../User/component/pid.h)(0x68F22FA9) @@ -2264,7 +2264,7 @@ I (../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F/portmacro.h I (../Middlewares/Third_Party/FreeRTOS/Source/include/mpu_wrappers.h)(0x68B055DB) I (../Middlewares/Third_Party/FreeRTOS/Source/include/task.h)(0x68B055DB) I (../Middlewares/Third_Party/FreeRTOS/Source/include/list.h)(0x68B055DB) -I (../User/module/gimbal.h)(0x68F36552) +I (../User/module/gimbal.h)(0x68F4D502) I (../User/component/ahrs.h)(0x68F3410E) I (../User/component/user_math.h)(0x68F22FA9) I (D:\KEIL_MDK\ARM\ARMCC\include\float.h)(0x5E8E3CC2) @@ -2376,7 +2376,7 @@ I (../User/component/pid.h)(0x68F22FA9) I (../User/component/filter.h)(0x68F22FA9) I (../User/device/bmi088.h)(0x68F22F87) I (../User/device/device.h)(0x68F22FA9) -I (../User/module/gimbal.h)(0x68F36552) +I (../User/module/gimbal.h)(0x68F4D502) I (../User/device/motor.h)(0x68F22F87) I (../User/device/motor_dm.h)(0x68F22F87) I (../User/bsp/can.h)(0x68F22FA9) @@ -2407,7 +2407,7 @@ I (../User/component\user_math.h)(0x68F22FA9) I (D:\KEIL_MDK\ARM\ARMCC\include\float.h)(0x5E8E3CC2) I (D:\KEIL_MDK\ARM\ARMCC\include\math.h)(0x5E8E3CC2) I (D:\KEIL_MDK\ARM\ARMCC\include\stdbool.h)(0x5E8E3CC2) -I (../User/module/gimbal.h)(0x68F36552) +I (../User/module/gimbal.h)(0x68F4D502) I (../User/component/ahrs.h)(0x68F3410E) I (../User/component/filter.h)(0x68F22FA9) I (../User/component/pid.h)(0x68F22FA9) @@ -2481,7 +2481,7 @@ I (../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F/portmacro.h I (../Middlewares/Third_Party/FreeRTOS/Source/include/mpu_wrappers.h)(0x68B055DB) I (../Middlewares/Third_Party/FreeRTOS/Source/include/task.h)(0x68B055DB) I (../Middlewares/Third_Party/FreeRTOS/Source/include/list.h)(0x68B055DB) -I (../User/module/gimbal.h)(0x68F36552) +I (../User/module/gimbal.h)(0x68F4D502) I (../User/component/ahrs.h)(0x68F3410E) I (../User/component/user_math.h)(0x68F22FA9) I (D:\KEIL_MDK\ARM\ARMCC\include\float.h)(0x5E8E3CC2) @@ -2535,7 +2535,7 @@ I (../User/module/config.h)(0x68DD3463) I (../User/device/motor_lz.h)(0x68F22F87) I (../User/device/motor_lk.h)(0x68F22F87) F (..\User\module\gimbal.c)(0x68F39BE3)(--c99 -c --cpu Cortex-M4.fp.sp -g -W -O0 --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 ../User/bsp -I ../User/component -I ../User/device -I ../Middlewares/Third_Party/FreeRTOS/Source/include -I ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2 -I ../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F -I ../User/task -I ../User -I ../User/module -I.\RTE\_gimbal -ID:\KEIL_MDK\ARM\CMSIS\5.7.0\CMSIS\Core\Include -D__UVISION_VERSION="534" -D_RTE_ -DSTM32F407xx -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F407xx -o gimbal\gimbal.o --omf_browse gimbal\gimbal.crf --depend gimbal\gimbal.d) -I (..\User\module\gimbal.h)(0x68F36552) +I (..\User\module\gimbal.h)(0x68F4D502) I (../User/component/ahrs.h)(0x68F3410E) I (../User/component/user_math.h)(0x68F22FA9) I (D:\KEIL_MDK\ARM\ARMCC\include\float.h)(0x5E8E3CC2) @@ -2658,7 +2658,7 @@ I (../Middlewares/Third_Party/FreeRTOS/Source/include/task.h)(0x68B055DB) I (../Middlewares/Third_Party/FreeRTOS/Source/include/list.h)(0x68B055DB) I (../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.h)(0x68B055DB) I (../User/device/motor_lk.h)(0x68F22F87) -I (../User/module/gimbal.h)(0x68F36552) +I (../User/module/gimbal.h)(0x68F4D502) I (../User/component/ahrs.h)(0x68F3410E) I (../User/component/filter.h)(0x68F22FA9) I (../User/component/pid.h)(0x68F22FA9) diff --git a/MDK-ARM/gimbal/init.crf b/MDK-ARM/gimbal/init.crf index 8df28b8b0f4ba179bf0030f5ece2563a6017c14f..2061ada31b4fed9f1e53aacf75c1686aa75cc849 100644 GIT binary patch delta 2399 zcmZvedu-EH6vyxF+C6@2f7@8WZVWg~Ambsz4 z`}?KK*Ny3H9%JfIgwRP*@SRVJSK3X-qm=r#OQ)g*ex^koQHwjGB!&)yS&w1Bh{lM) zh{cHWcSI@8d0IoElBHO#wM)I-Su0L!Kbd8UcB4=+6nzhEp0!S#4kQRlOP3;%l`6Yi zoD1~sQIr~|)!`^(&w@ZwNY6yRXs65Vsum};5k<;4&yV3`S2>v($@HvnvH&NGC=Voi zInXPV%nZ*Mq%W&*iX{(;2xoC=z|!Ms>MnQ`*fUC9CY$c4>52Yvz>IS?Abl ztHjKJ8h$iZqAJ{?B#B{G5+2gIO(Fl@kLV%)*6S*j?#LcqVD&De|&k?Quv6GeahLmr7GOGM-QN(w9JT{xi zLQS0@KfR>f&>1?VS89GksWL@pIRjR&u(`(OXP7*LSDO8fsmgXkQUlM8UYQRqKgKK1 z_y^BW45@MNv#zpV_FTm|O{r#?( z&Q%$jpzqdxpQvWV@s0|Hd1bOTv{22^w_&QiSg5ARTYgue`lnPHp{U#jujVXP2as7@ z#VxNQwFWvjrC_L6t_;Qqe9_cux~=UhRwr1D;yS+zq#ojgSj8twoln1LvP8{EHHn*; zE|R1k#PYkrSb>95mqO;Sts`y>f%FM>P=CH;lv2A@Qs zbUQduECn7xVUIa@^%jaf6^s*&@Zt4(@Uk#31TP1lh3)}2g>~i+z(vv3H}Johhzn7VV((I9p*Cd8ZZ|(6}&dguLk2qvrpzGdu6Vf>M>jA zlX-B;)6r%eNDF431bPGbF))#)gVuwR=ruTR@X35Q=j*zeo>QA|#U7&$9 z0rUwdoyLK7gPx=@pgo{LG#a!QG?+$#+Cf7o8{`9JP$uY8&`=r)`V2ITMu7H#hSRX1 zCr0cCj-U*Pe$Z1i1oSy*Bn<)`06k6Vpo5@HBG4hwGt?h+7?ee6pd+AcN(FrZdX_Ap zqo7gL2XqYd9GOAKL8GY`=u6O852?VffaAy*RKy9;c*=c&W<&lOljkW0bP|+9deA9Q z9!bz?P(IxU;p>%KNOwSIKt;seJ_{!t1 jR~!5-aJpA60A2(lU_L6s-=~69D(EW@bm;MiN~He}-WTca delta 2405 zcmZ{mdr;I>6vyv{U08mwKR{OHr5-U0HIwjBDkZQ4h)rfvIi@ljtje$}2#chR?wS=d zO1@Hl8i=nE&C+ChtR|U{jC^LAhP!1pHJOw8k3B5Y`W|)x8I75H=5xRI+;h)8_xzZ> zQa5s0{YYc0B1DiBS*P7nJkw-65UiX&dZHyn;BWJy*5K;aV2Kfg!K}m3V}xLYVi+*O zJgvb>U1oPOB}t(>(EL zM%XMBB?VQM5^H6dDDbL*qp=cPu7(pto8U(?>XU?j$i{5;#Sgsz_kTOfT#V+*T zC_zckBs9Ifw8$!K+JST>?rE-6#5IW4N?W;js=atD>8yoC;@ghCRm#o)Y-4V;u^)(o2!&k=Zqw06DJZk=HfY8Rbr|M7&-nNtF5%K*fCdZ^2Ygd;w9C|Yq&xn-uy26_?(V?ja~NfQs=gX-h|GWQJt^l zPqOBJRyoxk7O|Mi&J}Luw?O|C3DMcJPQ$-}Hrw7__BI6xh@Jejypt6J%G>q<{CStk zzBj!+JAEVAm($1XMbSN1c+X5UNp#x*DcmKtVmri^j@QL zrDJFK^kSRCT3%3E=@84>U32-etjud~k|&{rO}AQ$UbGaJi1nVNamopO+)=j-E}SW{ zxv$f3*C-Y$sze`;VS;ioNPktjWUc4wL}h$X>@l!nszWS3XiEP}aQ ztv{<^gkwZ_^k5?x(d=HvO zYBM}mX_s@=^mv2#8QLOAXM9F+3HYicbuZQzYUZ(Oa(s=X!#;z!f|aF`4g#+NS4i5Y zy*5@Is#_z;tu-?>NZP7h$DaP1B{jhDA2@E2R0q5TY?QPXcpJD)QmvMrr{?RLBfJIU#w9aMv=Fm(ZkY+El*}O7xIm`2hR(0Wi5O$KcMMbjiWZ*)sD zoXtU0uU#9b_Hv@xZ=qCMpoh5RO<*Gs?f(~Ws~>M5#5SB6OL?HTLGhFW+73#jEYLfk zUX%%X7u1{5K|4TwDGjs}ltiOI?}7T!qo7@&`)Gs{*aYlP!$5A({geuNACyc(Kp%hx z&|uJqpn)_9^bu$f4FGvS57Gmm-JrqLAG8Pb5cLCn3>rdxL3=?d)CbfIdYF2FJ^?vX zDFL_-IF#Z*pMr)_PtbnQaOw^^02)Ctpo5@CC>nGKG>VL%&p@Lo+^2}cpft)DL(?ID zj>+Q`0%`%JQ!wZYP$mh`5s;Z~`$|Iv{$pii)87z}fpXBqq2f3wm;UfYiW8tb%9w&L za*#`YhetUHCEq1q2Yv~h?2=C4Dc}p-qXzL65dJSCBm9WUil?juxw}<|pH(91KkG~F AMgRZ+ diff --git a/MDK-ARM/gimbal/init.o b/MDK-ARM/gimbal/init.o index f6b1f53c6f3e1bb000ec761a88ba31f3c4b6d5b6..3bd61d570bb54ef501f82e8f59025e490d4ffcdc 100644 GIT binary patch delta 1656 zcmZ|MZA?>F7zglk+S__jd#-fdkcf=8=^(fj#Frw*;6xyyDjR09Y*vtVREoTa*)V2? z*hI{jv(n`c8Cl{&7D>#aNoPaWWty-hCd_Dn4@R~~h9BIBlf@6y^~0XWUiW45!;{}R z&+|X`p4$%H+uDC`>)9N6A(HEt?#ri2^(;?Lsk?MTo{+-lYpC^B`FuHfrS5XKr+mHV zAlvX8%t|&>5O^_-$&Ft`hupPl-433 z_ndNDlFRYdIrXc&gH3~KzvYPo7*wm}m-uE-Z6Ov1)v6N#8@(XAGuR@Wpk-NhDA*pP z#~-&_^9O9%fncb|-|g!-O07H8O4zcWu6Nn2`AHg^7ZT1X&6+=97kSRj+Ow~uBTwx5 zchdSo-wNrfuJvxOtn+zy@2K*DQ(?wp8D3y3@3aT_?mxrWe?1A-*-eVLE5}m+1<7D!0~jTgoEQ zXf}?R-eb#!_|w#}g!a3Hcs2gntSYoPy@vv&Zntk=k7w`OyPJ9f?oIKVzo_G@UH={U zI??q&W#HxmrN>Vs)yDMahvIh~MxXk>ryt2Os#iS!Aad3j_W19`#^QRp89yH|^5tE~ zCS$GbVN{7MII4^S)YD#u(aY?^dBWZbB~}W&R%7I2k^A$=Y$gU!N!Uk*l=x7?{w+qH zbRoi%5sWkanB&0E7fQH9DsT}c2Wheyjm$jym<5b6XK{;(;&E!0+d{hu)G`g|V!{|^ z25^l@;65{fbic9I^5`nc{l*$g@+z819Pk^<5%n8c=;u{}SC@D-Pb*mg8KAQbC}g6j zXGYLVU{Ao%Fd8rl=ndDoKaIsyD)W8X#Zbv45M-tiVHPmX)M1WkL0T&@ff6Q$MuxtY z31N&0;}&5_{(vW~#u}+1H%Q$q)G}r0Vk$7qG~gN&!hI%;^h3l5JWK*j%q&h5j^vO0 zR|)aD6yg}XA^POosjzILR1Aeo1?maQqe&cVGuAkglS<^6hd#x70b>*hPnqO_atB+*D)`3m~Fjf{T) D$*Sma delta 1676 zcmZ|PZAe>J7zglklWR=cc&=t{ZE2eMhEB0tj9S#LFgrI5XxBo==qO90CT%pn&Y~7! zWOZ~hUA0a5E6CPD8OqX8sgMb>Rmj#BBAZMC+hqFo*CI{urv$vDY&l?X{2U_aA zLC>poRh}+kvqigyWXNa?S?u_8SlVB3yz6ZV20gvrZehD34B0!ylL>d-n>_J`YVI%= z+`@|^vZ#F3QtJq`oEEl_YRDFjmbR|8PGP%58~eX=ulszB_1=bN9=@fT&ln5tZL7ic zkL7dtVnn`e{!2CYE5?Eeq+XCt!%zwiUXZ^kYskGQ-^ut$zT)7!q+Sz(ZX+D+fvzW; z3{h|cS1-!_$_?DVD0ln2ljy$G(I{*av@CH111;2U8!{QQ2a_EBK(Nc#>1jJnsWnQ? zCOQ6DdyV8cd$Rc}#rVtxc*D}Ie1p%!vLt#xEaPcv zdD*^_==INJVd;CHs&vnTLPT`G)-6g(ofgeZ@Guq^WpHfOWn<#c)ucKK_H8+%T6wlzd={v!MK zr2n_zX@~cb+<}{qq&eEQCHJL0y(#*AiWZXpcY1?et4@9TAX4{grsz+F+Iq24gZUF$ zw(=P3C$v11xFm&L;Lv_8OR=NUtK}(S1ejA8Axu4xVyE6Pj1{hIz*0|)qlhp?My2Rc z6DQ;##FYppnNcio!^9_2r0XZlBC~-iHE=T<=wP-m#$3i6a}^I0wX{asEux%hgqI0p zfEmXW6USX<5sFXCGpKVY@M*c|@o82Z_i1)q=2bthZu2U_tH(Y~Mck+5D79FpF*!x$6B9AU72i{DOZxk@_H0+cO8Ia38MQ;Pwn5mQVb?lNI0O+*CwOdLm;HS`iG z)?55@3GtF5#2M^qr6=D>G_Nx;>}n=zQArroc{DX^xhd9pDKhk-^QiM{yXhJ;+*pDY zW)+qoAO4*bX1#9=*P7_?W0a@n5JP{741ED6hE3*WWVR4T;by|xtT~cG}IN zl8GU}EMtV(zzoxe6($Fk4kCymCI`ouafFy@OfqpSFdNt;4A!5K)k$|sgS(TmrReC? GcKi)oF6rd} diff --git a/MDK-ARM/gimbal/remote.crf b/MDK-ARM/gimbal/remote.crf index 482e015af0f705c93444d6ceabcd5f54e226bb2c..42eb1129339172940fa4182e725e449f3003154f 100644 GIT binary patch delta 1895 zcmZuyeQZ-z6u-A?xAv`l+t_&PCc@pAIyJ$$`4LnS2-a-uQzg-$QtJA^X6-t+mSxG} zDl8e^km;2GuaYKR)l0$Vkp^CN|t7BOSaco zkV;kr&m5%p`a^7N4vBCgCk%JS(=}TTnHphoV^G>ljZ(FDFwUJpUss#A+t;Q>JJ=CJ zHm`;y%O7Fy8HG&9sLleyPItCPL+mwb%S|WR zK1B$X16v z`p^^EWU`?NGvDZ(IJ##x?vG?#I*d%2u*=3>sZJ?ne&)SWMNZCRT}=0;Y8|J+(~PI- zHLyW`wkEx_w!RT_&2Fa0ZYKuUv%l$SDUKLB#+%&ORd=xD>oJNmzE1L`;!y)THm`+Z z;jKA~JVlAQ(|Qz2Rtt&7@sxsa0Yw zq?d#k$3|84zv^pkW54UiTcl$=$DRBVzoq-1leSwN*LjQ=EQoQg-&!j@Z*gCOu1t`a zBJm5E^J9EU_rD;G*lgRN|EAylid0Z)dk45iuj!WLb<%Ef-UAWU>&K*jxO9pL9paYW za#iZGRDVRoUK0CA43aoN;vk735{F0}CNT_gT>o=I@^WVs`evN&7@yQOOi9goF>-m6 z#1@D*ww{}kaB^{+`nf5W<#pRm@Ef$RYvpQJx&u#PjIYqFb#kTkD6HCpb#e*s)z{R? zH@P%G$*A=cT5Y|&q{7X%$GOrWlrHcz2%3SX2>m8<7=E{uPVtzwtzKT?cCy`2dxUZZ zURPkn50TO5!R+BL-7bC`>t;24MFFc&`po&@}aiy1)dt#X8mN$v4Q zd9C#`F3xK^8s*CR(_DNG^OrE6;X+T8vGaguQP?~Wu3SU0zJ!B)1s}3M4Sd1Gt2N#v z7xodo3iK#wT9-$GFPiuf;BSCwa1R4tGI15~WfMOH{4Fp&&r;y;Ok589y@|_!e*mU( z+`v~%T%52w*jPOID1T{#O>%M6$;MNCr%G6Q9?@Z8S_5oSOshmz%~;iVWK{zyF)F+MzP#UCpx{~t;K BH9-IX delta 1977 zcmZuyZ){Ul6u-A?x9+WdbgZk}SjJrgW||0Oi-|;xh*n3|Au0(GLz=Qa$U;lU+HFoh zv^o=lsl-L$8G!{Dn;0Fqy5%XLiJ}boqre!guNY&Dkpzv2pnTwi{!ZU(2Z1K%6ij6}okP?U$LR=}N z3}T0rYl=-8c)D7+y_{LMr@0ghM#AAhf3S~zp#Ih-JuKDlNONmvq=z})X?(EOUynf7 z+n^}KrO#oa$aHnanOm=(Wu#anXckN9l?J~AUO{MXkwRHtbvN<`yhsj zd8t@|xvkjy`dp)!8rVU z9Ow&fR(iVFAze0)hNmPHXM=hb6EcRkfUwha1*ecz{gclqK zXNyEb3Y%1)``cc-nl|M)2vX?@cQduHJff^hM~E#f&I{(Yc~iREn4%sP%VSEsE84jw z&Zcl7o`kvYWgjAi+6r#j6js=ag?lLS(TK7s$kyJ$)0T|*^>^_`{7Z!eQXMDN?^VLl zj?Q>LyQbHos|02upG-asVb(i&M;@J1%=;^!S4bn*Y}#pko-rwvbj{wE(d5iMybW}& z(d#rVo_3t2+rSG7v6b{@6U5mk&1ZJKu=YHI&-v^<#(|Z`;>m)Y^;M~ zsd@Ck#_s8%oa*u7wRQD+s_^JVTio-D8}#9ElYhJHv6MI}q)O zvuq)>l_n+TMB$D2!IW=Ql+cD?$7Xg_Q&&red0Bn_6HaRW=cSaT{7;_bm2;DvX}_$I zUa-`hf$h0WDog5Da=VgzTJx`!CTzA8?B6xpda1I`_9k$%Hm^^T*GW4mco$SmYq=oZ z;*v(hXHYk_N2aBirFl0Idr0jiHAHG3sr{r5kQyd6LTVIhMEhw*3UEg+>^{iL=t6DH zNYBoBjY3{0H30SMw$Y3Psem}N(Tvlw)iww|ppLc5&CbFEzN#c&rvA|?H#K}jsUMRX zBXyY65mKK(^=i#4(+7d0u=T7p) zYOGCutfq{;3xB_8$~o9hpjU+FIHJy}r`qJ@b#}G~+yEEuoRjSZe1i+mG5C+FUccN_ zm*S!{XJ-fC*}+8#;4t7I7yqdtzuaPdkBjT-ZbCy`Tvab3XW=jxKO-=Wz!5I40DcNM z%7qR%0eFauj5@zvUSl2S;-uQwE;l7U=i(^bU%`Eh3k~pVz~fv@<{H@vz%S9*J)VQ- z8k${~D`(#zhWsmlzcuj_z$byvf`1%%%H#>30;ZSM0{mS%VHnLYPQyWaTnv21#EXE> zn)o5$bHH?!jlkcVSOEWE;`zYmfvGtU@C6fBW3G$o{1yERIBmdxa`ptfWZ)aPrWphJ z7A5(uTm`$F=01EAzD3p*xTFlMDgnc{#Cm^DVp-U3viHIG5k{@>)$wr{I*bP4dw}mj cS`LO6Mv1S5*WzgWHTxDM`N6Cef7Q(UKjHRG*Z=?k diff --git a/MDK-ARM/gimbal/remote.o b/MDK-ARM/gimbal/remote.o index 62132993c31db67ef97f8283037c3ce314da516f..40f0adcb2de44a20b492d0a66007f1f936d1f919 100644 GIT binary patch delta 2133 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 ez60d=U;c)W4KOR@O<3B7zcsl