diff --git a/MDK-ARM/LWIP.uvguix.29643 b/MDK-ARM/LWIP.uvguix.29643
index 693f01d..e80f77b 100644
--- a/MDK-ARM/LWIP.uvguix.29643
+++ b/MDK-ARM/LWIP.uvguix.29643
@@ -111,7 +111,7 @@
0
866
- 01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000006000000050000000100000056433A5C55736572735C32393634335C4465736B746F705C705F6C7573746572696E635F63616D6572615F666F63616C6C656E6774685F656E636F6465725F72657365745C757365727372635C757365726D61696E2E63000000000A757365726D61696E2E6300000000C5D4F200FFFFFFFF61433A5C55736572735C32393634335C4465736B746F705C705F6C7573746572696E635F63616D6572615F666F63616C6C656E6774685F656E636F6465725F72657365745C4D444B2D41524D5C737461727475705F73746D33326634303778782E730000000015737461727475705F73746D33326634303778782E7300000000FFDC7800FFFFFFFF4E433A5C55736572735C32393634335C4465736B746F705C705F6C7573746572696E635F63616D6572615F666F63616C6C656E6774685F656E636F6465725F72657365745C5372635C6D61696E2E6300000000066D61696E2E6300000000BECEA100FFFFFFFF55433A5C55736572735C32393634335C4465736B746F705C705F6C7573746572696E635F63616D6572615F666F63616C6C656E6774685F656E636F6465725F72657365745C757365727372635C656E636F6465722E630000000009656E636F6465722E6300000000F0A0A100FFFFFFFF56433A5C55736572735C32393634335C4465736B746F705C705F6C7573746572696E635F63616D6572615F666F63616C6C656E6774685F656E636F6465725F72657365745C757365727372635C70726F746F636F6C2E68000000000A70726F746F636F6C2E6800000000BCA8E100FFFFFFFF57433A5C55736572735C32393634335C4465736B746F705C705F6C7573746572696E635F63616D6572615F666F63616C6C656E6774685F656E636F6465725F72657365745C757365727372635C756470636C69656E742E63000000000B756470636C69656E742E63000000009CC1B600FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000EB080000C5000000890E000090020000
+ 01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000006000000030000000100000056433A5C55736572735C32393634335C4465736B746F705C705F6C7573746572696E635F63616D6572615F666F63616C6C656E6774685F656E636F6465725F72657365745C757365727372635C757365726D61696E2E63000000000A757365726D61696E2E6300000000C5D4F200FFFFFFFF61433A5C55736572735C32393634335C4465736B746F705C705F6C7573746572696E635F63616D6572615F666F63616C6C656E6774685F656E636F6465725F72657365745C4D444B2D41524D5C737461727475705F73746D33326634303778782E730000000015737461727475705F73746D33326634303778782E7300000000FFDC7800FFFFFFFF4E433A5C55736572735C32393634335C4465736B746F705C705F6C7573746572696E635F63616D6572615F666F63616C6C656E6774685F656E636F6465725F72657365745C5372635C6D61696E2E6300000000066D61696E2E6300000000BECEA100FFFFFFFF55433A5C55736572735C32393634335C4465736B746F705C705F6C7573746572696E635F63616D6572615F666F63616C6C656E6774685F656E636F6465725F72657365745C757365727372635C656E636F6465722E630000000009656E636F6465722E6300000000F0A0A100FFFFFFFF56433A5C55736572735C32393634335C4465736B746F705C705F6C7573746572696E635F63616D6572615F666F63616C6C656E6774685F656E636F6465725F72657365745C757365727372635C70726F746F636F6C2E68000000000A70726F746F636F6C2E6800000000BCA8E100FFFFFFFF57433A5C55736572735C32393634335C4465736B746F705C705F6C7573746572696E635F63616D6572615F666F63616C6C656E6774685F656E636F6465725F72657365745C757365727372635C756470636C69656E742E63000000000B756470636C69656E742E63000000009CC1B600FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000EB080000C5000000890E000090020000
@@ -1806,7 +1806,7 @@
File
2537
- 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050FFFFFFFF0096000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000
+ 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050FFFFFFFF0096000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000
1423
@@ -1838,7 +1838,7 @@
Debug
2373
- 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000
+ 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000
898
@@ -3603,7 +3603,7 @@
0
100
- 5
+ 3
..\usersrc\usermain.c
0
@@ -3634,8 +3634,8 @@
..\usersrc\encoder.c
0
- 63
- 86
+ 6
+ 7
1
0
diff --git a/MDK-ARM/LWIP.uvoptx b/MDK-ARM/LWIP.uvoptx
index 7b40e43..50ecebd 100644
--- a/MDK-ARM/LWIP.uvoptx
+++ b/MDK-ARM/LWIP.uvoptx
@@ -1,4 +1,4 @@
-
+
1.0
@@ -45,7 +45,7 @@
79
66
8
-
+
1
@@ -104,16 +104,16 @@
0
0
3
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
BIN\CMSIS_AGDI.dll
@@ -130,12 +130,12 @@
0
ARMDBGFLAGS
-
+
0
DLGUARM
-
+
0
@@ -153,7 +153,7 @@
-U-O142 -O2254 -S0 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F4xx_512.FLM -FS08000000 -FL080000 -FP0($$Device:STM32F407ZETx$CMSIS\Flash\STM32F4xx_512.FLM)
-
+
0
@@ -195,19 +195,19 @@
0
0
-
-
+
+
0
0
0
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
1
0
diff --git a/MDK-ARM/LWIP.uvprojx b/MDK-ARM/LWIP.uvprojx
index 623db19..0717382 100644
--- a/MDK-ARM/LWIP.uvprojx
+++ b/MDK-ARM/LWIP.uvprojx
@@ -1,7 +1,10 @@
-
-
+
+
+
2.1
+
### uVision Project, (C) Keil Software
+
LWIP
@@ -16,28 +19,28 @@
Keil.STM32F4xx_DFP.2.16.0
http://www.keil.com/pack/
IRAM(0x20000000-0x2001FFFF) IRAM2(0x10000000-0x1000FFFF) IROM(0x8000000-0x807FFFF) CLOCK(25000000) FPU2 CPUTYPE("Cortex-M4")
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
$$Device:STM32F407ZETx$CMSIS\SVD\STM32F40x.svd
0
0
-
-
-
-
-
+
+
+
+
+
0
0
@@ -52,15 +55,15 @@
1
1
0
-
+
1
0
0
0
0
-
-
+
+
0
0
0
@@ -69,8 +72,8 @@
0
0
-
-
+
+
0
0
0
@@ -79,15 +82,15 @@
0
0
-
-
+
+
0
0
0
0
0
-
+
0
@@ -101,8 +104,8 @@
0
0
3
-
-
+
+
0
@@ -135,11 +138,11 @@
1
STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
-
-
+
+
+
+
+
0
@@ -172,7 +175,7 @@
0
0
"Cortex-M4"
-
+
0
0
0
@@ -306,7 +309,7 @@
0x10000
-
+
1
@@ -333,9 +336,9 @@
0
0
-
+
USE_HAL_DRIVER,STM32F407xx
-
+
../Inc;../Middlewares/Third_Party/LwIP/src/include;../Middlewares/Third_Party/LwIP/system;../Drivers/STM32F4xx_HAL_Driver/Inc;../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy;../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F;../Middlewares/Third_Party/LwIP/src/include/netif/ppp;../Drivers/CMSIS/Device/ST/STM32F4xx/Include;../Middlewares/Third_Party/FreeRTOS/Source/include;../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS;../Middlewares/Third_Party/LwIP/src/include/lwip;../Middlewares/Third_Party/LwIP/src/include/lwip/apps;../Middlewares/Third_Party/LwIP/src/include/lwip/priv;../Middlewares/Third_Party/LwIP/src/include/lwip/prot;../Middlewares/Third_Party/LwIP/src/include/netif;../Middlewares/Third_Party/LwIP/system/arch;../Drivers/CMSIS/Include;../Drivers/BSP/Components/lan8742;../Middlewares/Third_Party/LwIP/src/include/compat/posix;../Middlewares/Third_Party/LwIP/src/include/compat/posix/arpa;../Middlewares/Third_Party/LwIP/src/include/compat/posix/net;../Middlewares/Third_Party/LwIP/src/include/compat/posix/sys;../Middlewares/Third_Party/LwIP/src/include/compat/stdc;../usersrc
@@ -351,9 +354,9 @@
0
1
-
-
-
+
+
+
..\\Inc;..\Inc
@@ -366,13 +369,13 @@
0
0x08000000
0x20000000
-
-
-
-
-
-
-
+
+
+
+
+
+
+
@@ -432,6 +435,8 @@
2
2
11
+
+
1
@@ -459,6 +464,12 @@
2
2
2
+
+
+
+
+
+
@@ -480,6 +491,8 @@
2
2
11
+
+
1
@@ -507,6 +520,12 @@
2
2
2
+
+
+
+
+
+
@@ -538,6 +557,8 @@
2
2
11
+
+
1
@@ -565,6 +586,12 @@
2
2
2
+
+
+
+
+
+
@@ -636,6 +663,8 @@
2
2
11
+
+
0
@@ -663,6 +692,12 @@
2
2
2
+
+
+
+
+
+
2
@@ -675,6 +710,12 @@
2
2
0
+
+
+
+
+
+
@@ -696,6 +737,8 @@
2
2
11
+
+
1
@@ -723,6 +766,12 @@
2
2
2
+
+
+
+
+
+
@@ -744,6 +793,8 @@
2
2
11
+
+
0
@@ -771,6 +822,12 @@
2
2
2
+
+
+
+
+
+
2
@@ -783,6 +840,12 @@
2
2
0
+
+
+
+
+
+
@@ -804,6 +867,8 @@
2
2
11
+
+
1
@@ -831,6 +896,12 @@
2
2
2
+
+
+
+
+
+
@@ -852,6 +923,8 @@
2
2
11
+
+
1
@@ -879,6 +952,12 @@
2
2
2
+
+
+
+
+
+
@@ -900,6 +979,8 @@
2
2
11
+
+
1
@@ -927,6 +1008,12 @@
2
2
2
+
+
+
+
+
+
@@ -948,6 +1035,8 @@
2
2
11
+
+
1
@@ -975,6 +1064,12 @@
2
2
2
+
+
+
+
+
+
@@ -996,6 +1091,8 @@
2
2
11
+
+
1
@@ -1023,6 +1120,12 @@
2
2
2
+
+
+
+
+
+
@@ -1044,6 +1147,8 @@
2
2
11
+
+
1
@@ -1071,6 +1176,12 @@
2
2
2
+
+
+
+
+
+
@@ -1092,6 +1203,8 @@
2
2
11
+
+
1
@@ -1119,6 +1232,12 @@
2
2
2
+
+
+
+
+
+
@@ -1140,6 +1259,8 @@
2
2
11
+
+
1
@@ -1167,6 +1288,12 @@
2
2
2
+
+
+
+
+
+
@@ -1188,6 +1315,8 @@
2
2
11
+
+
1
@@ -1215,6 +1344,12 @@
2
2
2
+
+
+
+
+
+
@@ -1236,6 +1371,8 @@
2
2
11
+
+
1
@@ -1263,6 +1400,12 @@
2
2
2
+
+
+
+
+
+
@@ -1284,6 +1427,8 @@
2
2
11
+
+
1
@@ -1311,6 +1456,12 @@
2
2
2
+
+
+
+
+
+
@@ -1332,6 +1483,8 @@
2
2
11
+
+
1
@@ -1359,6 +1512,12 @@
2
2
2
+
+
+
+
+
+
@@ -1380,6 +1539,8 @@
2
2
11
+
+
1
@@ -1407,6 +1568,12 @@
2
2
2
+
+
+
+
+
+
@@ -1428,6 +1595,8 @@
2
2
11
+
+
1
@@ -1455,6 +1624,12 @@
2
2
2
+
+
+
+
+
+
@@ -1476,6 +1651,8 @@
2
2
11
+
+
1
@@ -1503,6 +1680,12 @@
2
2
2
+
+
+
+
+
+
@@ -1524,6 +1707,8 @@
2
2
11
+
+
1
@@ -1551,6 +1736,12 @@
2
2
2
+
+
+
+
+
+
@@ -1572,6 +1763,8 @@
2
2
11
+
+
1
@@ -1599,6 +1792,12 @@
2
2
2
+
+
+
+
+
+
@@ -1620,6 +1819,8 @@
2
2
11
+
+
0
@@ -1647,6 +1848,12 @@
2
2
2
+
+
+
+
+
+
2
@@ -1659,6 +1866,12 @@
2
2
0
+
+
+
+
+
+
@@ -1680,6 +1893,8 @@
2
2
11
+
+
1
@@ -1707,6 +1922,12 @@
2
2
2
+
+
+
+
+
+
@@ -1728,6 +1949,8 @@
2
2
11
+
+
0
@@ -1755,6 +1978,12 @@
2
2
2
+
+
+
+
+
+
2
@@ -1767,6 +1996,12 @@
2
2
0
+
+
+
+
+
+
@@ -1788,6 +2023,8 @@
2
2
11
+
+
1
@@ -1815,6 +2052,12 @@
2
2
2
+
+
+
+
+
+
@@ -1836,6 +2079,8 @@
2
2
11
+
+
1
@@ -1863,6 +2108,12 @@
2
2
2
+
+
+
+
+
+
@@ -1884,6 +2135,8 @@
2
2
11
+
+
1
@@ -1911,6 +2164,12 @@
2
2
2
+
+
+
+
+
+
@@ -1932,6 +2191,8 @@
2
2
11
+
+
1
@@ -1959,6 +2220,12 @@
2
2
2
+
+
+
+
+
+
@@ -1980,6 +2247,8 @@
2
2
11
+
+
1
@@ -2007,6 +2276,12 @@
2
2
2
+
+
+
+
+
+
@@ -2028,6 +2303,8 @@
2
2
11
+
+
1
@@ -2055,6 +2332,12 @@
2
2
2
+
+
+
+
+
+
@@ -2076,6 +2359,8 @@
2
2
11
+
+
1
@@ -2103,6 +2388,12 @@
2
2
2
+
+
+
+
+
+
@@ -2124,6 +2415,8 @@
2
2
11
+
+
1
@@ -2151,6 +2444,12 @@
2
2
2
+
+
+
+
+
+
@@ -2172,6 +2471,8 @@
2
2
11
+
+
1
@@ -2199,6 +2500,12 @@
2
2
2
+
+
+
+
+
+
@@ -2220,6 +2527,8 @@
2
2
11
+
+
1
@@ -2247,6 +2556,12 @@
2
2
2
+
+
+
+
+
+
@@ -2268,6 +2583,8 @@
2
2
11
+
+
0
@@ -2295,6 +2612,12 @@
2
2
2
+
+
+
+
+
+
2
@@ -2307,6 +2630,12 @@
2
2
0
+
+
+
+
+
+
@@ -2328,6 +2657,8 @@
2
2
11
+
+
1
@@ -2355,6 +2686,12 @@
2
2
2
+
+
+
+
+
+
@@ -2376,6 +2713,8 @@
2
2
11
+
+
1
@@ -2403,6 +2742,12 @@
2
2
2
+
+
+
+
+
+
@@ -2424,6 +2769,8 @@
2
2
11
+
+
1
@@ -2451,6 +2798,12 @@
2
2
2
+
+
+
+
+
+
@@ -2472,6 +2825,8 @@
2
2
11
+
+
1
@@ -2499,6 +2854,12 @@
2
2
2
+
+
+
+
+
+
@@ -2520,6 +2881,8 @@
2
2
11
+
+
1
@@ -2547,6 +2910,12 @@
2
2
2
+
+
+
+
+
+
@@ -2568,6 +2937,8 @@
2
2
11
+
+
1
@@ -2595,6 +2966,12 @@
2
2
2
+
+
+
+
+
+
@@ -2616,6 +2993,8 @@
2
2
11
+
+
1
@@ -2643,6 +3022,12 @@
2
2
2
+
+
+
+
+
+
@@ -2664,6 +3049,8 @@
2
2
11
+
+
1
@@ -2691,6 +3078,12 @@
2
2
2
+
+
+
+
+
+
@@ -2712,6 +3105,8 @@
2
2
11
+
+
1
@@ -2739,6 +3134,12 @@
2
2
2
+
+
+
+
+
+
@@ -2760,6 +3161,8 @@
2
2
11
+
+
1
@@ -2787,6 +3190,12 @@
2
2
2
+
+
+
+
+
+
@@ -2808,6 +3217,8 @@
2
2
11
+
+
1
@@ -2835,6 +3246,12 @@
2
2
2
+
+
+
+
+
+
@@ -2856,6 +3273,8 @@
2
2
11
+
+
1
@@ -2883,6 +3302,12 @@
2
2
2
+
+
+
+
+
+
@@ -2904,6 +3329,8 @@
2
2
11
+
+
1
@@ -2931,6 +3358,12 @@
2
2
2
+
+
+
+
+
+
@@ -2952,6 +3385,8 @@
2
2
11
+
+
1
@@ -2979,6 +3414,12 @@
2
2
2
+
+
+
+
+
+
@@ -3000,6 +3441,8 @@
2
2
11
+
+
1
@@ -3027,6 +3470,12 @@
2
2
2
+
+
+
+
+
+
@@ -3048,6 +3497,8 @@
2
2
11
+
+
1
@@ -3075,6 +3526,12 @@
2
2
2
+
+
+
+
+
+
@@ -3096,6 +3553,8 @@
2
2
11
+
+
1
@@ -3123,6 +3582,12 @@
2
2
2
+
+
+
+
+
+
@@ -3144,6 +3609,8 @@
2
2
11
+
+
1
@@ -3171,6 +3638,12 @@
2
2
2
+
+
+
+
+
+
@@ -3192,6 +3665,8 @@
2
2
11
+
+
1
@@ -3219,6 +3694,12 @@
2
2
2
+
+
+
+
+
+
@@ -3240,6 +3721,8 @@
2
2
11
+
+
1
@@ -3267,6 +3750,12 @@
2
2
2
+
+
+
+
+
+
@@ -3288,6 +3777,8 @@
2
2
11
+
+
1
@@ -3315,6 +3806,12 @@
2
2
2
+
+
+
+
+
+
@@ -3336,6 +3833,8 @@
2
2
11
+
+
1
@@ -3363,6 +3862,12 @@
2
2
2
+
+
+
+
+
+
@@ -3384,6 +3889,8 @@
2
2
11
+
+
1
@@ -3411,6 +3918,12 @@
2
2
2
+
+
+
+
+
+
@@ -3432,6 +3945,8 @@
2
2
11
+
+
1
@@ -3459,6 +3974,12 @@
2
2
2
+
+
+
+
+
+
@@ -3480,6 +4001,8 @@
2
2
11
+
+
1
@@ -3507,6 +4030,12 @@
2
2
2
+
+
+
+
+
+
@@ -3528,6 +4057,8 @@
2
2
11
+
+
1
@@ -3555,6 +4086,12 @@
2
2
2
+
+
+
+
+
+
@@ -3576,6 +4113,8 @@
2
2
11
+
+
1
@@ -3603,6 +4142,12 @@
2
2
2
+
+
+
+
+
+
@@ -3624,6 +4169,8 @@
2
2
11
+
+
1
@@ -3651,6 +4198,12 @@
2
2
2
+
+
+
+
+
+
@@ -3672,6 +4225,8 @@
2
2
11
+
+
1
@@ -3699,6 +4254,12 @@
2
2
2
+
+
+
+
+
+
@@ -3720,6 +4281,8 @@
2
2
11
+
+
1
@@ -3747,6 +4310,12 @@
2
2
2
+
+
+
+
+
+
@@ -3768,6 +4337,8 @@
2
2
11
+
+
1
@@ -3795,6 +4366,12 @@
2
2
2
+
+
+
+
+
+
@@ -3816,6 +4393,8 @@
2
2
11
+
+
1
@@ -3843,6 +4422,12 @@
2
2
2
+
+
+
+
+
+
@@ -3864,6 +4449,8 @@
2
2
11
+
+
1
@@ -3891,6 +4478,12 @@
2
2
2
+
+
+
+
+
+
@@ -3912,6 +4505,8 @@
2
2
11
+
+
1
@@ -3939,6 +4534,12 @@
2
2
2
+
+
+
+
+
+
@@ -3960,6 +4561,8 @@
2
2
11
+
+
1
@@ -3987,6 +4590,12 @@
2
2
2
+
+
+
+
+
+
@@ -4008,6 +4617,8 @@
2
2
11
+
+
1
@@ -4035,6 +4646,12 @@
2
2
2
+
+
+
+
+
+
@@ -4056,6 +4673,8 @@
2
2
11
+
+
1
@@ -4083,6 +4702,12 @@
2
2
2
+
+
+
+
+
+
@@ -4104,6 +4729,8 @@
2
2
11
+
+
1
@@ -4131,6 +4758,12 @@
2
2
2
+
+
+
+
+
+
@@ -4152,6 +4785,8 @@
2
2
11
+
+
1
@@ -4179,6 +4814,12 @@
2
2
2
+
+
+
+
+
+
@@ -4200,6 +4841,8 @@
2
2
11
+
+
1
@@ -4227,6 +4870,12 @@
2
2
2
+
+
+
+
+
+
@@ -4248,6 +4897,8 @@
2
2
11
+
+
1
@@ -4275,6 +4926,12 @@
2
2
2
+
+
+
+
+
+
@@ -4296,6 +4953,8 @@
2
2
11
+
+
1
@@ -4323,6 +4982,12 @@
2
2
2
+
+
+
+
+
+
@@ -4344,6 +5009,8 @@
2
2
11
+
+
1
@@ -4371,6 +5038,12 @@
2
2
2
+
+
+
+
+
+
@@ -4392,6 +5065,8 @@
2
2
11
+
+
1
@@ -4419,6 +5094,12 @@
2
2
2
+
+
+
+
+
+
@@ -4440,6 +5121,8 @@
2
2
11
+
+
1
@@ -4467,6 +5150,12 @@
2
2
2
+
+
+
+
+
+
@@ -4488,6 +5177,8 @@
2
2
11
+
+
1
@@ -4515,6 +5206,12 @@
2
2
2
+
+
+
+
+
+
@@ -4536,6 +5233,8 @@
2
2
11
+
+
1
@@ -4563,6 +5262,12 @@
2
2
2
+
+
+
+
+
+
@@ -4584,6 +5289,8 @@
2
2
11
+
+
1
@@ -4611,6 +5318,12 @@
2
2
2
+
+
+
+
+
+
@@ -4632,6 +5345,8 @@
2
2
11
+
+
1
@@ -4659,6 +5374,12 @@
2
2
2
+
+
+
+
+
+
@@ -4680,6 +5401,8 @@
2
2
11
+
+
1
@@ -4707,6 +5430,12 @@
2
2
2
+
+
+
+
+
+
@@ -4728,6 +5457,8 @@
2
2
11
+
+
1
@@ -4755,6 +5486,12 @@
2
2
2
+
+
+
+
+
+
@@ -4776,6 +5513,8 @@
2
2
11
+
+
1
@@ -4803,6 +5542,12 @@
2
2
2
+
+
+
+
+
+
@@ -4824,6 +5569,8 @@
2
2
11
+
+
1
@@ -4851,6 +5598,12 @@
2
2
2
+
+
+
+
+
+
@@ -4872,6 +5625,8 @@
2
2
11
+
+
1
@@ -4899,6 +5654,12 @@
2
2
2
+
+
+
+
+
+
@@ -4920,6 +5681,8 @@
2
2
11
+
+
1
@@ -4947,6 +5710,12 @@
2
2
2
+
+
+
+
+
+
@@ -4968,6 +5737,8 @@
2
2
11
+
+
1
@@ -4995,6 +5766,12 @@
2
2
2
+
+
+
+
+
+
@@ -5016,6 +5793,8 @@
2
2
11
+
+
1
@@ -5043,6 +5822,12 @@
2
2
2
+
+
+
+
+
+
@@ -5064,6 +5849,8 @@
2
2
11
+
+
1
@@ -5091,6 +5878,12 @@
2
2
2
+
+
+
+
+
+
@@ -5112,6 +5905,8 @@
2
2
11
+
+
1
@@ -5139,6 +5934,12 @@
2
2
2
+
+
+
+
+
+
@@ -5160,6 +5961,8 @@
2
2
11
+
+
1
@@ -5187,6 +5990,12 @@
2
2
2
+
+
+
+
+
+
@@ -5208,6 +6017,8 @@
2
2
11
+
+
1
@@ -5235,6 +6046,12 @@
2
2
2
+
+
+
+
+
+
@@ -5256,6 +6073,8 @@
2
2
11
+
+
1
@@ -5283,6 +6102,12 @@
2
2
2
+
+
+
+
+
+
@@ -5304,6 +6129,8 @@
2
2
11
+
+
1
@@ -5331,6 +6158,12 @@
2
2
2
+
+
+
+
+
+
@@ -5352,6 +6185,8 @@
2
2
11
+
+
1
@@ -5379,6 +6214,12 @@
2
2
2
+
+
+
+
+
+
@@ -5400,6 +6241,8 @@
2
2
11
+
+
1
@@ -5427,6 +6270,12 @@
2
2
2
+
+
+
+
+
+
@@ -5448,6 +6297,8 @@
2
2
11
+
+
1
@@ -5475,6 +6326,12 @@
2
2
2
+
+
+
+
+
+
@@ -5496,6 +6353,8 @@
2
2
11
+
+
1
@@ -5523,6 +6382,12 @@
2
2
2
+
+
+
+
+
+
@@ -5544,6 +6409,8 @@
2
2
11
+
+
1
@@ -5571,6 +6438,12 @@
2
2
2
+
+
+
+
+
+
@@ -5592,6 +6465,8 @@
2
2
11
+
+
1
@@ -5619,6 +6494,12 @@
2
2
2
+
+
+
+
+
+
@@ -5640,6 +6521,8 @@
2
2
11
+
+
1
@@ -5667,6 +6550,12 @@
2
2
2
+
+
+
+
+
+
@@ -5688,6 +6577,8 @@
2
2
11
+
+
1
@@ -5715,6 +6606,12 @@
2
2
2
+
+
+
+
+
+
@@ -5736,6 +6633,8 @@
2
2
11
+
+
1
@@ -5763,6 +6662,12 @@
2
2
2
+
+
+
+
+
+
@@ -5784,6 +6689,8 @@
2
2
11
+
+
1
@@ -5811,6 +6718,12 @@
2
2
2
+
+
+
+
+
+
@@ -5832,6 +6745,8 @@
2
2
11
+
+
1
@@ -5859,6 +6774,12 @@
2
2
2
+
+
+
+
+
+
@@ -5880,6 +6801,8 @@
2
2
11
+
+
1
@@ -5907,6 +6830,12 @@
2
2
2
+
+
+
+
+
+
@@ -5928,6 +6857,8 @@
2
2
11
+
+
1
@@ -5955,6 +6886,12 @@
2
2
2
+
+
+
+
+
+
@@ -5976,6 +6913,8 @@
2
2
11
+
+
1
@@ -6003,6 +6942,12 @@
2
2
2
+
+
+
+
+
+
@@ -6024,6 +6969,8 @@
2
2
11
+
+
1
@@ -6051,6 +6998,12 @@
2
2
2
+
+
+
+
+
+
@@ -6072,6 +7025,8 @@
2
2
11
+
+
1
@@ -6099,6 +7054,12 @@
2
2
2
+
+
+
+
+
+
@@ -6120,6 +7081,8 @@
2
2
11
+
+
1
@@ -6147,6 +7110,12 @@
2
2
2
+
+
+
+
+
+
@@ -6168,6 +7137,8 @@
2
2
11
+
+
1
@@ -6195,6 +7166,12 @@
2
2
2
+
+
+
+
+
+
@@ -6207,17 +7184,18 @@
+
-
+
-
+
-
+
-
+
-
+
diff --git a/usersrc/encoder.c b/usersrc/encoder.c
index d0aa0a5..70ff5a0 100644
--- a/usersrc/encoder.c
+++ b/usersrc/encoder.c
@@ -4,12 +4,8 @@
#include "zport.h"
#include "udpclient.h"
-static encoder_light_state_t camera_encoder_state = STANDBY;
-static encoder_light_state_t driven_encoder_gear_state = STANDBY;
static uint32_t camera_encoder_lastprocess = 0;
static uint32_t driven_encoder_gear_lastprocess = 0;
-static bool camera_encoder_light_state;
-static bool driven_encoder_light_state;
static encoder_t m_encoders[] = {
{&camera_encoder, TIM_CHANNEL_1 | TIM_CHANNEL_2, 0, 0}, // 相机编码器
@@ -40,9 +36,13 @@ void encoder_all_clear_counter(void)
}
}
+void encoder_switch_clear_counter(encoder_usage_t encoder)
+{
+ m_encoders[encoder].count = 0;
+}
+
void encoder_read_with_encoder(encoder_usage_t encoder, uint32_t *encoder_value)
{
- bool get_encoder_value_flag = false;
switch (encoder)
{
case CAMERA_ENCODER:
@@ -70,33 +70,29 @@ void encoder_light_schedule(void)
G2:tim4-->TIM_CHANNEL_3
B2:tim4-->TIM_CHANNEL_4
*/
-void encoder_light_switch_set_color_and_brightness(encoder_usage_t encoder, encoder_light_color_table_t color, uint16_t brightness)
+void encoder_light_switch_set_color(encoder_usage_t encoder, encoder_light_color_table_t color)
{
- uint16_t count;
if (encoder == CAMERA_ENCODER)
{
switch (color)
{
case ENCODER_LIGHT_COLOR_RED:
- count = (1 - brightness / 65535.0) * __HAL_TIM_GET_AUTORELOAD(&htim2);
- __HAL_TIM_SET_COMPARE(&htim2, TIM_CHANNEL_4, count);
- HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_4);
- HAL_TIM_PWM_Stop(&htim2, TIM_CHANNEL_1);
- HAL_TIM_PWM_Stop(&htim3, TIM_CHANNEL_1);
+ /* 红色 */
+ HAL_GPIO_WritePin(DIS_R1_GPIO_Port, DIS_R1_Pin, GPIO_PIN_RESET);
+ HAL_GPIO_WritePin(DIS_G1_GPIO_Port, DIS_G1_Pin, GPIO_PIN_SET);
+ HAL_GPIO_WritePin(DIS_B1_GPIO_Port, DIS_B1_Pin, GPIO_PIN_SET);
break;
case ENCODER_LIGHT_COLOR_GREEN:
- count = (1 - brightness / 65535.0) * __HAL_TIM_GET_AUTORELOAD(&htim2);
- __HAL_TIM_SET_COMPARE(&htim2, TIM_CHANNEL_1, count);
- HAL_TIM_PWM_Stop(&htim2, TIM_CHANNEL_4);
- HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_1);
- HAL_TIM_PWM_Stop(&htim3, TIM_CHANNEL_1);
+ /* 绿色 */
+ HAL_GPIO_WritePin(DIS_R1_GPIO_Port, DIS_R1_Pin, GPIO_PIN_SET);
+ HAL_GPIO_WritePin(DIS_G1_GPIO_Port, DIS_G1_Pin, GPIO_PIN_RESET);
+ HAL_GPIO_WritePin(DIS_B1_GPIO_Port, DIS_B1_Pin, GPIO_PIN_SET);
break;
case ENCODER_LIGHT_COLOR_BLUE:
- count = (1 - brightness / 65535.0) * __HAL_TIM_GET_AUTORELOAD(&htim3);
- __HAL_TIM_SET_COMPARE(&htim3, TIM_CHANNEL_1, count);
- HAL_TIM_PWM_Stop(&htim2, TIM_CHANNEL_4);
- HAL_TIM_PWM_Stop(&htim2, TIM_CHANNEL_1);
- HAL_TIM_PWM_Start(&htim3, TIM_CHANNEL_1);
+ /* 蓝色 */
+ HAL_GPIO_WritePin(DIS_R1_GPIO_Port, DIS_R1_Pin, GPIO_PIN_SET);
+ HAL_GPIO_WritePin(DIS_G1_GPIO_Port, DIS_G1_Pin, GPIO_PIN_SET);
+ HAL_GPIO_WritePin(DIS_B1_GPIO_Port, DIS_B1_Pin, GPIO_PIN_RESET);
break;
default:
@@ -109,25 +105,22 @@ void encoder_light_switch_set_color_and_brightness(encoder_usage_t encoder, enco
switch (color)
{
case ENCODER_LIGHT_COLOR_RED:
- count = (1 - brightness / 65535.0) * __HAL_TIM_GET_AUTORELOAD(&htim2);
- __HAL_TIM_SET_COMPARE(&htim2, TIM_CHANNEL_3, count);
- HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_3);
- HAL_TIM_PWM_Stop(&htim4, TIM_CHANNEL_3);
- HAL_TIM_PWM_Stop(&htim4, TIM_CHANNEL_4);
+ /* 红色 */
+ HAL_GPIO_WritePin(DIS_R2_GPIO_Port, DIS_R2_Pin, GPIO_PIN_RESET);
+ HAL_GPIO_WritePin(DIS_G2_GPIO_Port, DIS_G2_Pin, GPIO_PIN_SET);
+ HAL_GPIO_WritePin(DIS_B2_GPIO_Port, DIS_B2_Pin, GPIO_PIN_SET);
break;
case ENCODER_LIGHT_COLOR_GREEN:
- count = (1 - brightness / 65535.0) * __HAL_TIM_GET_AUTORELOAD(&htim4);
- __HAL_TIM_SET_COMPARE(&htim4, TIM_CHANNEL_3, count);
- HAL_TIM_PWM_Stop(&htim2, TIM_CHANNEL_3);
- HAL_TIM_PWM_Start(&htim4, TIM_CHANNEL_3);
- HAL_TIM_PWM_Stop(&htim4, TIM_CHANNEL_4);
+ /* 绿色 */
+ HAL_GPIO_WritePin(DIS_R2_GPIO_Port, DIS_R2_Pin, GPIO_PIN_SET);
+ HAL_GPIO_WritePin(DIS_G2_GPIO_Port, DIS_G2_Pin, GPIO_PIN_RESET);
+ HAL_GPIO_WritePin(DIS_B2_GPIO_Port, DIS_B2_Pin, GPIO_PIN_SET);
break;
case ENCODER_LIGHT_COLOR_BLUE:
- count = (1 - brightness / 65535.0) * __HAL_TIM_GET_AUTORELOAD(&htim4);
- __HAL_TIM_SET_COMPARE(&htim4, TIM_CHANNEL_4, count);
- HAL_TIM_PWM_Stop(&htim2, TIM_CHANNEL_3);
- HAL_TIM_PWM_Stop(&htim4, TIM_CHANNEL_3);
- HAL_TIM_PWM_Start(&htim4, TIM_CHANNEL_4);
+ /* 蓝色 */
+ HAL_GPIO_WritePin(DIS_R2_GPIO_Port, DIS_R2_Pin, GPIO_PIN_SET);
+ HAL_GPIO_WritePin(DIS_G2_GPIO_Port, DIS_G2_Pin, GPIO_PIN_SET);
+ HAL_GPIO_WritePin(DIS_B2_GPIO_Port, DIS_B2_Pin, GPIO_PIN_RESET);
break;
default:
@@ -145,47 +138,15 @@ void encoder_switch_close_light(encoder_usage_t encoder)
{
if (encoder == CAMERA_ENCODER)
{
- HAL_TIM_PWM_Stop(&htim2, TIM_CHANNEL_4);
- HAL_TIM_PWM_Stop(&htim2, TIM_CHANNEL_1);
- HAL_TIM_PWM_Stop(&htim3, TIM_CHANNEL_1);
- }
- else if (encoder == DRIVEN_ENCODER_GEAR)
- {
- HAL_TIM_PWM_Stop(&htim2, TIM_CHANNEL_3);
- HAL_TIM_PWM_Stop(&htim4, TIM_CHANNEL_3);
- HAL_TIM_PWM_Stop(&htim4, TIM_CHANNEL_4);
- }
- else
- {
- // error
- }
-}
-
-void encoder_switch_toggle_on_off_state(encoder_usage_t encoder)
-{
- if (encoder == CAMERA_ENCODER)
- {
- if (camera_encoder_light_state)
- {
- encoder_switch_close_light(CAMERA_ENCODER);
- }
- else
- {
- encoder_light_switch_set_color_and_brightness(CAMERA_ENCODER, ENCODER_LIGHT_COLOR_BLUE, encoder_light_max_brightness);
- }
- camera_encoder_light_state = !camera_encoder_light_state;
+ HAL_GPIO_WritePin(DIS_R1_GPIO_Port, DIS_R1_Pin, GPIO_PIN_SET);
+ HAL_GPIO_WritePin(DIS_G1_GPIO_Port, DIS_G1_Pin, GPIO_PIN_SET);
+ HAL_GPIO_WritePin(DIS_B1_GPIO_Port, DIS_B1_Pin, GPIO_PIN_SET);
}
else if (encoder == DRIVEN_ENCODER_GEAR)
{
- if (driven_encoder_light_state)
- {
- encoder_switch_close_light(DRIVEN_ENCODER_GEAR);
- }
- else
- {
- encoder_light_switch_set_color_and_brightness(DRIVEN_ENCODER_GEAR, ENCODER_LIGHT_COLOR_BLUE, encoder_light_max_brightness);
- }
- driven_encoder_light_state = !driven_encoder_light_state;
+ HAL_GPIO_WritePin(DIS_R2_GPIO_Port, DIS_R2_Pin, GPIO_PIN_SET);
+ HAL_GPIO_WritePin(DIS_G2_GPIO_Port, DIS_G2_Pin, GPIO_PIN_SET);
+ HAL_GPIO_WritePin(DIS_B2_GPIO_Port, DIS_B2_Pin, GPIO_PIN_SET);
}
else
{
diff --git a/usersrc/encoder.h b/usersrc/encoder.h
index e2913e7..92a93c1 100644
--- a/usersrc/encoder.h
+++ b/usersrc/encoder.h
@@ -11,13 +11,6 @@ typedef enum
typedef enum
{
- STANDBY = 0X00,
- WORKING = 0X01,
- ENCODER_STATE_NUMBER_AND_ERR_STATE,
-} encoder_light_state_t;
-
-typedef enum
-{
ENCODER_LIGHT_COLOR_RED = 0X00,
ENCODER_LIGHT_COLOR_GREEN = 0X01,
ENCODER_LIGHT_COLOR_BLUE = 0X02,
@@ -31,15 +24,13 @@ typedef struct
uint16_t last_count;
} encoder_t;
-#define encoder_light_max_brightness 1000
-
void encoder_all_start(void);
void encoder_all_stop(void);
void encoder_all_clear_counter(void);
+void encoder_switch_clear_counter(encoder_usage_t encoder);
void encoder_read_with_encoder(encoder_usage_t encoder, uint32_t *encoder_value);
void encoder_light_schedule(void);
-void encoder_light_switch_set_color_and_brightness(encoder_usage_t encoder, encoder_light_color_table_t color, uint16_t brightness);
+void encoder_light_switch_set_color(encoder_usage_t encoder, encoder_light_color_table_t color);
void encoder_switch_close_light(encoder_usage_t encoder);
-void encoder_switch_toggle_on_off_state(encoder_usage_t encoder);
encoder_t *encoder_get_camera_encoder_structer(void);
encoder_t *encoder_get_driven_encoder_gear_structer(void);
diff --git a/usersrc/usermain.c b/usersrc/usermain.c
index a8b6e1b..f8fc2a2 100644
--- a/usersrc/usermain.c
+++ b/usersrc/usermain.c
@@ -51,13 +51,11 @@ static void onkey(zkey_t *key, zkey_state_t key_state)
{
if (strcmp(key->name, CHEAR_ENCODER_1_KEY_NAME) == 0)
{
- encoder_switch_encoder_clear_count_and_structer_count(CAMERA_ENCODER);
- printf("clear encoder 1 count\r\n");
+ encoder_switch_clear_counter(CAMERA_ENCODER);
}
else if (strcmp(key->name, CHEAR_ENCODER_2_KEY_NAME) == 0)
{
- encoder_switch_encoder_clear_count_and_structer_count(DRIVEN_ENCODER_GEAR);
- printf("clear encoder 2 count\r\n");
+ encoder_switch_clear_counter(DRIVEN_ENCODER_GEAR);
}
}
@@ -118,14 +116,14 @@ int32_t compute_uint16_t_minus_the_numbers(uint16_t now, uint16_t last)
void netif_link_up_user_func(void)
{
- encoder_light_switch_set_color_and_brightness(CAMERA_ENCODER, ENCODER_LIGHT_COLOR_GREEN, encoder_light_max_brightness);
- encoder_light_switch_set_color_and_brightness(DRIVEN_ENCODER_GEAR, ENCODER_LIGHT_COLOR_GREEN, encoder_light_max_brightness);
+ encoder_light_switch_set_color(CAMERA_ENCODER, ENCODER_LIGHT_COLOR_GREEN);
+ encoder_light_switch_set_color(DRIVEN_ENCODER_GEAR, ENCODER_LIGHT_COLOR_GREEN);
}
void netif_link_down_user_func(void)
{
- encoder_light_switch_set_color_and_brightness(CAMERA_ENCODER, ENCODER_LIGHT_COLOR_RED, encoder_light_max_brightness);
- encoder_light_switch_set_color_and_brightness(DRIVEN_ENCODER_GEAR, ENCODER_LIGHT_COLOR_RED, encoder_light_max_brightness);
+ encoder_light_switch_set_color(CAMERA_ENCODER, ENCODER_LIGHT_COLOR_RED);
+ encoder_light_switch_set_color(DRIVEN_ENCODER_GEAR, ENCODER_LIGHT_COLOR_RED);
}
static void encoder_get_and_calculation(void)