diff --git a/MDK-ARM/LWIP.uvguix.29643 b/MDK-ARM/LWIP.uvguix.29643
index 90dc9a5..058fae5 100644
--- a/MDK-ARM/LWIP.uvguix.29643
+++ b/MDK-ARM/LWIP.uvguix.29643
@@ -1838,7 +1838,7 @@
Debug
2373
- 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000
+ 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000
898
@@ -3606,9 +3606,9 @@
3
..\usersrc\usermain.c
- 29
- 41
- 55
+ 0
+ 1
+ 1
1
0
@@ -3634,8 +3634,8 @@
..\usersrc\encoder.c
0
- 9
- 10
+ 172
+ 173
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 5645327..c0975da 100644
--- a/usersrc/encoder.c
+++ b/usersrc/encoder.c
@@ -7,7 +7,7 @@
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 uint32_t driven_encoder_gear_lastprocess = 0;
static encoder_t m_uarts[] = {
{&camera_encoder, TIM_CHANNEL_1 | TIM_CHANNEL_2}, // 相机编码器
@@ -76,20 +76,20 @@ bool encoder_read_with_encoder(encoder_usage_t encoder, uint32_t *encoder_value)
void encoder_light_schedule(void)
{
- // if (camera_encoder_state == STANDBY)
- // {
- // if (sys_haspassedms(camera_encoder_lastprocess) > 500)
- // {
- // camera_encoder_lastprocess = HAL_GetTick();
- // HAL_GPIO_TogglePin(ENCODER_LIGHT_GPIO_Port, ENCODER_LIGHT_Pin);
- // }
- // }
+ if (camera_encoder_state == STANDBY)
+ {
+ if (sys_haspassedms(camera_encoder_lastprocess) > 500)
+ {
+ camera_encoder_lastprocess = HAL_GetTick();
+ // HAL_GPIO_TogglePin(ENCODER_LIGHT_GPIO_Port, ENCODER_LIGHT_Pin);
+ }
+ }
if (driven_encoder_gear_state == STANDBY)
{
if (sys_haspassedms(camera_encoder_lastprocess) > 500)
{
- driven_encoder_gear_lastprocess = HAL_GetTick();
+ // driven_encoder_gear_lastprocess = HAL_GetTick();
// HAL_GPIO_TogglePin(ENCODER_LIGHT_GPIO_Port, ENCODER_LIGHT_Pin);
}
}
@@ -117,7 +117,7 @@ void encoder_set_state(encoder_usage_t encoder, encoder_light_state_t state)
driven_encoder_gear_state = state;
if (state == STANDBY)
{
- driven_encoder_gear_lastprocess = HAL_GetTick();
+ // driven_encoder_gear_lastprocess = HAL_GetTick();
// HAL_GPIO_TogglePin(ENCODER_LIGHT_GPIO_Port, ENCODER_LIGHT_Pin);
}
else if (state == WORKING)
@@ -165,3 +165,83 @@ void encoder_switch_encoder_clear_count_and_structer_count(encoder_usage_t encod
break;
}
}
+
+/*
+ R1:tim2-->TIM_CHANNEL_4
+ G1:tim2-->TIM_CHANNEL_1
+ B1:tim3-->TIM_CHANNEL_1
+
+ R2:tim2-->TIM_CHANNEL_3
+ 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)
+{
+ uint16_t count;
+ if (encoder == CAMERA_ENCODER)
+ {
+ switch (color)
+ {
+ case ENCODER_LIGHT_COLOR_RED:
+ count = (1 - brightness / 1000.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);
+ break;
+ case ENCODER_LIGHT_COLOR_GREEN:
+ count = (1 - brightness / 1000.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);
+ break;
+ case ENCODER_LIGHT_COLOR_BLUE:
+ count = (1 - brightness / 1000.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);
+ break;
+
+ default:
+ /* not find color */
+ break;
+ }
+ }
+ else if (encoder == DRIVEN_ENCODER_GEAR)
+ {
+ switch (color)
+ {
+ case ENCODER_LIGHT_COLOR_RED:
+ count = (1 - brightness / 1000.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);
+ break;
+ case ENCODER_LIGHT_COLOR_GREEN:
+ count = (1 - brightness / 1000.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);
+ break;
+ case ENCODER_LIGHT_COLOR_BLUE:
+ count = (1 - brightness / 1000.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);
+ break;
+
+ default:
+ /* not find color */
+ break;
+ }
+ }
+ else
+ {
+ // error
+ }
+}
diff --git a/usersrc/encoder.h b/usersrc/encoder.h
index df461f5..16d7b30 100644
--- a/usersrc/encoder.h
+++ b/usersrc/encoder.h
@@ -16,12 +16,21 @@ typedef enum
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,
+} encoder_light_color_table_t;
+
typedef struct
{
TIM_HandleTypeDef *tim_handler;
uint32_t tim_channel;
} encoder_t;
+#define encoder_light_max_brightness 1000
+
void encoder_all_start(void);
void encoder_all_stop(void);
bool encoder_clear_counter(encoder_usage_t encoder);
@@ -32,3 +41,4 @@ void encoder_set_state(encoder_usage_t encoder, encoder_light_state_t state);
encoder_light_state_t encoder_get_state(encoder_usage_t encoder);
void encoder_all_encoder_clear_counter_and_structer_count(void);
void encoder_switch_encoder_clear_count_and_structer_count(encoder_usage_t encoder);
+void encoder_light_switch_set_color_and_brightness(encoder_usage_t encoder, encoder_light_color_table_t color, uint16_t brightness);
diff --git a/usersrc/usermain.c b/usersrc/usermain.c
index f78bf23..2805770 100644
--- a/usersrc/usermain.c
+++ b/usersrc/usermain.c
@@ -103,18 +103,14 @@ void user_main()
printf("==============ethernet_sound_acquisition_card=============\r\n");
printf("version %d.%d", VERSION_MAIN_ID, VERSION_SUB_ID);
- 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_RESET);
- 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_RESET);
- HAL_GPIO_WritePin(DIS_B2_GPIO_Port, DIS_B2_Pin, GPIO_PIN_SET);
-
encoder_all_start();
udp_client_init();
zkey_init(&s_key_module);
port_uart_start_all_uart_receive();
+ 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_GREEN, encoder_light_max_brightness);
+
while (1)
{
udp_client_genlock_and_esync_active();
@@ -124,6 +120,7 @@ void user_main()
at_cmd_processer_try_process_data();
// encoder_light_schedule();
port_do_debug_light_state();
+
osDelay(1);
}
}