diff --git a/baseflight.uvgui.timecop b/baseflight.uvgui.timecop
index c325186e6..9a6fac964 100755
--- a/baseflight.uvgui.timecop
+++ b/baseflight.uvgui.timecop
@@ -5,29 +5,23 @@
### uVision Project, (C) Keil Software
-
-
- System Viewer\I2C2
-
- 133
-
-
+
38003
Registers
- 115 100
+ 115 93
346
Code Coverage
- 1136 261
+ 1136 680
204
Performance Analyzer
- 1296 194 194 100
+ 1296 194 194 132
@@ -96,8 +90,8 @@
0
- 1795
- 01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000015000000080000000100000035443A5C666C795F3132325C70726F6A656374735C62617365666C696768745C737461727475705F73746D3332663130785F6D642E730000000016737461727475705F73746D3332663130785F6D642E7300000000A5C2D700FFFFFFFF28443A5C666C795F3132325C70726F6A656374735C62617365666C696768745C6472765F6164632E6300000000096472765F6164632E63000000005FC3CF00FFFFFFFF28443A5C666C795F3132325C70726F6A656374735C62617365666C696768745C6472765F6932632E6800000000096472765F6932632E6800000000FFDC7800FFFFFFFF23443A5C666C795F3132325C70726F6A656374735C62617365666C696768745C6D772E6800000000046D772E6800000000C5D4F200FFFFFFFF52443A5C666C795F3132325C70726F6A656374735C62617365666C696768745C6C69625C53544D3332463130785F5374645065726970685F4472697665725C7372635C73746D3332663130785F6770696F2E63000000001073746D3332663130785F6770696F2E6300000000C1838300FFFFFFFF25443A5C666C795F3132325C70726F6A656374735C62617365666C696768745C6D61696E2E6300000000066D61696E2E6300000000B5E99D00FFFFFFFF26443A5C666C795F3132325C70726F6A656374735C62617365666C696768745C626F6172642E680000000007626F6172642E6800000000C5D4F200FFFFFFFF27443A5C666C795F3132325C70726F6A656374735C62617365666C696768745C73657269616C2E63000000000873657269616C2E6300000000FFDC7800FFFFFFFF23443A5C666C795F3132325C70726F6A656374735C62617365666C696768745C6D772E6300000000046D772E6300000000BECEA100FFFFFFFF2C443A5C666C795F3132325C70726F6A656374735C62617365666C696768745C6472765F6D7075333035302E63000000000D6472765F6D7075333035302E6300000000F0A0A100FFFFFFFF2C443A5C666C795F3132325C70726F6A656374735C62617365666C696768745C6472765F6164786C3334352E63000000000D6472765F6164786C3334352E6300000000BCA8E100FFFFFFFF2D443A5C666C795F3132325C70726F6A656374735C62617365666C696768745C6472765F686D63353838336C2E63000000000E6472765F686D63353838336C2E63000000009CC1B600FFFFFFFF24443A5C666C795F3132325C70726F6A656374735C62617365666C696768745C696D752E630000000005696D752E6300000000F7B88600FFFFFFFF28443A5C666C795F3132325C70726F6A656374735C62617365666C696768745C73656E736F72732E63000000000973656E736F72732E6300000000D9ADC200FFFFFFFF28443A5C666C795F3132325C70726F6A656374735C62617365666C696768745C6472765F6932632E6300000000096472765F6932632E6300000000B5E99D00FFFFFFFF2B443A5C666C795F3132325C70726F6A656374735C62617365666C696768745C6472765F626D703038352E63000000000C6472765F626D703038352E6300000000B3A6BE00FFFFFFFF2B443A5C666C795F3132325C70726F6A656374735C62617365666C696768745C6472765F73797374656D2E63000000000C6472765F73797374656D2E6300000000EAD6A300FFFFFFFF51443A5C666C795F3132325C70726F6A656374735C62617365666C696768745C6C69625C53544D3332463130785F5374645065726970685F4472697665725C7372635C73746D3332663130785F7263632E63000000000F73746D3332663130785F7263632E6300000000F6FA7D00FFFFFFFF51443A5C666C795F3132325C70726F6A656374735C62617365666C696768745C6C69625C53544D3332463130785F5374645065726970685F4472697665725C696E635C73746D3332663130785F7263632E68000000000F73746D3332663130785F7263632E68000000005FC3CF00FFFFFFFF52443A5C666C795F3132325C70726F6A656374735C62617365666C696768745C6C69625C53544D3332463130785F5374645065726970685F4472697665725C696E635C73746D3332663130785F6770696F2E68000000001073746D3332663130785F6770696F2E6800000000CACAD500FFFFFFFF28443A5C666C795F3132325C70726F6A656374735C62617365666C696768745C6472765F70776D2E6300000000096472765F70776D2E6300000000BCA8E100FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000DE0000005E00000000080000FE020000
+ 629
+ 01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000007000000030000000100000027443A5C666C795F3132325C70726F6A656374735C62617365666C696768745C636F6E6669672E630000000008636F6E6669672E6300000000FFDC7800FFFFFFFF2B443A5C666C795F3132325C70726F6A656374735C62617365666C696768745C6472765F73797374656D2E63000000000C6472765F73797374656D2E6300000000BECEA100FFFFFFFF23443A5C666C795F3132325C70726F6A656374735C62617365666C696768745C6D772E6800000000046D772E6800000000BCA8E100FFFFFFFF25443A5C666C795F3132325C70726F6A656374735C62617365666C696768745C6D61696E2E6300000000066D61696E2E6300000000F0A0A100FFFFFFFF26443A5C666C795F3132325C70726F6A656374735C62617365666C696768745C6D697865722E6300000000076D697865722E6300000000BCA8E100FFFFFFFF27443A5C666C795F3132325C70726F6A656374735C62617365666C696768745C73657269616C2E63000000000873657269616C2E63000000009CC1B600FFFFFFFF2B443A5C666C795F3132325C70726F6A656374735C62617365666C696768745C6472765F73797374656D2E68000000000C6472765F73797374656D2E6800000000F7B88600FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000DE0000005E00000000080000FE020000
@@ -1583,6 +1577,26 @@
0A0000000A0000006E0000006E000000
+
+ 50029
+ 50029
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 0300000082020000930100009B020000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
50034
50034
@@ -2303,6 +2317,26 @@
0A0000000A0000006E0000006E000000
+
+ 50393
+ 50393
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 6B04000075000000F50500008E000000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
50407
50407
@@ -2923,6 +2957,46 @@
0A0000000A0000006E0000006E000000
+
+ 50646
+ 50646
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ E100000075000000F50500008E000000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 50649
+ 50649
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 0300000082020000930100009B020000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
50666
50666
@@ -2943,6 +3017,26 @@
0A0000000A0000006E0000006E000000
+
+ 50671
+ 50671
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 0300000082020000930100009B020000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
50678
50678
@@ -3183,6 +3277,66 @@
0A0000000A0000006E0000006E000000
+
+ 50730
+ 50730
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 0300000082020000930100009B020000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 50734
+ 50734
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ E100000075000000F50500008E000000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 50741
+ 50741
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ E100000075000000F50500008E000000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
50743
50743
@@ -3284,8 +3438,8 @@
- 50770
- 50770
+ 50758
+ 50758
0
0
0
@@ -3304,8 +3458,8 @@
- 50771
- 50771
+ 50761
+ 50761
0
0
0
@@ -3324,8 +3478,8 @@
- 50775
- 50775
+ 50764
+ 50764
1
0
0
@@ -3336,7 +3490,7 @@
0
16
- E100000075000000F50500008E000000
+ 6B04000075000000F50500008E000000
16
@@ -3344,8 +3498,8 @@
- 50803
- 50803
+ 50770
+ 50770
0
0
0
@@ -3364,8 +3518,8 @@
- 50804
- 50804
+ 50771
+ 50771
0
0
0
@@ -3384,9 +3538,9 @@
- 50890
- 50890
- 0
+ 50775
+ 50775
+ 1
0
0
0
@@ -3396,7 +3550,7 @@
0
16
- 0300000082020000930100009B020000
+ E100000075000000F50500008E000000
16
@@ -3404,9 +3558,9 @@
- 50912
- 50912
- 1
+ 50784
+ 50784
+ 0
0
0
0
@@ -3416,7 +3570,7 @@
0
16
- E100000075000000F50500008E000000
+ 0300000082020000930100009B020000
16
@@ -3424,8 +3578,8 @@
- 50913
- 50913
+ 50786
+ 50786
0
0
0
@@ -3444,8 +3598,8 @@
- 50914
- 50914
+ 50791
+ 50791
0
0
0
@@ -3464,8 +3618,28 @@
- 50915
- 50915
+ 50793
+ 50793
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 6B04000075000000F50500008E000000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 50796
+ 50796
0
0
0
@@ -3484,9 +3658,9 @@
- 50916
- 50916
- 1
+ 50801
+ 50801
+ 0
0
0
0
@@ -3496,7 +3670,7 @@
0
16
- 6B04000075000000F50500008E000000
+ 0300000082020000930100009B020000
16
@@ -3504,19 +3678,19 @@
- 59392
- 59392
- 1
+ 50803
+ 50803
+ 0
0
0
0
- 882
+ 32767
0
- 8192
+ 4096
0
16
- 00000000000000007D0300001A000000
+ 0300000082020000930100009B020000
16
@@ -3524,9 +3698,9 @@
- 59393
- 0
- 1
+ 50804
+ 50804
+ 0
0
0
0
@@ -3536,7 +3710,7 @@
0
16
- 000000003E0400000008000051040000
+ 0300000082020000930100009B020000
16
@@ -3544,19 +3718,19 @@
- 59398
- 59398
- 1
+ 50818
+ 50818
+ 0
0
0
0
- 373
+ 32767
0
- 8192
- 1
+ 4096
+ 0
16
- 000000001A0000008001000034000000
+ 0300000082020000930100009B020000
16
@@ -3564,9 +3738,9 @@
- 593980
- 59398
- 1
+ 50826
+ 50826
+ 0
0
0
0
@@ -3576,7 +3750,7 @@
0
16
- 00000000000000000108000017000000
+ 0300000082020000930100009B020000
16
@@ -3584,19 +3758,319 @@
- 59399
- 59399
- 0
+ 50841
+ 50841
+ 1
0
0
0
- 602
+ 32767
0
- 8192
- 2
+ 4096
+ 0
16
- 0000000034000000650200004E000000
+ 6B04000075000000F50500008E000000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 50846
+ 50846
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 6B04000075000000F50500008E000000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 50848
+ 50848
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 0300000082020000930100009B020000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 50852
+ 50852
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 0300000082020000930100009B020000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 50864
+ 50864
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ E100000075000000F50500008E000000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 50890
+ 50890
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 0300000082020000930100009B020000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 50912
+ 50912
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ E100000075000000F50500008E000000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 50913
+ 50913
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 0300000082020000930100009B020000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 50914
+ 50914
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 0300000082020000930100009B020000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 50915
+ 50915
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 0300000082020000930100009B020000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 50916
+ 50916
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 6B04000075000000F50500008E000000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 59392
+ 59392
+ 1
+ 0
+ 0
+ 0
+ 882
+ 0
+ 8192
+ 0
+
+ 16
+ 00000000000000007D0300001A000000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 59393
+ 0
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 000000003E0400000008000051040000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 59398
+ 59398
+ 1
+ 0
+ 0
+ 0
+ 373
+ 0
+ 8192
+ 1
+
+ 16
+ 000000001A0000008001000034000000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 593980
+ 59398
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 00000000000000000008000017000000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 59399
+ 59399
+ 0
+ 0
+ 0
+ 0
+ 602
+ 0
+ 8192
+ 2
+
+ 16
+ 0000000034000000650200004E000000
16
@@ -3612,7 +4086,7 @@
File
2002
- 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050FFFFFFFF0096000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000020000001500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000000180C8880000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E4C010000020000001A0000000F50726F6A6563742057696E646F7773000000000000000000000000010000000100000000000000000000000100000008002880DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002880DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002880E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002880E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000288018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000028800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002880D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002880E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C6572030000
+ 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050FFFFFFFF0096000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000020000001500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000000180C8880000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E4C010000020001001A0000000F50726F6A6563742057696E646F7773000000000000000000000000010000000100000000000000000000000100000008002880DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002880DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002880E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002880E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000288018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000028800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002880D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002880E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C6572030000
1423
@@ -3665,9 +4139,169 @@
1
Debug
- -1
- -1
- 1
+ -1
+ -1
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DE0000004B0000000008000092010000
+
+
+ 16
+ DE0000005E00000000080000A5010000
+
+
+
+ 1005
+ 1005
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 0300000062000000D70000004C020000
+
+
+ 16
+ 1A0000002D000000F4000000AC020000
+
+
+
+ 109
+ 109
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 0300000062000000D700000003030000
+
+
+ 16
+ 1A0000002D000000F4000000AC020000
+
+
+
+ 1465
+ 1465
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 0704000080020000FD0700006E030000
+
+
+ 16
+ 1A0000002D00000016030000CC000000
+
+
+
+ 1466
+ 1466
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 0704000080020000FD0700006E030000
+
+
+ 16
+ 1A0000002D00000016030000CC000000
+
+
+
+ 1467
+ 1467
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 0704000080020000FD0700006E030000
+
+
+ 16
+ 1A0000002D00000016030000CC000000
+
+
+
+ 1468
+ 1468
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 0704000080020000FD0700006E030000
+
+
+ 16
+ 1A0000002D00000016030000CC000000
+
+
+
+ 1506
+ 1506
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 16384
+ 0
+
+ 16
+ 7306000062000000FD07000003030000
+
+
+ 16
+ 1A0000002D000000AA010000BD010000
+
+
+
+ 1913
+ 1913
+ 0
0
0
0
@@ -3677,19 +4311,159 @@
0
16
- DE0000004B0000006C06000092010000
+ E100000062000000FD07000079010000
+
+
+ 16
+ 1A0000002D00000016030000CC000000
+
+
+
+ 1935
+ 1935
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 0704000080020000FD0700006E030000
16
- DE0000005E0000006C060000A5010000
+ 1A0000002D000000AA010000BD010000
- 1005
- 1005
+ 1936
+ 1936
1
0
0
+ 1
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 0704000080020000FD0700006E030000
+
+
+ 16
+ 1A0000002D000000AA010000BD010000
+
+
+
+ 1937
+ 1937
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 0704000080020000FD0700006E030000
+
+
+ 16
+ 1A0000002D000000AA010000BD010000
+
+
+
+ 1939
+ 1939
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 0704000080020000FD0700006E030000
+
+
+ 16
+ 1A0000002D00000016030000CC000000
+
+
+
+ 1940
+ 1940
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 0704000080020000FD0700006E030000
+
+
+ 16
+ 1A0000002D00000016030000CC000000
+
+
+
+ 1941
+ 1941
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 0704000080020000FD0700006E030000
+
+
+ 16
+ 1A0000002D00000016030000CC000000
+
+
+
+ 1942
+ 1942
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 0704000080020000FD0700006E030000
+
+
+ 16
+ 1A0000002D00000016030000CC000000
+
+
+
+ 195
+ 195
+ 0
+ 0
+ 0
0
32767
0
@@ -3705,8 +4479,8 @@
- 109
- 109
+ 196
+ 196
0
0
0
@@ -3725,9 +4499,9 @@
- 1465
- 1465
- 1
+ 197
+ 197
+ 0
0
0
0
@@ -3737,7 +4511,7 @@
0
16
- 0704000037030000FD07000025040000
+ 03000000A2030000FD07000025040000
16
@@ -3745,59 +4519,139 @@
- 1466
- 1466
+ 198
+ 198
+ 1
+ 0
+ 0
+ 1
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 00000000690200000004000087030000
+
+
+ 16
+ 1A0000002D00000016030000CC000000
+
+
+
+ 199
+ 199
+ 1
+ 0
+ 0
+ 1
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 000000009F030000000800003E040000
+
+
+ 16
+ 1A0000002D00000016030000CC000000
+
+
+
+ 203
+ 203
1
0
0
+ 1
+ 32767
+ 0
+ 8192
+ 0
+
+ 16
+ DE0000005F0000000008000092010000
+
+
+ 16
+ 1A0000002D00000016030000CC000000
+
+
+
+ 204
+ 204
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ E100000062000000FD07000079010000
+
+
+ 16
+ 1A0000002D00000016030000CC000000
+
+
+
+ 221
+ 221
+ 0
+ 0
+ 0
0
32767
0
- 32768
+ 4096
0
16
- 0704000037030000FD07000025040000
+ 00000000000000000000000000000000
16
- 1A0000002D00000016030000CC000000
+ 0A0000000A0000006E0000006E000000
- 1467
- 1467
+ 2506
+ 2506
0
0
0
0
32767
0
- 32768
+ 4096
0
16
- 0704000037030000FD07000025040000
+ E100000062000000FD07000079010000
16
- 1A0000002D00000016030000CC000000
+ 1A0000002D000000AA010000BD010000
- 1468
- 1468
+ 343
+ 343
0
0
0
0
32767
0
- 32768
+ 4096
0
16
- 0704000037030000FD07000025040000
+ E100000062000000FD07000079010000
16
@@ -3805,28 +4659,28 @@
- 1506
- 1506
+ 346
+ 346
0
0
0
0
32767
0
- 16384
+ 4096
0
16
- 7306000062000000FD07000003030000
+ E100000062000000FD07000079010000
16
- 1A0000002D000000AA010000BD010000
+ 1A0000002D00000016030000CC000000
- 1913
- 1913
+ 35824
+ 35824
0
0
0
@@ -3837,7 +4691,7 @@
0
16
- E1000000620000006906000079010000
+ E100000062000000FD07000079010000
16
@@ -3845,19 +4699,19 @@
- 1935
- 1935
- 1
+ 35885
+ 35885
+ 0
0
0
0
32767
0
- 32768
+ 4096
0
16
- 0704000037030000FD07000025040000
+ 7306000062000000FD07000003030000
16
@@ -3865,19 +4719,19 @@
- 1936
- 1936
- 1
+ 35886
+ 35886
+ 0
0
0
- 1
+ 0
32767
0
- 32768
+ 4096
0
16
- 0704000037030000FD07000025040000
+ 7306000062000000FD07000003030000
16
@@ -3885,19 +4739,19 @@
- 1937
- 1937
+ 35887
+ 35887
0
0
0
0
32767
0
- 32768
+ 4096
0
16
- 0704000037030000FD07000025040000
+ 7306000062000000FD07000003030000
16
@@ -3905,88 +4759,88 @@
- 1939
- 1939
+ 35888
+ 35888
0
0
0
0
32767
0
- 32768
+ 4096
0
16
- 0704000037030000FD07000025040000
+ 7306000062000000FD07000003030000
16
- 1A0000002D00000016030000CC000000
+ 1A0000002D000000AA010000BD010000
- 1940
- 1940
+ 35889
+ 35889
0
0
0
0
32767
0
- 32768
+ 4096
0
16
- 0704000037030000FD07000025040000
+ 7306000062000000FD07000003030000
16
- 1A0000002D00000016030000CC000000
+ 1A0000002D000000AA010000BD010000
- 1941
- 1941
+ 35890
+ 35890
0
0
0
0
32767
0
- 32768
+ 4096
0
16
- 0704000037030000FD07000025040000
+ 7306000062000000FD07000003030000
16
- 1A0000002D00000016030000CC000000
+ 1A0000002D000000AA010000BD010000
- 1942
- 1942
+ 35891
+ 35891
0
0
0
0
32767
0
- 32768
+ 4096
0
16
- 0704000037030000FD07000025040000
+ 7306000062000000FD07000003030000
16
- 1A0000002D00000016030000CC000000
+ 1A0000002D000000AA010000BD010000
- 195
- 195
+ 35892
+ 35892
0
0
0
@@ -3997,16 +4851,16 @@
0
16
- 0300000062000000D700000003030000
+ 7306000062000000FD07000003030000
16
- 1A0000002D000000F4000000AC020000
+ 1A0000002D000000AA010000BD010000
- 196
- 196
+ 35893
+ 35893
0
0
0
@@ -4017,56 +4871,56 @@
0
16
- 0300000062000000D700000003030000
+ 7306000062000000FD07000003030000
16
- 1A0000002D000000F4000000AC020000
+ 1A0000002D000000AA010000BD010000
- 197
- 197
+ 35894
+ 35894
0
0
0
0
32767
0
- 32768
+ 4096
0
16
- 03000000A2030000FD07000025040000
+ 7306000062000000FD07000003030000
16
- 1A0000002D00000016030000CC000000
+ 1A0000002D000000AA010000BD010000
- 198
- 198
- 1
+ 35895
+ 35895
+ 0
0
0
- 1
+ 0
32767
0
- 32768
+ 4096
0
16
- 0000000020030000000400003E040000
+ 7306000062000000FD07000003030000
16
- 1A0000002D00000016030000CC000000
+ 1A0000002D000000AA010000BD010000
- 199
- 199
+ 35896
+ 35896
0
0
0
@@ -4077,36 +4931,36 @@
0
16
- 03000000A2030000FD07000025040000
+ 7306000062000000FD07000003030000
16
- 1A0000002D00000016030000CC000000
+ 1A0000002D000000AA010000BD010000
- 203
- 203
- 1
+ 35897
+ 35897
+ 0
0
0
- 1
+ 0
32767
0
- 8192
+ 4096
0
16
- DE0000005F0000006C06000092010000
+ 7306000062000000FD07000003030000
16
- 1A0000002D00000016030000CC000000
+ 1A0000002D000000AA010000BD010000
- 204
- 204
+ 35898
+ 35898
0
0
0
@@ -4117,16 +4971,16 @@
0
16
- E1000000620000006906000079010000
+ 7306000062000000FD07000003030000
16
- 1A0000002D00000016030000CC000000
+ 1A0000002D000000AA010000BD010000
- 221
- 221
+ 35899
+ 35899
0
0
0
@@ -4137,16 +4991,16 @@
0
16
- 00000000000000000000000000000000
+ 7306000062000000FD07000003030000
16
- 0A0000000A0000006E0000006E000000
+ 1A0000002D000000AA010000BD010000
- 2506
- 2506
+ 35900
+ 35900
0
0
0
@@ -4157,7 +5011,7 @@
0
16
- E1000000620000006906000079010000
+ 7306000062000000FD07000003030000
16
@@ -4165,8 +5019,8 @@
- 343
- 343
+ 35901
+ 35901
0
0
0
@@ -4177,16 +5031,16 @@
0
16
- E1000000620000006906000079010000
+ 7306000062000000FD07000003030000
16
- 1A0000002D00000016030000CC000000
+ 1A0000002D000000AA010000BD010000
- 346
- 346
+ 35902
+ 35902
0
0
0
@@ -4197,16 +5051,16 @@
0
16
- E1000000620000006906000079010000
+ 7306000062000000FD07000003030000
16
- 1A0000002D00000016030000CC000000
+ 1A0000002D000000AA010000BD010000
- 35824
- 35824
+ 35903
+ 35903
0
0
0
@@ -4217,16 +5071,16 @@
0
16
- E1000000620000006906000079010000
+ 7306000062000000FD07000003030000
16
- 1A0000002D00000016030000CC000000
+ 1A0000002D000000AA010000BD010000
- 35885
- 35885
+ 35904
+ 35904
0
0
0
@@ -4245,8 +5099,8 @@
- 35886
- 35886
+ 35905
+ 35905
0
0
0
@@ -4265,28 +5119,28 @@
- 35887
- 35887
- 0
+ 38003
+ 38003
+ 1
0
0
- 0
+ 1
32767
0
4096
0
16
- 7306000062000000FD07000003030000
+ 0300000062000000D70000004C020000
16
- 1A0000002D000000AA010000BD010000
+ 1A0000002D000000F4000000AC020000
- 35888
- 35888
+ 38007
+ 38007
0
0
0
@@ -4297,17 +5151,17 @@
0
16
- 7306000062000000FD07000003030000
+ 03000000A2030000FD07000025040000
16
- 1A0000002D000000AA010000BD010000
+ 1A0000002D00000016030000CC000000
- 35889
- 35889
- 0
+ 49929
+ 49929
+ 1
0
0
0
@@ -4317,16 +5171,16 @@
0
16
- 7306000062000000FD07000003030000
+ 6B04000075000000F50500008E000000
16
- 1A0000002D000000AA010000BD010000
+ 0A0000000A0000006E0000006E000000
- 35890
- 35890
+ 49930
+ 49930
0
0
0
@@ -4337,16 +5191,16 @@
0
16
- 7306000062000000FD07000003030000
+ 070400009302000097050000AC020000
16
- 1A0000002D000000AA010000BD010000
+ 0A0000000A0000006E0000006E000000
- 35891
- 35891
+ 49933
+ 49933
0
0
0
@@ -4357,16 +5211,16 @@
0
16
- 7306000062000000FD07000003030000
+ 070400009302000097050000AC020000
16
- 1A0000002D000000AA010000BD010000
+ 0A0000000A0000006E0000006E000000
- 35892
- 35892
+ 49934
+ 49934
0
0
0
@@ -4377,17 +5231,17 @@
0
16
- 7306000062000000FD07000003030000
+ 070400009302000097050000AC020000
16
- 1A0000002D000000AA010000BD010000
+ 0A0000000A0000006E0000006E000000
- 35893
- 35893
- 0
+ 49937
+ 49937
+ 1
0
0
0
@@ -4397,16 +5251,16 @@
0
16
- 7306000062000000FD07000003030000
+ 6B04000075000000F50500008E000000
16
- 1A0000002D000000AA010000BD010000
+ 0A0000000A0000006E0000006E000000
- 35894
- 35894
+ 49938
+ 49938
0
0
0
@@ -4417,17 +5271,17 @@
0
16
- 7306000062000000FD07000003030000
+ 0704000023030000970500003C030000
16
- 1A0000002D000000AA010000BD010000
+ 0A0000000A0000006E0000006E000000
- 35895
- 35895
- 0
+ 49939
+ 49939
+ 1
0
0
0
@@ -4437,16 +5291,16 @@
0
16
- 7306000062000000FD07000003030000
+ 6B04000075000000F50500008E000000
16
- 1A0000002D000000AA010000BD010000
+ 0A0000000A0000006E0000006E000000
- 35896
- 35896
+ 49940
+ 49940
0
0
0
@@ -4457,16 +5311,16 @@
0
16
- 7306000062000000FD07000003030000
+ 0704000023030000970500003C030000
16
- 1A0000002D000000AA010000BD010000
+ 0A0000000A0000006E0000006E000000
- 35897
- 35897
+ 49941
+ 49941
0
0
0
@@ -4477,16 +5331,16 @@
0
16
- 7306000062000000FD07000003030000
+ 0704000023030000970500003C030000
16
- 1A0000002D000000AA010000BD010000
+ 0A0000000A0000006E0000006E000000
- 35898
- 35898
+ 49942
+ 49942
0
0
0
@@ -4497,17 +5351,17 @@
0
16
- 7306000062000000FD07000003030000
+ 0704000023030000970500003C030000
16
- 1A0000002D000000AA010000BD010000
+ 0A0000000A0000006E0000006E000000
- 35899
- 35899
- 0
+ 49943
+ 49943
+ 1
0
0
0
@@ -4517,16 +5371,16 @@
0
16
- 7306000062000000FD07000003030000
+ E100000075000000FD0700008E000000
16
- 1A0000002D000000AA010000BD010000
+ 0A0000000A0000006E0000006E000000
- 35900
- 35900
+ 49945
+ 49945
0
0
0
@@ -4537,16 +5391,16 @@
0
16
- 7306000062000000FD07000003030000
+ 0704000023030000970500003C030000
16
- 1A0000002D000000AA010000BD010000
+ 0A0000000A0000006E0000006E000000
- 35901
- 35901
+ 49946
+ 49946
0
0
0
@@ -4557,17 +5411,17 @@
0
16
- 7306000062000000FD07000003030000
+ 0704000023030000970500003C030000
16
- 1A0000002D000000AA010000BD010000
+ 0A0000000A0000006E0000006E000000
- 35902
- 35902
- 0
+ 49947
+ 49947
+ 1
0
0
0
@@ -4577,17 +5431,17 @@
0
16
- 7306000062000000FD07000003030000
+ E100000075000000FD0700008E000000
16
- 1A0000002D000000AA010000BD010000
+ 0A0000000A0000006E0000006E000000
- 35903
- 35903
- 0
+ 49950
+ 49950
+ 1
0
0
0
@@ -4597,17 +5451,17 @@
0
16
- 7306000062000000FD07000003030000
+ E100000075000000FD0700008E000000
16
- 1A0000002D000000AA010000BD010000
+ 0A0000000A0000006E0000006E000000
- 35904
- 35904
- 0
+ 49995
+ 49995
+ 1
0
0
0
@@ -4617,56 +5471,56 @@
0
16
- 7306000062000000FD07000003030000
+ 6B04000075000000F50500008E000000
16
- 1A0000002D000000AA010000BD010000
+ 0A0000000A0000006E0000006E000000
- 35905
- 35905
- 1
+ 50001
+ 50001
+ 0
0
0
- 1
+ 0
32767
0
4096
0
16
- 700600005F000000000800001C030000
+ 070400004A0300009705000063030000
16
- 1A0000002D000000AA010000BD010000
+ 0A0000000A0000006E0000006E000000
- 38003
- 38003
- 1
+ 50006
+ 50006
+ 0
0
0
- 1
+ 0
32767
0
4096
0
16
- 0300000062000000D700000003030000
+ 070400004A0300009705000063030000
16
- 1A0000002D000000F4000000AC020000
+ 0A0000000A0000006E0000006E000000
- 38007
- 38007
+ 50008
+ 50008
0
0
0
@@ -4677,16 +5531,16 @@
0
16
- 03000000A2030000FD07000025040000
+ 070400004A0300009705000063030000
16
- 1A0000002D00000016030000CC000000
+ 0A0000000A0000006E0000006E000000
- 49929
- 49929
+ 50009
+ 50009
1
0
0
@@ -4705,8 +5559,8 @@
- 49930
- 49930
+ 50010
+ 50010
0
0
0
@@ -4717,7 +5571,7 @@
0
16
- 070400009302000097050000AC020000
+ 070400004A0300009705000063030000
16
@@ -4725,8 +5579,8 @@
- 49933
- 49933
+ 50018
+ 50018
0
0
0
@@ -4737,7 +5591,7 @@
0
16
- 070400009302000097050000AC020000
+ 070400004A0300009705000063030000
16
@@ -4745,9 +5599,9 @@
- 49934
- 49934
- 0
+ 50034
+ 50034
+ 1
0
0
0
@@ -4757,7 +5611,7 @@
0
16
- 070400009302000097050000AC020000
+ E100000075000000FD0700008E000000
16
@@ -4765,9 +5619,9 @@
- 49937
- 49937
- 1
+ 50063
+ 50063
+ 0
0
0
0
@@ -4777,7 +5631,7 @@
0
16
- 6B04000075000000F50500008E000000
+ 070400004A0300009705000063030000
16
@@ -4785,9 +5639,9 @@
- 49938
- 49938
- 0
+ 50064
+ 50064
+ 1
0
0
0
@@ -4797,7 +5651,7 @@
0
16
- 0704000023030000970500003C030000
+ E100000075000000FD0700008E000000
16
@@ -4805,8 +5659,8 @@
- 49939
- 49939
+ 50065
+ 50065
1
0
0
@@ -4825,8 +5679,8 @@
- 49940
- 49940
+ 50066
+ 50066
0
0
0
@@ -4837,7 +5691,7 @@
0
16
- 0704000023030000970500003C030000
+ 070400003F0200009705000058020000
16
@@ -4845,8 +5699,8 @@
- 49941
- 49941
+ 50067
+ 50067
0
0
0
@@ -4857,7 +5711,7 @@
0
16
- 0704000023030000970500003C030000
+ 070400003F0200009705000058020000
16
@@ -4865,8 +5719,8 @@
- 49942
- 49942
+ 50068
+ 50068
0
0
0
@@ -4877,7 +5731,7 @@
0
16
- 0704000023030000970500003C030000
+ 070400003F0200009705000058020000
16
@@ -4885,8 +5739,8 @@
- 49943
- 49943
+ 50069
+ 50069
1
0
0
@@ -4905,8 +5759,8 @@
- 49945
- 49945
+ 50074
+ 50074
0
0
0
@@ -4917,7 +5771,7 @@
0
16
- 0704000023030000970500003C030000
+ 070400004A0300009705000063030000
16
@@ -4925,8 +5779,28 @@
- 49946
- 49946
+ 50113
+ 50113
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ E100000075000000FD0700008E000000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 50120
+ 50120
0
0
0
@@ -4937,7 +5811,7 @@
0
16
- 0704000023030000970500003C030000
+ 070400004A0300009705000063030000
16
@@ -4945,8 +5819,8 @@
- 49947
- 49947
+ 50123
+ 50123
1
0
0
@@ -4957,7 +5831,7 @@
0
16
- E100000075000000FD0700008E000000
+ 6B04000075000000F50500008E000000
16
@@ -4965,9 +5839,9 @@
- 49950
- 49950
- 1
+ 50146
+ 50146
+ 0
0
0
0
@@ -4977,7 +5851,7 @@
0
16
- E100000075000000FD0700008E000000
+ 0704000023030000970500003C030000
16
@@ -4985,8 +5859,8 @@
- 49995
- 49995
+ 50152
+ 50152
1
0
0
@@ -5005,9 +5879,9 @@
- 50001
- 50001
- 0
+ 50165
+ 50165
+ 1
0
0
0
@@ -5017,7 +5891,7 @@
0
16
- 070400004A0300009705000063030000
+ 6B04000075000000F50500008E000000
16
@@ -5025,8 +5899,8 @@
- 50006
- 50006
+ 50183
+ 50183
0
0
0
@@ -5045,9 +5919,9 @@
- 50008
- 50008
- 0
+ 50185
+ 50185
+ 1
0
0
0
@@ -5057,7 +5931,7 @@
0
16
- 070400004A0300009705000063030000
+ E100000075000000FD0700008E000000
16
@@ -5065,8 +5939,8 @@
- 50009
- 50009
+ 50188
+ 50188
1
0
0
@@ -5085,8 +5959,8 @@
- 50010
- 50010
+ 50189
+ 50189
0
0
0
@@ -5105,8 +5979,8 @@
- 50018
- 50018
+ 50190
+ 50190
0
0
0
@@ -5125,9 +5999,9 @@
- 50034
- 50034
- 1
+ 50227
+ 50227
+ 0
0
0
0
@@ -5137,7 +6011,7 @@
0
16
- E100000075000000FD0700008E000000
+ 070400004A0300009705000063030000
16
@@ -5145,8 +6019,8 @@
- 50063
- 50063
+ 50237
+ 50237
0
0
0
@@ -5165,8 +6039,8 @@
- 50064
- 50064
+ 50246
+ 50246
1
0
0
@@ -5177,7 +6051,7 @@
0
16
- E100000075000000FD0700008E000000
+ 6B04000075000000F50500008E000000
16
@@ -5185,8 +6059,8 @@
- 50065
- 50065
+ 50325
+ 50325
1
0
0
@@ -5197,7 +6071,7 @@
0
16
- 6B04000075000000F50500008E000000
+ 7306000075000000FD0700008E000000
16
@@ -5205,9 +6079,9 @@
- 50066
- 50066
- 0
+ 50357
+ 50357
+ 1
0
0
0
@@ -5217,7 +6091,7 @@
0
16
- 070400003F0200009705000058020000
+ E100000075000000FD0700008E000000
16
@@ -5225,8 +6099,8 @@
- 50067
- 50067
+ 50367
+ 50367
0
0
0
@@ -5237,7 +6111,7 @@
0
16
- 070400003F0200009705000058020000
+ 070400004A0300009705000063030000
16
@@ -5245,8 +6119,8 @@
- 50068
- 50068
+ 50374
+ 50374
0
0
0
@@ -5257,7 +6131,7 @@
0
16
- 070400003F0200009705000058020000
+ 070400004A0300009705000063030000
16
@@ -5265,8 +6139,8 @@
- 50069
- 50069
+ 50375
+ 50375
1
0
0
@@ -5285,8 +6159,8 @@
- 50074
- 50074
+ 50382
+ 50382
0
0
0
@@ -5305,9 +6179,9 @@
- 50113
- 50113
- 1
+ 50387
+ 50387
+ 0
0
0
0
@@ -5317,7 +6191,7 @@
0
16
- E100000075000000FD0700008E000000
+ 070400004A0300009705000063030000
16
@@ -5325,8 +6199,8 @@
- 50120
- 50120
+ 50390
+ 50390
0
0
0
@@ -5345,8 +6219,8 @@
- 50123
- 50123
+ 50393
+ 50393
1
0
0
@@ -5357,7 +6231,7 @@
0
16
- 6B04000075000000F50500008E000000
+ 7306000075000000FD0700008E000000
16
@@ -5365,9 +6239,9 @@
- 50146
- 50146
- 0
+ 50407
+ 50407
+ 1
0
0
0
@@ -5377,7 +6251,7 @@
0
16
- 0704000023030000970500003C030000
+ 6B04000075000000F50500008E000000
16
@@ -5385,9 +6259,9 @@
- 50152
- 50152
- 1
+ 50410
+ 50410
+ 0
0
0
0
@@ -5397,7 +6271,7 @@
0
16
- 6B04000075000000F50500008E000000
+ 070400004A0300009705000063030000
16
@@ -5405,8 +6279,8 @@
- 50165
- 50165
+ 50411
+ 50411
1
0
0
@@ -5417,7 +6291,7 @@
0
16
- 6B04000075000000F50500008E000000
+ E100000075000000FD0700008E000000
16
@@ -5425,8 +6299,8 @@
- 50183
- 50183
+ 50415
+ 50415
0
0
0
@@ -5437,7 +6311,7 @@
0
16
- 070400004A0300009705000063030000
+ 0704000023030000970500003C030000
16
@@ -5445,8 +6319,8 @@
- 50185
- 50185
+ 50428
+ 50428
1
0
0
@@ -5457,7 +6331,7 @@
0
16
- E100000075000000FD0700008E000000
+ 6B04000075000000F50500008E000000
16
@@ -5465,8 +6339,8 @@
- 50188
- 50188
+ 50470
+ 50470
1
0
0
@@ -5477,7 +6351,7 @@
0
16
- 6B04000075000000F50500008E000000
+ E100000075000000FD0700008E000000
16
@@ -5485,9 +6359,9 @@
- 50189
- 50189
- 0
+ 50529
+ 50529
+ 1
0
0
0
@@ -5497,7 +6371,7 @@
0
16
- 070400004A0300009705000063030000
+ 6B04000075000000F50500008E000000
16
@@ -5505,9 +6379,9 @@
- 50190
- 50190
- 0
+ 50530
+ 50530
+ 1
0
0
0
@@ -5517,7 +6391,7 @@
0
16
- 070400004A0300009705000063030000
+ 6B04000075000000F50500008E000000
16
@@ -5525,8 +6399,8 @@
- 50227
- 50227
+ 50531
+ 50531
0
0
0
@@ -5537,7 +6411,7 @@
0
16
- 070400004A0300009705000063030000
+ 070400009302000097050000AC020000
16
@@ -5545,8 +6419,8 @@
- 50237
- 50237
+ 50532
+ 50532
0
0
0
@@ -5557,7 +6431,7 @@
0
16
- 070400004A0300009705000063030000
+ 070400009302000097050000AC020000
16
@@ -5565,9 +6439,9 @@
- 50246
- 50246
- 1
+ 50533
+ 50533
+ 0
0
0
0
@@ -5577,7 +6451,7 @@
0
16
- 6B04000075000000F50500008E000000
+ 070400009302000097050000AC020000
16
@@ -5585,8 +6459,8 @@
- 50325
- 50325
+ 50534
+ 50534
1
0
0
@@ -5597,7 +6471,7 @@
0
16
- 7306000075000000FD0700008E000000
+ E100000075000000FD0700008E000000
16
@@ -5605,9 +6479,9 @@
- 50357
- 50357
- 1
+ 50536
+ 50536
+ 0
0
0
0
@@ -5617,7 +6491,7 @@
0
16
- E100000075000000FD0700008E000000
+ 070400009302000097050000AC020000
16
@@ -5625,8 +6499,8 @@
- 50367
- 50367
+ 50537
+ 50537
0
0
0
@@ -5637,7 +6511,7 @@
0
16
- 070400004A0300009705000063030000
+ 070400009302000097050000AC020000
16
@@ -5645,8 +6519,8 @@
- 50374
- 50374
+ 50538
+ 50538
0
0
0
@@ -5657,7 +6531,7 @@
0
16
- 070400004A0300009705000063030000
+ 070400009302000097050000AC020000
16
@@ -5665,8 +6539,8 @@
- 50375
- 50375
+ 50539
+ 50539
1
0
0
@@ -5685,9 +6559,9 @@
- 50382
- 50382
- 0
+ 50564
+ 50564
+ 1
0
0
0
@@ -5697,7 +6571,7 @@
0
16
- 070400004A0300009705000063030000
+ E100000075000000FD0700008E000000
16
@@ -5705,8 +6579,8 @@
- 50387
- 50387
+ 50570
+ 50570
0
0
0
@@ -5725,8 +6599,8 @@
- 50390
- 50390
+ 50571
+ 50571
0
0
0
@@ -5737,7 +6611,7 @@
0
16
- 070400004A0300009705000063030000
+ 0704000023030000970500003C030000
16
@@ -5745,8 +6619,8 @@
- 50407
- 50407
+ 50580
+ 50580
1
0
0
@@ -5765,29 +6639,9 @@
- 50410
- 50410
- 0
- 0
- 0
- 0
- 32767
- 0
- 4096
- 0
-
- 16
- 070400004A0300009705000063030000
-
-
- 16
- 0A0000000A0000006E0000006E000000
-
-
-
- 50411
- 50411
- 1
+ 50604
+ 50604
+ 0
0
0
0
@@ -5797,7 +6651,7 @@
0
16
- E100000075000000FD0700008E000000
+ 0704000023030000970500003C030000
16
@@ -5805,8 +6659,8 @@
- 50415
- 50415
+ 50645
+ 50645
0
0
0
@@ -5817,7 +6671,7 @@
0
16
- 0704000023030000970500003C030000
+ 070400004A0300009705000063030000
16
@@ -5825,8 +6679,8 @@
- 50428
- 50428
+ 50646
+ 50646
1
0
0
@@ -5837,7 +6691,7 @@
0
16
- 6B04000075000000F50500008E000000
+ E100000075000000FD0700008E000000
16
@@ -5845,9 +6699,9 @@
- 50470
- 50470
- 1
+ 50649
+ 50649
+ 0
0
0
0
@@ -5857,7 +6711,7 @@
0
16
- E100000075000000FD0700008E000000
+ 070400004A0300009705000063030000
16
@@ -5865,9 +6719,9 @@
- 50529
- 50529
- 1
+ 50666
+ 50666
+ 0
0
0
0
@@ -5877,7 +6731,7 @@
0
16
- 6B04000075000000F50500008E000000
+ 070400004A0300009705000063030000
16
@@ -5885,9 +6739,9 @@
- 50530
- 50530
- 1
+ 50671
+ 50671
+ 0
0
0
0
@@ -5897,7 +6751,7 @@
0
16
- 6B04000075000000F50500008E000000
+ 070400004A0300009705000063030000
16
@@ -5905,8 +6759,8 @@
- 50531
- 50531
+ 50686
+ 50686
0
0
0
@@ -5917,7 +6771,7 @@
0
16
- 070400009302000097050000AC020000
+ 070400004A0300009705000063030000
16
@@ -5925,8 +6779,8 @@
- 50532
- 50532
+ 50687
+ 50687
0
0
0
@@ -5937,7 +6791,7 @@
0
16
- 070400009302000097050000AC020000
+ 070400004A0300009705000063030000
16
@@ -5945,8 +6799,8 @@
- 50533
- 50533
+ 50698
+ 50698
0
0
0
@@ -5957,7 +6811,7 @@
0
16
- 070400009302000097050000AC020000
+ 070400004A0300009705000063030000
16
@@ -5965,8 +6819,8 @@
- 50534
- 50534
+ 50704
+ 50704
1
0
0
@@ -5977,7 +6831,7 @@
0
16
- E100000075000000FD0700008E000000
+ 6B04000075000000F50500008E000000
16
@@ -5985,9 +6839,9 @@
- 50536
- 50536
- 0
+ 50708
+ 50708
+ 1
0
0
0
@@ -5997,7 +6851,7 @@
0
16
- 070400009302000097050000AC020000
+ E100000075000000FD0700008E000000
16
@@ -6005,8 +6859,8 @@
- 50537
- 50537
+ 50710
+ 50710
0
0
0
@@ -6017,7 +6871,7 @@
0
16
- 070400009302000097050000AC020000
+ 070400004A0300009705000063030000
16
@@ -6025,9 +6879,9 @@
- 50538
- 50538
- 0
+ 50724
+ 50724
+ 1
0
0
0
@@ -6037,7 +6891,7 @@
0
16
- 070400009302000097050000AC020000
+ E100000075000000690600008E000000
16
@@ -6045,8 +6899,8 @@
- 50539
- 50539
+ 50731
+ 50731
1
0
0
@@ -6057,7 +6911,7 @@
0
16
- E100000075000000FD0700008E000000
+ 7006000072000000000800008B000000
16
@@ -6065,8 +6919,8 @@
- 50564
- 50564
+ 50741
+ 50741
1
0
0
@@ -6085,9 +6939,9 @@
- 50570
- 50570
- 0
+ 50743
+ 50743
+ 1
0
0
0
@@ -6097,7 +6951,7 @@
0
16
- 070400004A0300009705000063030000
+ 7306000075000000FD0700008E000000
16
@@ -6105,8 +6959,8 @@
- 50571
- 50571
+ 50745
+ 50745
0
0
0
@@ -6117,7 +6971,7 @@
0
16
- 0704000023030000970500003C030000
+ 070400004A0300009705000063030000
16
@@ -6125,9 +6979,9 @@
- 50580
- 50580
- 1
+ 50746
+ 50746
+ 0
0
0
0
@@ -6137,7 +6991,7 @@
0
16
- 6B04000075000000F50500008E000000
+ 070400004A0300009705000063030000
16
@@ -6145,9 +6999,9 @@
- 50604
- 50604
- 0
+ 50748
+ 50748
+ 1
0
0
0
@@ -6157,7 +7011,7 @@
0
16
- 0704000023030000970500003C030000
+ E100000075000000690600008E000000
16
@@ -6165,8 +7019,8 @@
- 50645
- 50645
+ 50751
+ 50751
0
0
0
@@ -6185,8 +7039,8 @@
- 50666
- 50666
+ 50758
+ 50758
0
0
0
@@ -6205,8 +7059,8 @@
- 50686
- 50686
+ 50761
+ 50761
0
0
0
@@ -6217,7 +7071,7 @@
0
16
- 070400004A0300009705000063030000
+ 070400009302000097050000AC020000
16
@@ -6225,9 +7079,9 @@
- 50687
- 50687
- 0
+ 50764
+ 50764
+ 1
0
0
0
@@ -6237,7 +7091,7 @@
0
16
- 070400004A0300009705000063030000
+ 7306000075000000FD0700008E000000
16
@@ -6245,8 +7099,8 @@
- 50698
- 50698
+ 50770
+ 50770
0
0
0
@@ -6257,7 +7111,7 @@
0
16
- 070400004A0300009705000063030000
+ 0704000023030000970500003C030000
16
@@ -6265,9 +7119,9 @@
- 50704
- 50704
- 1
+ 50771
+ 50771
+ 0
0
0
0
@@ -6277,7 +7131,7 @@
0
16
- 6B04000075000000F50500008E000000
+ 0704000023030000970500003C030000
16
@@ -6285,8 +7139,8 @@
- 50708
- 50708
+ 50775
+ 50775
1
0
0
@@ -6305,8 +7159,8 @@
- 50710
- 50710
+ 50784
+ 50784
0
0
0
@@ -6325,9 +7179,9 @@
- 50724
- 50724
- 1
+ 50786
+ 50786
+ 0
0
0
0
@@ -6337,7 +7191,7 @@
0
16
- E100000075000000690600008E000000
+ 070400009302000097050000AC020000
16
@@ -6345,9 +7199,9 @@
- 50731
- 50731
- 1
+ 50791
+ 50791
+ 0
0
0
0
@@ -6357,7 +7211,7 @@
0
16
- 7006000072000000000800008B000000
+ 070400004A0300009705000063030000
16
@@ -6365,8 +7219,8 @@
- 50743
- 50743
+ 50793
+ 50793
1
0
0
@@ -6385,8 +7239,8 @@
- 50745
- 50745
+ 50801
+ 50801
0
0
0
@@ -6405,8 +7259,8 @@
- 50746
- 50746
+ 50803
+ 50803
0
0
0
@@ -6425,9 +7279,9 @@
- 50748
- 50748
- 1
+ 50804
+ 50804
+ 0
0
0
0
@@ -6437,7 +7291,7 @@
0
16
- E100000075000000690600008E000000
+ 0704000023030000970500003C030000
16
@@ -6445,8 +7299,8 @@
- 50751
- 50751
+ 50818
+ 50818
0
0
0
@@ -6465,8 +7319,8 @@
- 50770
- 50770
+ 50826
+ 50826
0
0
0
@@ -6477,7 +7331,7 @@
0
16
- 0704000023030000970500003C030000
+ 070400009302000097050000AC020000
16
@@ -6485,9 +7339,9 @@
- 50771
- 50771
- 0
+ 50846
+ 50846
+ 1
0
0
0
@@ -6497,7 +7351,7 @@
0
16
- 0704000023030000970500003C030000
+ 7306000075000000FD0700008E000000
16
@@ -6505,9 +7359,9 @@
- 50775
- 50775
- 1
+ 50848
+ 50848
+ 0
0
0
0
@@ -6517,7 +7371,7 @@
0
16
- E100000075000000FD0700008E000000
+ 070400004A0300009705000063030000
16
@@ -6525,8 +7379,8 @@
- 50803
- 50803
+ 50852
+ 50852
0
0
0
@@ -6545,9 +7399,9 @@
- 50804
- 50804
- 0
+ 50864
+ 50864
+ 1
0
0
0
@@ -6557,7 +7411,7 @@
0
16
- 0704000023030000970500003C030000
+ E100000075000000690600008E000000
16
@@ -6706,14 +7560,14 @@
2466
- 000000000B000000000000000020000001000000FFFFFFFFFFFFFFFFDE000000920100006C060000960100000100000001000010040000000100000033FFFFFFF9010000FFFFFFFF07000000CB00000057010000CC000000F08B00005A01000079070000CA090000FFFF02000B004354616262656450616E650020000001000000DE0000005E0000006C060000A5010000DE0000004B0000006C060000920100000000000040280056070000000B446973617373656D626C7901000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000001000000FFFFFFFFFFFFFFFF6C0600004B000000700600001C030000010000000200001004000000010000000000000000000000FFFFFFFF16000000E20500002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000001800040000001000000700600005E000000000800002F030000700600004B000000000800001C0300000000000040410056160000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF044932433201000000418C000001000000FFFFFFFFFFFFFFFF15000000000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFDA0000004B000000DE0000001C030000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C40000007394000001800010000001000000000000005E000000DA0000002F030000000000004B000000DA0000001C0300000000000040140056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73000000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7300000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657300000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273010000007394000001000000FFFFFFFFFFFFFFFF04000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000001000000FFFFFFFFFFFFFFFF000000001C0300000008000020030000010000000100001004000000010000005AFDFFFF6500000000000000000000000000000001000000C6000000FFFFFFFF0B0000008F070000930700009407000095070000960700009007000091070000B9050000BA050000BB050000BC05000001800080000001000000040400003303000000080000510400000404000020030000000800003E04000000000000404100560B0000001343616C6C20537461636B202B204C6F63616C73010000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031010000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF084D656D6F7279203101000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203201000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF050000000000000001000000000000000100000001000000FFFFFFFF0004000020030000040400003E04000001000000020000100400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000000000000FFFFFFFFFFFFFFFF0000000087030000000800008B0300000000000001000000040000000100000084FDFFFFDE000000FFFFFFFF03000000C5000000C70000007794000001800080000000000000000000009E0300000008000051040000000000008B030000000800003E0400000000000040820046030000000C4275696C64204F757470757400000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0642726F777365000000007794000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000
+ 000000000B000000000000000020000001000000FFFFFFFFFFFFFFFFDE0000009201000000080000960100000100000001000010040000000100000033FFFFFFF9010000FFFFFFFF07000000CB00000057010000CC000000F08B00005A01000079070000CA090000FFFF02000B004354616262656450616E650020000001000000DE0000005E00000000080000A5010000DE0000004B00000000080000920100000000000040280056070000000B446973617373656D626C7901000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF6C0600004B000000700600001C030000000000000200000004000000010000000000000000000000FFFFFFFF16000000E20500002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000001800040000000000000700600005E000000000800002F030000700600004B000000000800001C0300000000000040410046160000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF044932433200000000418C000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFDA0000004B000000DE00000065020000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C40000007394000001800010000001000000000000005E000000DA0000002F030000000000004B000000DA000000650200000000000040140056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73000000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7300000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657300000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273010000007394000001000000FFFFFFFFFFFFFFFF04000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000001000000FFFFFFFFFFFFFFFF00000000650200000008000069020000010000000100001004000000010000005AFDFFFF6500000000000000000000000000000001000000C6000000FFFFFFFF0B0000008F070000930700009407000095070000960700009007000091070000B9050000BA050000BB050000BC05000001800080000001000000040400003303000000080000510400000404000069020000000800008703000000000000404100560B0000001343616C6C20537461636B202B204C6F63616C73010000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031010000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF084D656D6F7279203101000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203201000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF050000000000000001000000000000000100000001000000FFFFFFFF0004000069020000040400008703000001000000020000100400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF0000000087030000000800008B0300000100000001000000040000000100000084FDFFFFDE000000FFFFFFFF03000000C5000000C70000007794000001800080000001000000000000009E0300000008000051040000000000008B030000000800003E0400000000000040820056030000000C4275696C64204F757470757400000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657301000000C700000001000000FFFFFFFFFFFFFFFF0642726F777365000000007794000001000000FFFFFFFFFFFFFFFF01000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000
59392
File
2002
- 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000004000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000004000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000004000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050FFFFFFFF0096000000000000000000018024E10000000004001100000000000000000000000000000000010000000100000001800A810000000004001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000020001001500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000000180C8880000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E4C010000020001001A0000000F50726F6A6563742057696E646F7773000000000000000000000000010000000100000000000000000000000100000008002880DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002880DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002880E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002880E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000288018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000028800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002880D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002880E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C6572030000
+ 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050FFFFFFFF0096000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000020001001500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000400160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000000180C8880000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E4C010000020001001A0000000F50726F6A6563742057696E646F7773000000000000000000000000010000000100000000000000000000000100000008002880DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002880DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002880E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002880E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000288018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000028800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002880D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002880E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C6572030000
1423
@@ -6745,7 +7599,7 @@
Debug
2290
- 00200000010000001B00FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000004002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000020001002D0000000000000000000000000000000001000000010000000180F07F0000020001002E0000000000000000000000000000000001000000010000000180E8880000020000003700000000000000000000000000000000010000000100000001803B010000020001002F0000000000000000000000000000000001000000010000000180BB8A00000200010030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000002000100310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000002001380D88B000000000000310000000757617463682031000000000000000000000000010000000100000000000000000000000100000000001380D98B0000000000003100000007576174636820320000000000000000000000000100000001000000000000000000000001000000000013800F01000002000100320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000084D656D6F72792031000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000084D656D6F72792032000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000084D656D6F72792033000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000084D656D6F727920340000000000000000000000000100000001000000000000000000000001000000000013801001000002000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000755415254202331000000000000000000000000010000000100000000000000000000000100000000001380940700000000000033000000075541525420233200000000000000000000000001000000010000000000000000000000010000000000138095070000000000003300000007554152542023330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000000E49544D2F525441205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000020000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380658A000000000000340000000E4C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E00000014506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000D436F646520436F76657261676500000000000000000000000001000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000138001890000020000003600000007546F6F6C626F7800000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180460100000000040049000000000000000000000000000000000100000001000000000000000544656275675A020000
+ 00200000010000001B00FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000004002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000004002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000020001002D0000000000000000000000000000000001000000010000000180F07F0000020001002E0000000000000000000000000000000001000000010000000180E8880000020000003700000000000000000000000000000000010000000100000001803B010000020001002F0000000000000000000000000000000001000000010000000180BB8A00000200010030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000002000100310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000002001380D88B000000000000310000000757617463682031000000000000000000000000010000000100000000000000000000000100000000001380D98B0000000000003100000007576174636820320000000000000000000000000100000001000000000000000000000001000000000013800F01000002000100320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000084D656D6F72792031000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000084D656D6F72792032000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000084D656D6F72792033000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000084D656D6F727920340000000000000000000000000100000001000000000000000000000001000000000013801001000002000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000755415254202331000000000000000000000000010000000100000000000000000000000100000000001380940700000000000033000000075541525420233200000000000000000000000001000000010000000000000000000000010000000000138095070000000000003300000007554152542023330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000000E49544D2F525441205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000020000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380658A000000000000340000000E4C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E00000014506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000D436F646520436F76657261676500000000000000000000000001000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000138001890000020000003600000007546F6F6C626F7800000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180460100000000040049000000000000000000000000000000000100000001000000000000000544656275675A020000
968
@@ -6766,22 +7620,10 @@
- D:\fly_122\projects\baseflight\lib\STM32F10x_StdPeriph_Driver\inc\stm32f10x_rcc.h
- 0
- 499
- 499
-
-
- D:\fly_122\projects\baseflight\lib\STM32F10x_StdPeriph_Driver\inc\stm32f10x_gpio.h
- 0
- 53
- 74
-
-
- D:\fly_122\projects\baseflight\drv_i2c.h
+ D:\fly_122\projects\baseflight\drv_system.h
0
1
- 6
+ 16
@@ -6790,132 +7632,48 @@
0
100
- 8
-
- .\startup_stm32f10x_md.s
- 21
- 133
- 143
-
+ 3
- .\drv_adc.c
- 6
- 18
- 18
+ .\config.c
+ 4
+ 107
+ 120
- drv_i2c.h
- 0
- 1
- 6
+ .\drv_system.c
+ 22
+ 139
+ 169
mw.h
- 0
- 154
- 167
-
-
- .\lib\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c
- 0
- 576
- 591
+ 27
+ 115
+ 124
.\main.c
- 32
+ 37
1
- 23
-
-
- board.h
- 14
- 22
- 28
-
-
- .\serial.c
- 12
- 162
- 181
-
-
- .\mw.c
- 0
- 624
- 631
-
-
- .\drv_mpu3050.c
- 13
- 13
- 28
-
-
- .\drv_adxl345.c
- 0
- 32
- 56
-
-
- .\drv_hmc5883l.c
- 42
- 20
- 45
-
-
- .\imu.c
- 0
- 27
- 27
-
-
- .\sensors.c
- 0
- 187
- 212
+ 26
- .\drv_i2c.c
+ .\mixer.c
0
- 283
- 300
-
-
- .\drv_bmp085.c
- 0
- 213
- 232
-
-
- .\drv_system.c
- 115
- 55
- 60
-
-
- .\lib\STM32F10x_StdPeriph_Driver\src\stm32f10x_rcc.c
- 34
- 1095
- 1102
-
-
- lib\STM32F10x_StdPeriph_Driver\inc\stm32f10x_rcc.h
- 62
- 499
- 499
+ 1
+ 11
- lib\STM32F10x_StdPeriph_Driver\inc\stm32f10x_gpio.h
- 15
- 53
- 74
+ .\serial.c
+ 26
+ 200
+ 215
- .\drv_pwm.c
+ drv_system.h
0
1
- 1
+ 16
diff --git a/baseflight.uvopt b/baseflight.uvopt
index cdb0cb202..8b89d4ef1 100755
--- a/baseflight.uvopt
+++ b/baseflight.uvopt
@@ -112,7 +112,7 @@
1
0
0
- 7
+ 1
@@ -123,7 +123,7 @@
- Segger\JL2CM3.dll
+ BIN\UL2CM3.DLL
@@ -144,7 +144,7 @@
0
DLGUARM
- (106=-1,-1,-1,-1,0)(107=-1,-1,-1,-1,0)
+ (105=-1,-1,-1,-1,0)(106=-1,-1,-1,-1,0)(107=-1,-1,-1,-1,0)
0
@@ -154,77 +154,9 @@
0
UL2CM3
- -O14 -S0 -C0 -N00("ARM Cortex-M3") -D00(1BA00477) -L00(4) -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_128 -FS08000000 -FL010000)
+ -UV0168AVR -O238 -S8 -C0 -N00("ARM CoreSight SW-DP") -D00(1BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_128 -FS08000000 -FL010000
-
-
- 0
- 1
- gyroADC,0x0A
-
-
- 1
- 1
- accADC,0x0A
-
-
- 2
- 1
- currentTime,0x0A
-
-
- 3
- 1
- previousTime,0x0A
-
-
- 4
- 1
- cycleTime,0x0A
-
-
- 5
- 1
- eep_entry
-
-
- 6
- 1
- gyroData,0x0A
-
-
- 7
- 1
- magADC,0x0A
-
-
- 8
- 1
- maginv
-
-
- 9
- 1
- magaxis
-
-
- 10
- 1
- rawMagADC,0x0A
-
-
- 11
- 1
- param_b5
-
-
-
- 12
- 1
- rawADC,0x0A
-
-
1
@@ -267,19 +199,6 @@
-
-
- 0
- cycleTime
- 00800000000000000000000000000000E0FFEF40000000000000000000000000000000006379636C6554696D650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000CC010008
-
-
-
-
- System Viewer\I2C2
- 35905
-
-
@@ -545,10 +464,10 @@
1
0
0
- 32
+ 37
0
1
- 23
+ 26
0
.\main.c
main.c
@@ -559,10 +478,10 @@
5
0
0
- 14
+ 25
0
- 22
- 28
+ 0
+ 0
0
.\board.h
board.h
@@ -573,10 +492,10 @@
1
0
0
- 0
+ 26
0
- 27
- 27
+ 0
+ 0
0
.\imu.c
imu.c
@@ -589,8 +508,8 @@
0
0
0
- 624
- 631
+ 0
+ 0
0
.\mw.c
mw.c
@@ -601,10 +520,10 @@
5
0
0
- 0
+ 27
0
- 154
- 167
+ 115
+ 124
0
.\mw.h
mw.h
@@ -617,8 +536,8 @@
0
0
0
- 187
- 212
+ 0
+ 0
0
.\sensors.c
sensors.c
@@ -629,10 +548,10 @@
1
0
0
- 26
+ 0
0
- 0
- 0
+ 1
+ 11
0
.\mixer.c
mixer.c
@@ -643,10 +562,10 @@
1
0
0
- 12
+ 26
0
- 162
- 181
+ 200
+ 215
0
.\serial.c
serial.c
@@ -657,10 +576,10 @@
1
0
0
- 0
+ 4
0
- 0
- 0
+ 107
+ 120
0
.\config.c
config.c
@@ -680,8 +599,8 @@
0
0
0
- 283
- 300
+ 0
+ 0
0
.\drv_i2c.c
drv_i2c.c
@@ -694,8 +613,8 @@
0
0
0
- 1
- 1
+ 0
+ 0
0
.\drv_pwm.c
drv_pwm.c
@@ -708,8 +627,8 @@
0
6
0
- 18
- 18
+ 0
+ 0
0
.\drv_adc.c
drv_adc.c
@@ -720,10 +639,10 @@
1
0
0
- 0
+ 8
0
- 213
- 232
+ 0
+ 0
0
.\drv_bmp085.c
drv_bmp085.c
@@ -736,8 +655,8 @@
0
0
0
- 32
- 56
+ 0
+ 0
0
.\drv_adxl345.c
drv_adxl345.c
@@ -750,8 +669,8 @@
0
13
0
- 13
- 28
+ 0
+ 0
0
.\drv_mpu3050.c
drv_mpu3050.c
@@ -774,12 +693,12 @@
2
17
1
- 0
+ 1
0
- 115
+ 22
0
- 55
- 60
+ 139
+ 169
0
.\drv_system.c
drv_system.c
@@ -792,8 +711,8 @@
0
42
0
- 20
- 45
+ 0
+ 0
0
.\drv_hmc5883l.c
drv_hmc5883l.c
@@ -835,7 +754,7 @@
3
- 22
+ 21
1
0
0
@@ -849,7 +768,7 @@
3
- 23
+ 22
1
0
0
@@ -863,11 +782,11 @@
3
- 24
+ 23
1
0
0
- 26
+ 0
0
0
0
@@ -877,7 +796,7 @@
3
- 25
+ 24
1
0
0
@@ -891,11 +810,11 @@
3
- 26
+ 25
1
0
0
- 16
+ 0
0
0
0
@@ -905,21 +824,21 @@
3
- 27
+ 26
1
0
0
34
0
- 1095
- 1102
+ 0
+ 0
0
.\lib\STM32F10x_StdPeriph_Driver\src\stm32f10x_rcc.c
stm32f10x_rcc.c
3
- 28
+ 27
1
0
0
@@ -933,7 +852,7 @@
3
- 29
+ 28
1
0
0
@@ -947,21 +866,21 @@
3
- 30
+ 29
1
0
0
0
0
- 576
- 591
+ 0
+ 0
0
.\lib\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c
stm32f10x_gpio.c
3
- 31
+ 30
1
0
0
@@ -975,14 +894,14 @@
3
- 0
+ 31
2
0
0
- 21
+ 0
0
- 133
- 143
+ 0
+ 0
0
.\startup_stm32f10x_md.s
startup_stm32f10x_md.s
diff --git a/baseflight.uvproj b/baseflight.uvproj
index 305ed6fe3..f0db64f8b 100755
--- a/baseflight.uvproj
+++ b/baseflight.uvproj
@@ -136,7 +136,7 @@
1
0
- 7
+ 1
@@ -150,7 +150,7 @@
- Segger\JL2CM3.dll
+ BIN\UL2CM3.DLL
@@ -160,9 +160,9 @@
0
1
1
- 4099
+ 4096
- Segger\JL2CM3.dll
+ BIN\UL2CM3.DLL
"" ()
@@ -331,7 +331,7 @@
1
- 1
+ 4
0
0
0
@@ -390,45 +390,6 @@
main.c
1
.\main.c
-
-
- 2
- 0
- 0
- 0
- 0
- 2
- 2
- 2
- 2
- 2
- 11
-
-
-
-
-
- 2
- 4
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 0
- 2
-
-
-
-
-
-
-
-
-
board.h
diff --git a/board.h b/board.h
index d22edfeb1..fcbd6fa68 100755
--- a/board.h
+++ b/board.h
@@ -28,6 +28,8 @@ typedef enum {
typedef enum {
FEATURE_PPM = 1 << 0,
FEATURE_VBAT = 1 << 1,
+ FEATURE_SERVO = 1 << 2,
+ FEATURE_DIGITAL_SERVO = 1 << 3,
} AvailableFeatures;
#define digitalHi(p, i) { p->BSRR = i; }
diff --git a/config.c b/config.c
index e550377f1..6336df165 100755
--- a/config.c
+++ b/config.c
@@ -5,7 +5,10 @@
#define FLASH_PAGE_SIZE ((uint16_t)0x400)
#define FLASH_WRITE_ADDR (0x08000000 + (uint32_t)FLASH_PAGE_SIZE * 63) // use the last KB for storage
-static uint8_t checkNewConf = 151;
+static uint32_t enabledSensors = 0;
+static uint32_t enabledFeatures = 0;
+
+static uint8_t checkNewConf = 152;
typedef struct eep_entry_t {
void *var;
@@ -17,6 +20,8 @@ typedef struct eep_entry_t {
// ************************************************************************************************************
volatile eep_entry_t eep_entry[] = {
{&checkNewConf, sizeof(checkNewConf)}
+ , {&enabledFeatures, sizeof(enabledFeatures)}
+ , {&mixerConfiguration, sizeof(mixerConfiguration)}
, {&P8, sizeof(P8)}
, {&I8, sizeof(I8)}
, {&D8, sizeof(D8)}
@@ -31,14 +36,9 @@ volatile eep_entry_t eep_entry[] = {
, {&activate1, sizeof(activate1)}
, {&activate2, sizeof(activate2)}
, {&powerTrigger1, sizeof(powerTrigger1)}
-#ifdef FLYING_WING
, {&wing_left_mid, sizeof(wing_left_mid)}
, {&wing_right_mid, sizeof(wing_right_mid)}
-#endif
-#ifdef TRI
, {&tri_yaw_middle, sizeof(tri_yaw_middle)}
-#endif
-
};
#define EEBLOCK_SIZE sizeof(eep_entry) / sizeof(eep_entry_t)
@@ -56,15 +56,20 @@ void readEEPROM(void)
#if defined(POWERMETER)
pAlarm = (uint32_t) powerTrigger1 *(uint32_t) PLEVELSCALE *(uint32_t) PLEVELDIV; // need to cast before multiplying
#endif
+
for (i = 0; i < 7; i++)
lookupRX[i] = (2500 + rcExpo8 * (i * i - 25)) * i * (int32_t) rcRate8 / 1250;
-#ifdef FLYING_WING
- wing_left_mid = constrain(wing_left_mid, WING_LEFT_MIN, WING_LEFT_MAX); //LEFT
- wing_right_mid = constrain(wing_right_mid, WING_RIGHT_MIN, WING_RIGHT_MAX); //RIGHT
-#endif
-#ifdef TRI
- tri_yaw_middle = constrain(tri_yaw_middle, TRI_YAW_CONSTRAINT_MIN, TRI_YAW_CONSTRAINT_MAX); //REAR
-#endif
+
+ switch (mixerConfiguration) {
+ case MULTITYPE_FLYING_WING:
+ wing_left_mid = constrain(wing_left_mid, WING_LEFT_MIN, WING_LEFT_MAX); //LEFT
+ wing_right_mid = constrain(wing_right_mid, WING_RIGHT_MIN, WING_RIGHT_MAX); //RIGHT
+ break;
+
+ case MULTITYPE_TRI:
+ tri_yaw_middle = constrain(tri_yaw_middle, TRI_YAW_CONSTRAINT_MIN, TRI_YAW_CONSTRAINT_MAX); //REAR
+ break;
+ }
}
void writeParams(void)
@@ -80,7 +85,7 @@ void writeParams(void)
memcpy(p, eep_entry[i].var, eep_entry[i].size);
p += eep_entry[i].size;
}
-
+
p = conf;
FLASH_Unlock();
@@ -112,6 +117,9 @@ void checkFirstTime(void)
return;
// Default settings
+ mixerConfiguration = MULTITYPE_QUADX;
+ featureSet(FEATURE_VBAT | FEATURE_PPM);
+
P8[ROLL] = 40;
I8[ROLL] = 30;
D8[ROLL] = 23;
@@ -146,12 +154,47 @@ void checkFirstTime(void)
accTrim[0] = 0;
accTrim[1] = 0;
powerTrigger1 = 0;
-#ifdef FLYING_WING
- wing_left_mid = WING_LEFT_MID;
- wing_right_mid = WING_RIGHT_MID;
-#endif
-#ifdef TRI
- tri_yaw_middle = TRI_YAW_MIDDLE;
-#endif
+
+ switch (mixerConfiguration) {
+ case MULTITYPE_FLYING_WING:
+ wing_left_mid = WING_LEFT_MID;
+ wing_right_mid = WING_RIGHT_MID;
+ break;
+
+ case MULTITYPE_TRI:
+ tri_yaw_middle = TRI_YAW_MIDDLE;
+ break;
+ }
+
writeParams();
}
+
+bool sensors(uint32_t mask)
+{
+ return enabledSensors & mask;
+}
+
+void sensorsSet(uint32_t mask)
+{
+ enabledSensors |= mask;
+}
+
+void sensorsClear(uint32_t mask)
+{
+ enabledSensors &= ~(mask);
+}
+
+bool feature(uint32_t mask)
+{
+ return enabledFeatures & mask;
+}
+
+void featureSet(uint32_t mask)
+{
+ enabledFeatures |= mask;
+}
+
+void featureClear(uint32_t mask)
+{
+ enabledFeatures &= ~(mask);
+}
diff --git a/drv_bmp085.c b/drv_bmp085.c
index b94033d40..116760f43 100755
--- a/drv_bmp085.c
+++ b/drv_bmp085.c
@@ -224,6 +224,10 @@ void bmp085_start_ut(void)
i2cWrite(p_bmp085->dev_addr, BMP085_CTRL_MEAS_REG, BMP085_T_MEASURE);
}
+#ifdef __GNUC__
+ #define __nop() asm("mov r0,r0");
+#endif
+
uint16_t bmp085_get_ut(void)
{
uint16_t ut;
diff --git a/drv_i2c.c b/drv_i2c.c
index e84a27d9d..92a1e46bd 100755
--- a/drv_i2c.c
+++ b/drv_i2c.c
@@ -4,10 +4,8 @@
// SCL PB10
// SDA PB11
-#ifdef __gnuc__ // TODO check this
-#define DMB() asm volatile ("dmb":::"memory")
-#else
-#define DMB() __DMB()
+#ifdef __GNUC__ // TODO check this
+#define __DMB() asm volatile ("dmb":::"memory")
#endif
static I2C_TypeDef *I2Cx;
@@ -168,17 +166,17 @@ void i2c_ev_handler(void)
} else if (SReg_1 & 0x0002) { //we just sent the address - EV6 in ref manual
//Read SR1,2 to clear ADDR
volatile uint8_t a;
- DMB(); // memory fence to control hardware
+ __DMB(); // memory fence to control hardware
if (bytes == 1 && reading && subaddress_sent) { //we are receiving 1 byte - EV6_3
I2C_AcknowledgeConfig(I2Cx, DISABLE); //turn off ACK
- DMB();
+ __DMB();
a = I2Cx->SR2; //clear ADDR after ACK is turned off
I2C_GenerateSTOP(I2Cx, ENABLE); //program the stop
final_stop = 1;
I2C_ITConfig(I2Cx, I2C_IT_BUF, ENABLE); //allow us to have an EV7
} else { //EV6 and EV6_1
a = I2Cx->SR2; //clear the ADDR here
- DMB();
+ __DMB();
if (bytes == 2 && reading && subaddress_sent) { //rx 2 bytes - EV6_1
I2C_AcknowledgeConfig(I2Cx, DISABLE); //turn off ACK
I2C_ITConfig(I2Cx, I2C_IT_BUF, DISABLE); //disable TXE to allow the buffer to fill
diff --git a/drv_pwm.c b/drv_pwm.c
index 8ff94cbe2..8c0de0c50 100755
--- a/drv_pwm.c
+++ b/drv_pwm.c
@@ -144,7 +144,7 @@ static void pwmIRQHandler(TIM_TypeDef *tim)
}
}
-void pwmInit(bool usePPM, bool useServos)
+void pwmInit(bool usePPM, bool useServos, bool useDigitalServos)
{
uint8_t i;
GPIO_InitTypeDef GPIO_InitStructure = { 0, };
@@ -268,8 +268,11 @@ void pwmInit(bool usePPM, bool useServos)
// Output timers
if (useServos) {
- // 50Hz period on ch1, 2 for servo
- TIM_TimeBaseStructure.TIM_Period = PULSE_PERIOD_SERVO_ANALOG - 1;
+ // 50Hz/200Hz period on ch1, 2 for servo
+ if (useDigitalServos)
+ TIM_TimeBaseStructure.TIM_Period = PULSE_PERIOD_SERVO_DIGITAL - 1;
+ else
+ TIM_TimeBaseStructure.TIM_Period = PULSE_PERIOD_SERVO_ANALOG - 1;
TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure);
TIM_TimeBaseStructure.TIM_Period = PULSE_PERIOD - 1;
TIM_TimeBaseInit(TIM4, &TIM_TimeBaseStructure);
@@ -278,7 +281,7 @@ void pwmInit(bool usePPM, bool useServos)
TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure);
TIM_TimeBaseInit(TIM4, &TIM_TimeBaseStructure);
}
-
+
TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM2;
TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
TIM_OCInitStructure.TIM_OutputNState = TIM_OutputNState_Disable;
diff --git a/drv_pwm.h b/drv_pwm.h
index 567e5051c..88811aec4 100755
--- a/drv_pwm.h
+++ b/drv_pwm.h
@@ -1,5 +1,5 @@
#pragma once
-void pwmInit(bool usePPM, bool useServos);
+void pwmInit(bool usePPM, bool useServos, bool useDigitalServos);
void pwmWrite(uint8_t channel, uint16_t value);
uint16_t pwmRead(uint8_t channel);
diff --git a/drv_system.c b/drv_system.c
index 7bb23fc7a..73586fb71 100755
--- a/drv_system.c
+++ b/drv_system.c
@@ -1,8 +1,5 @@
#include "board.h"
-static uint32_t enabledSensors = 0;
-static uint32_t enabledFeatures = 0;
-
// Cycle counter stuff - these should be defined by CMSIS, but they aren't
#define DWT_CTRL (*(volatile uint32_t *)0xE0001000)
#define DWT_CYCCNT ((volatile uint32_t *)0xE0001004)
@@ -143,36 +140,6 @@ void delay(uint32_t ms)
delayMicroseconds(1000);
}
-bool sensors(uint32_t mask)
-{
- return enabledSensors & mask;
-}
-
-void sensorsSet(uint32_t mask)
-{
- enabledSensors |= mask;
-}
-
-void sensorsClear(uint32_t mask)
-{
- enabledSensors &= ~(mask);
-}
-
-bool feature(uint32_t mask)
-{
- return enabledFeatures & mask;
-}
-
-void featureSet(uint32_t mask)
-{
- enabledFeatures |= mask;
-}
-
-void featureClear(uint32_t mask)
-{
- enabledFeatures &= ~(mask);
-}
-
void failureMode(uint8_t mode)
{
LED1_ON;
@@ -189,11 +156,13 @@ void failureMode(uint8_t mode)
#define AIRCR_VECTKEY_MASK ((uint32_t)0x05FA0000)
-void systemResetToBootloader(void)
+void systemReset(bool toBootloader)
{
- // 1FFFF000 -> 20000200 -> SP
- // 1FFFF004 -> 1FFFF021 -> PC
- *((uint32_t *)0x20004FF0) = 0xDEADBEEF; // 20KB STM32F103
+ if (toBootloader) {
+ // 1FFFF000 -> 20000200 -> SP
+ // 1FFFF004 -> 1FFFF021 -> PC
+ *((uint32_t *)0x20004FF0) = 0xDEADBEEF; // 20KB STM32F103
+ }
// Generate system reset
SCB->AIRCR = AIRCR_VECTKEY_MASK | (uint32_t)0x04;
diff --git a/drv_system.h b/drv_system.h
index b109d0002..baf361b2f 100755
--- a/drv_system.h
+++ b/drv_system.h
@@ -7,17 +7,8 @@ void delay(uint32_t ms);
uint32_t micros(void);
uint32_t millis(void);
-// features
-bool sensors(uint32_t mask);
-void sensorsSet(uint32_t mask);
-void sensorsClear(uint32_t mask);
-
-bool feature(uint32_t mask);
-void featureSet(uint32_t mask);
-void featureClear(uint32_t mask);
-
// failure
void failureMode(uint8_t mode);
// bootloader/IAP
-void systemResetToBootloader(void);
+void systemReset(bool toBootloader);
diff --git a/imu.c b/imu.c
index 911cd440d..17a964432 100755
--- a/imu.c
+++ b/imu.c
@@ -70,11 +70,11 @@ void computeIMU(void)
if (!sensors(SENSOR_ACC))
accADC[axis] = 0;
}
-
-#if defined(TRI)
- gyroData[YAW] = (gyroYawSmooth * 2 + gyroData[YAW] + 1) / 3;
- gyroYawSmooth = gyroData[YAW];
-#endif
+
+ if (mixerConfiguration == MULTITYPE_TRI) {
+ gyroData[YAW] = (gyroYawSmooth * 2 + gyroData[YAW] + 1) / 3;
+ gyroYawSmooth = gyroData[YAW];
+ }
}
// **************************************************
@@ -152,37 +152,11 @@ void rotateV(struct fp_vector *v, float *delta)
v->Y += delta[PITCH] * v_tmp.Z + delta[YAW] * v_tmp.X;
}
-#if 1
static int16_t _atan2f(float y, float x)
{
-#define fp_is_neg(val) (val < 0 ? 1 : 0)
-
- float z = y / x;
- int16_t zi = abs((int16_t)(z * 100));
- int8_t y_neg = fp_is_neg(y);
- if (zi < 100) {
- if (zi > 10)
- z = z / (1.0f + 0.28f * z * z);
- if (fp_is_neg(x)) {
- if (y_neg)
- z -= M_PI;
- else
- z += M_PI;
- }
- } else {
- z = (M_PI / 2.0f) - z / (z * z + 0.28f);
- if (y_neg)
- z -= M_PI;
- }
- z *= (180.0f / M_PI * 10);
- return z;
+ // no need for aidsy inaccurate shortcuts on a proper platform
+ return (int16_t)(atan2f(y, x) * (180.0f / M_PI * 10.0f));
}
-#else
-static int16_t _atan2f(float y, float x)
-{
- return (int16_t)atan2f(y, x) * (180.0f / M_PI * 10.0f);
-}
-#endif
static void getEstimatedAttitude(void)
{
diff --git a/main.c b/main.c
index 2d6385e94..951e90e98 100755
--- a/main.c
+++ b/main.c
@@ -6,6 +6,7 @@ int main(void)
uint8_t i;
#if 0
+ // using this to write asm for bootloader :)
RCC->APB2ENR |= RCC_APB2Periph_GPIOB | RCC_APB2Periph_AFIO; // GPIOB + AFIO
AFIO->MAPR &= 0xF0FFFFFF;
AFIO->MAPR = 0x02000000;
@@ -22,8 +23,9 @@ int main(void)
featureSet(FEATURE_VBAT | FEATURE_PPM);
sensorsSet(SENSOR_ACC | SENSOR_BARO | SENSOR_MAG);
- pwmInit(feature(FEATURE_PPM), false);
-
+ mixerInit(); // this will configure FEATURE_SERVO depending on mixer type
+ pwmInit(feature(FEATURE_PPM), feature(FEATURE_SERVO), feature(FEATURE_DIGITAL_SERVO));
+
LED1_ON;
LED0_OFF;
for (i = 0; i < 10; i++) {
diff --git a/mixer.c b/mixer.c
index f12ae49ab..a97d647d9 100755
--- a/mixer.c
+++ b/mixer.c
@@ -1,59 +1,96 @@
#include "board.h"
#include "mw.h"
-#if defined(BI) || defined(TRI) || defined(SERVO_TILT) || defined(GIMBAL) || defined(FLYING_WING) || defined(CAMTRIG)
-#define SERVO
-#endif
+static uint8_t numberMotor = 4;
+int16_t motor[8];
+int16_t servo[8] = { 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500 };
+uint8_t mixerConfiguration = MULTITYPE_TRI;
+uint16_t wing_left_mid = WING_LEFT_MID;
+uint16_t wing_right_mid = WING_RIGHT_MID;
+uint16_t tri_yaw_middle = TRI_YAW_MIDDLE;
-#if defined(GIMBAL)
-#define NUMBER_MOTOR 0
-#define PRI_SERVO_FROM 1 // use servo from 1 to 2
-#define PRI_SERVO_TO 2
-#elif defined(FLYING_WING)
-#define NUMBER_MOTOR 1
-#define PRI_SERVO_FROM 1 // use servo from 1 to 2
-#define PRI_SERVO_TO 2
-#elif defined(BI)
-#define NUMBER_MOTOR 2
-#define PRI_SERVO_FROM 5 // use servo from 5 to 6
-#define PRI_SERVO_TO 6
-#elif defined(TRI)
-#define NUMBER_MOTOR 3
-#define PRI_SERVO_FROM 6 // use only servo 5
-#define PRI_SERVO_TO 6
-#elif defined(QUADP) || defined(QUADX) || defined(Y4)
-#define NUMBER_MOTOR 4
-#elif defined(Y6) || defined(HEX6) || defined(HEX6X)
-#define NUMBER_MOTOR 6
-#elif defined(OCTOX8) || defined(OCTOFLATP) || defined(OCTOFLATX)
-#define NUMBER_MOTOR 8
-#endif
+void mixerInit(void)
+{
+ if (mixerConfiguration == MULTITYPE_BI || mixerConfiguration == MULTITYPE_TRI || mixerConfiguration == MULTITYPE_GIMBAL || mixerConfiguration == MULTITYPE_FLYING_WING)
+ featureSet(FEATURE_SERVO);
+
+ switch (mixerConfiguration) {
+ case MULTITYPE_GIMBAL:
+ numberMotor = 0;
+ break;
+ case MULTITYPE_FLYING_WING:
+ numberMotor = 1;
+ break;
+ case MULTITYPE_BI:
+ numberMotor = 2;
+ break;
+ case MULTITYPE_TRI:
+ numberMotor = 3;
+ break;
+
+ case MULTITYPE_QUADP:
+ case MULTITYPE_QUADX:
+ case MULTITYPE_Y4:
+ case MULTITYPE_VTAIL4:
+ numberMotor = 4;
+ break;
+
+ case MULTITYPE_Y6:
+ case MULTITYPE_HEX6:
+ case MULTITYPE_HEX6X:
+ numberMotor = 6;
+ break;
+
+ case MULTITYPE_OCTOX8:
+ case MULTITYPE_OCTOFLATP:
+ case MULTITYPE_OCTOFLATX:
+ numberMotor = 8;
+ break;
+ }
+}
void writeServos(void)
{
-#if defined(SERVO)
+ if (!feature(FEATURE_SERVO))
+ return;
-#endif
+ if (mixerConfiguration == MULTITYPE_TRI || mixerConfiguration == MULTITYPE_BI) {
+ /* One servo on Motor #4 */
+ pwmWrite(0, servo[4]);
+ if (mixerConfiguration == MULTITYPE_BI)
+ pwmWrite(1, servo[5]);
+ } else {
+ /* Two servos for camstab or FLYING_WING */
+ pwmWrite(0, servo[0]);
+ pwmWrite(1, servo[1]);
+ }
}
void writeMotors(void)
{
uint8_t i;
+ uint8_t offset = 0;
- for (i = 0; i < NUMBER_MOTOR; i++)
- pwmWrite(i, motor[i]);
+ // when servos are enabled, motor outputs 1..2 are for servos only
+ if (feature(FEATURE_SERVO))
+ offset = 2;
+
+ for (i = 0; i < numberMotor; i++)
+ pwmWrite(i + offset, motor[i]);
}
void writeAllMotors(int16_t mc)
{
uint8_t i;
-
+
// Sends commands to all motors
- for (i = 0; i < NUMBER_MOTOR; i++)
+ for (i = 0; i < numberMotor; i++)
motor[i] = mc;
writeMotors();
}
+#define PIDMIX(X,Y,Z) rcCommand[THROTTLE] + axisPID[ROLL] * X + axisPID[PITCH] * Y + YAW_DIRECTION * axisPID[YAW] * Z
+
void mixTable(void)
{
int16_t maxMotor;
@@ -61,105 +98,133 @@ void mixTable(void)
static uint8_t camCycle = 0;
static uint8_t camState = 0;
static uint32_t camTime = 0;
+
+ if (numberMotor > 3) {
+ //prevent "yaw jump" during yaw correction
+ axisPID[YAW] = constrain(axisPID[YAW], -100 - abs(rcCommand[YAW]), +100 + abs(rcCommand[YAW]));
+ }
-#define PIDMIX(X,Y,Z) rcCommand[THROTTLE] + axisPID[ROLL] * X + axisPID[PITCH] * Y + YAW_DIRECTION * axisPID[YAW] * Z
+ switch (mixerConfiguration) {
+ case MULTITYPE_BI:
+ motor[0] = PIDMIX(+1, 0, 0); //LEFT
+ motor[1] = PIDMIX(-1, 0, 0); //RIGHT
+ servo[4] = constrain(1500 + YAW_DIRECTION * (axisPID[YAW] + axisPID[PITCH]), 1020, 2000); //LEFT
+ servo[5] = constrain(1500 + YAW_DIRECTION * (axisPID[YAW] - axisPID[PITCH]), 1020, 2000); //RIGHT
+ break;
+
+ case MULTITYPE_TRI:
+ motor[0] = PIDMIX(0, +4 / 3, 0); //REAR
+ motor[1] = PIDMIX(-1, -2 / 3, 0); //RIGHT
+ motor[2] = PIDMIX(+1, -2 / 3, 0); //LEFT
+ servo[4] = constrain(tri_yaw_middle + YAW_DIRECTION * axisPID[YAW], TRI_YAW_CONSTRAINT_MIN, TRI_YAW_CONSTRAINT_MAX); //REAR
+ break;
-#if NUMBER_MOTOR > 3
- //prevent "yaw jump" during yaw correction
- axisPID[YAW] = constrain(axisPID[YAW], -100 - abs(rcCommand[YAW]), +100 + abs(rcCommand[YAW]));
-#endif
-#ifdef BI
- motor[0] = PIDMIX(+1, 0, 0); //LEFT
- motor[1] = PIDMIX(-1, 0, 0); //RIGHT
- servo[4] = constrain(1500 + YAW_DIRECTION * (axisPID[YAW] + axisPID[PITCH]), 1020, 2000); //LEFT
- servo[5] = constrain(1500 + YAW_DIRECTION * (axisPID[YAW] - axisPID[PITCH]), 1020, 2000); //RIGHT
-#endif
-#ifdef TRI
- motor[0] = PIDMIX(0, +4 / 3, 0); //REAR
- motor[1] = PIDMIX(-1, -2 / 3, 0); //RIGHT
- motor[2] = PIDMIX(+1, -2 / 3, 0); //LEFT
- servo[5] = constrain(tri_yaw_middle + YAW_DIRECTION * axisPID[YAW], TRI_YAW_CONSTRAINT_MIN, TRI_YAW_CONSTRAINT_MAX); //REAR
+ case MULTITYPE_QUADP:
+ motor[0] = PIDMIX(0, +1, -1); //REAR
+ motor[1] = PIDMIX(-1, 0, +1); //RIGHT
+ motor[2] = PIDMIX(+1, 0, +1); //LEFT
+ motor[3] = PIDMIX(0, -1, -1); //FRONT
+ break;
-#endif
-#ifdef QUADP
- motor[0] = PIDMIX(0, +1, -1); //REAR
- motor[1] = PIDMIX(-1, 0, +1); //RIGHT
- motor[2] = PIDMIX(+1, 0, +1); //LEFT
- motor[3] = PIDMIX(0, -1, -1); //FRONT
-#endif
-#ifdef QUADX
- motor[0] = PIDMIX(-1, +1, -1); //REAR_R
- motor[1] = PIDMIX(-1, -1, +1); //FRONT_R
- motor[2] = PIDMIX(+1, +1, +1); //REAR_L
- motor[3] = PIDMIX(+1, -1, -1); //FRONT_L
-#endif
-#ifdef Y4
- motor[0] = PIDMIX(+0, +1, -1); //REAR_1 CW
- motor[1] = PIDMIX(-1, -1, 0); //FRONT_R CCW
- motor[2] = PIDMIX(+0, +1, +1); //REAR_2 CCW
- motor[3] = PIDMIX(+1, -1, 0); //FRONT_L CW
-#endif
-#ifdef Y6
- motor[0] = PIDMIX(+0, +4 / 3, +1); //REAR
- motor[1] = PIDMIX(-1, -2 / 3, -1); //RIGHT
- motor[2] = PIDMIX(+1, -2 / 3, -1); //LEFT
- motor[3] = PIDMIX(+0, +4 / 3, -1); //UNDER_REAR
- motor[4] = PIDMIX(-1, -2 / 3, +1); //UNDER_RIGHT
- motor[5] = PIDMIX(+1, -2 / 3, +1); //UNDER_LEFT
-#endif
-#ifdef HEX6
- motor[0] = PIDMIX(-1 / 2, +1 / 2, +1); //REAR_R
- motor[1] = PIDMIX(-1 / 2, -1 / 2, -1); //FRONT_R
- motor[2] = PIDMIX(+1 / 2, +1 / 2, +1); //REAR_L
- motor[3] = PIDMIX(+1 / 2, -1 / 2, -1); //FRONT_L
- motor[4] = PIDMIX(+0, -1, +1); //FRONT
- motor[5] = PIDMIX(+0, +1, -1); //REAR
-#endif
-#ifdef HEX6X
- motor[0] = PIDMIX(-1 / 2, +1 / 2, +1); //REAR_R
- motor[1] = PIDMIX(-1 / 2, -1 / 2, +1); //FRONT_R
- motor[2] = PIDMIX(+1 / 2, +1 / 2, -1); //REAR_L
- motor[3] = PIDMIX(+1 / 2, -1 / 2, -1); //FRONT_L
- motor[4] = PIDMIX(-1, +0, -1); //RIGHT
- motor[5] = PIDMIX(+1, +0, +1); //LEFT
-#endif
-#ifdef OCTOX8
- motor[0] = PIDMIX(-1, +1, -1); //REAR_R
- motor[1] = PIDMIX(-1, -1, +1); //FRONT_R
- motor[2] = PIDMIX(+1, +1, +1); //REAR_L
- motor[3] = PIDMIX(+1, -1, -1); //FRONT_L
- motor[4] = PIDMIX(-1, +1, +1); //UNDER_REAR_R
- motor[5] = PIDMIX(-1, -1, -1); //UNDER_FRONT_R
- motor[6] = PIDMIX(+1, +1, -1); //UNDER_REAR_L
- motor[7] = PIDMIX(+1, -1, +1); //UNDER_FRONT_L
-#endif
-#ifdef OCTOFLATP
- motor[0] = PIDMIX(+7 / 10, -7 / 10, +1); //FRONT_L
- motor[1] = PIDMIX(-7 / 10, -7 / 10, +1); //FRONT_R
- motor[2] = PIDMIX(-7 / 10, +7 / 10, +1); //REAR_R
- motor[3] = PIDMIX(+7 / 10, +7 / 10, +1); //REAR_L
- motor[4] = PIDMIX(+0, -1, -1); //FRONT
- motor[5] = PIDMIX(-1, +0, -1); //RIGHT
- motor[6] = PIDMIX(+0, +1, -1); //REAR
- motor[7] = PIDMIX(+1, +0, -1); //LEFT
-#endif
-#ifdef OCTOFLATX
- motor[0] = PIDMIX(+1, -1 / 2, +1); //MIDFRONT_L
- motor[1] = PIDMIX(-1 / 2, -1, +1); //FRONT_R
- motor[2] = PIDMIX(-1, +1 / 2, +1); //MIDREAR_R
- motor[3] = PIDMIX(+1 / 2, +1, +1); //REAR_L
- motor[4] = PIDMIX(+1 / 2, -1, -1); //FRONT_L
- motor[5] = PIDMIX(-1, -1 / 2, -1); //MIDFRONT_R
- motor[6] = PIDMIX(-1 / 2, +1, -1); //REAR_R
- motor[7] = PIDMIX(+1, +1 / 2, -1); //MIDREAR_L
-#endif
-#ifdef VTAIL4
- motor[0] = PIDMIX(+0, +1, -1 / 2); //REAR_R
- motor[1] = PIDMIX(-1, -1, +2 / 10); //FRONT_R
- motor[2] = PIDMIX(+0, +1, +1 / 2); //REAR_L
- motor[3] = PIDMIX(+1, -1, -2 / 10); //FRONT_L
-#endif
+ case MULTITYPE_QUADX:
+ motor[0] = PIDMIX(-1, +1, -1); //REAR_R
+ motor[1] = PIDMIX(-1, -1, +1); //FRONT_R
+ motor[2] = PIDMIX(+1, +1, +1); //REAR_L
+ motor[3] = PIDMIX(+1, -1, -1); //FRONT_L
+ break;
+ case MULTITYPE_Y4:
+ motor[0] = PIDMIX(+0, +1, -1); //REAR_1 CW
+ motor[1] = PIDMIX(-1, -1, 0); //FRONT_R CCW
+ motor[2] = PIDMIX(+0, +1, +1); //REAR_2 CCW
+ motor[3] = PIDMIX(+1, -1, 0); //FRONT_L CW
+ break;
+
+ case MULTITYPE_Y6:
+ motor[0] = PIDMIX(+0, +4 / 3, +1); //REAR
+ motor[1] = PIDMIX(-1, -2 / 3, -1); //RIGHT
+ motor[2] = PIDMIX(+1, -2 / 3, -1); //LEFT
+ motor[3] = PIDMIX(+0, +4 / 3, -1); //UNDER_REAR
+ motor[4] = PIDMIX(-1, -2 / 3, +1); //UNDER_RIGHT
+ motor[5] = PIDMIX(+1, -2 / 3, +1); //UNDER_LEFT
+ break;
+
+ case MULTITYPE_HEX6:
+ motor[0] = PIDMIX(-1 / 2, +1 / 2, +1); //REAR_R
+ motor[1] = PIDMIX(-1 / 2, -1 / 2, -1); //FRONT_R
+ motor[2] = PIDMIX(+1 / 2, +1 / 2, +1); //REAR_L
+ motor[3] = PIDMIX(+1 / 2, -1 / 2, -1); //FRONT_L
+ motor[4] = PIDMIX(+0, -1, +1); //FRONT
+ motor[5] = PIDMIX(+0, +1, -1); //REAR
+ break;
+
+ case MULTITYPE_HEX6X:
+ motor[0] = PIDMIX(-1 / 2, +1 / 2, +1); //REAR_R
+ motor[1] = PIDMIX(-1 / 2, -1 / 2, +1); //FRONT_R
+ motor[2] = PIDMIX(+1 / 2, +1 / 2, -1); //REAR_L
+ motor[3] = PIDMIX(+1 / 2, -1 / 2, -1); //FRONT_L
+ motor[4] = PIDMIX(-1, +0, -1); //RIGHT
+ motor[5] = PIDMIX(+1, +0, +1); //LEFT
+ break;
+
+ case MULTITYPE_OCTOX8:
+ motor[0] = PIDMIX(-1, +1, -1); //REAR_R
+ motor[1] = PIDMIX(-1, -1, +1); //FRONT_R
+ motor[2] = PIDMIX(+1, +1, +1); //REAR_L
+ motor[3] = PIDMIX(+1, -1, -1); //FRONT_L
+ motor[4] = PIDMIX(-1, +1, +1); //UNDER_REAR_R
+ motor[5] = PIDMIX(-1, -1, -1); //UNDER_FRONT_R
+ motor[6] = PIDMIX(+1, +1, -1); //UNDER_REAR_L
+ motor[7] = PIDMIX(+1, -1, +1); //UNDER_FRONT_L
+ break;
+
+ case MULTITYPE_OCTOFLATP:
+ motor[0] = PIDMIX(+7 / 10, -7 / 10, +1); //FRONT_L
+ motor[1] = PIDMIX(-7 / 10, -7 / 10, +1); //FRONT_R
+ motor[2] = PIDMIX(-7 / 10, +7 / 10, +1); //REAR_R
+ motor[3] = PIDMIX(+7 / 10, +7 / 10, +1); //REAR_L
+ motor[4] = PIDMIX(+0, -1, -1); //FRONT
+ motor[5] = PIDMIX(-1, +0, -1); //RIGHT
+ motor[6] = PIDMIX(+0, +1, -1); //REAR
+ motor[7] = PIDMIX(+1, +0, -1); //LEFT
+ break;
+
+ case MULTITYPE_OCTOFLATX:
+ motor[0] = PIDMIX(+1, -1 / 2, +1); //MIDFRONT_L
+ motor[1] = PIDMIX(-1 / 2, -1, +1); //FRONT_R
+ motor[2] = PIDMIX(-1, +1 / 2, +1); //MIDREAR_R
+ motor[3] = PIDMIX(+1 / 2, +1, +1); //REAR_L
+ motor[4] = PIDMIX(+1 / 2, -1, -1); //FRONT_L
+ motor[5] = PIDMIX(-1, -1 / 2, -1); //MIDFRONT_R
+ motor[6] = PIDMIX(-1 / 2, +1, -1); //REAR_R
+ motor[7] = PIDMIX(+1, +1 / 2, -1); //MIDREAR_L
+ break;
+
+ case MULTITYPE_VTAIL4:
+ motor[0] = PIDMIX(+0, +1, -1 / 2); //REAR_R
+ motor[1] = PIDMIX(-1, -1, +2 / 10); //FRONT_R
+ motor[2] = PIDMIX(+0, +1, +1 / 2); //REAR_L
+ motor[3] = PIDMIX(+1, -1, -2 / 10); //FRONT_L
+ break;
+
+ case MULTITYPE_GIMBAL:
+ servo[0] = constrain(TILT_PITCH_MIDDLE + TILT_PITCH_PROP * angle[PITCH] / 16 + rcCommand[PITCH], TILT_PITCH_MIN, TILT_PITCH_MAX);
+ servo[1] = constrain(TILT_ROLL_MIDDLE + TILT_ROLL_PROP * angle[ROLL] / 16 + rcCommand[ROLL], TILT_ROLL_MIN, TILT_ROLL_MAX);
+ break;
+
+ case MULTITYPE_FLYING_WING:
+ motor[0] = rcCommand[THROTTLE];
+ if (passThruMode) { // do not use sensors for correction, simple 2 channel mixing
+ servo[0] = PITCH_DIRECTION_L * (rcData[PITCH] - MIDRC) + ROLL_DIRECTION_L * (rcData[ROLL] - MIDRC);
+ servo[1] = PITCH_DIRECTION_R * (rcData[PITCH] - MIDRC) + ROLL_DIRECTION_R * (rcData[ROLL] - MIDRC);
+ } else { // use sensors to correct (gyro only or gyro+acc according to aux1/aux2 configuration
+ servo[0] = PITCH_DIRECTION_L * axisPID[PITCH] + ROLL_DIRECTION_L * axisPID[ROLL];
+ servo[1] = PITCH_DIRECTION_R * axisPID[PITCH] + ROLL_DIRECTION_R * axisPID[ROLL];
+ }
+ servo[0] = constrain(servo[0] + wing_left_mid , WING_LEFT_MIN, WING_LEFT_MAX);
+ servo[1] = constrain(servo[1] + wing_right_mid, WING_RIGHT_MIN, WING_RIGHT_MAX);
+ break;
+ }
#ifdef SERVO_TILT
servo[0] = TILT_PITCH_MIDDLE + rcData[AUX3] - 1500;
@@ -173,22 +238,6 @@ void mixTable(void)
servo[0] = constrain(servo[0], TILT_PITCH_MIN, TILT_PITCH_MAX);
servo[1] = constrain(servo[1], TILT_ROLL_MIN, TILT_ROLL_MAX);
#endif
-#ifdef GIMBAL
- servo[0] = constrain(TILT_PITCH_MIDDLE + TILT_PITCH_PROP * angle[PITCH] / 16 + rcCommand[PITCH], TILT_PITCH_MIN, TILT_PITCH_MAX);
- servo[1] = constrain(TILT_ROLL_MIDDLE + TILT_ROLL_PROP * angle[ROLL] / 16 + rcCommand[ROLL], TILT_ROLL_MIN, TILT_ROLL_MAX);
-#endif
-#ifdef FLYING_WING
- motor[0] = rcCommand[THROTTLE];
- if (passThruMode) {// do not use sensors for correction, simple 2 channel mixing
- servo[0] = PITCH_DIRECTION_L * (rcData[PITCH] - MIDRC) + ROLL_DIRECTION_L * (rcData[ROLL] - MIDRC);
- servo[1] = PITCH_DIRECTION_R * (rcData[PITCH] - MIDRC) + ROLL_DIRECTION_R * (rcData[ROLL] - MIDRC);
- } else { // use sensors to correct (gyro only or gyro+acc according to aux1/aux2 configuration
- servo[0] = PITCH_DIRECTION_L * axisPID[PITCH] + ROLL_DIRECTION_L * axisPID[ROLL];
- servo[1] = PITCH_DIRECTION_R * axisPID[PITCH] + ROLL_DIRECTION_R * axisPID[ROLL];
- }
- servo[0] = constrain(servo[0] + wing_left_mid , WING_LEFT_MIN, WING_LEFT_MAX);
- servo[1] = constrain(servo[1] + wing_right_mid, WING_RIGHT_MIN, WING_RIGHT_MAX);
-#endif
#if defined(CAMTRIG)
if (camCycle == 1) {
if (camState == 0) {
@@ -213,10 +262,10 @@ void mixTable(void)
#endif
maxMotor = motor[0];
- for (i = 1; i < NUMBER_MOTOR; i++)
+ for (i = 1; i < numberMotor; i++)
if (motor[i] > maxMotor)
maxMotor = motor[i];
- for (i = 0; i < NUMBER_MOTOR; i++) {
+ for (i = 0; i < numberMotor; i++) {
if (maxMotor > MAXTHROTTLE) // this is a way to still have good gyro corrections if at least one motor reaches its max.
motor[i] -= maxMotor - MAXTHROTTLE;
motor[i] = constrain(motor[i], MINTHROTTLE, MAXTHROTTLE);
diff --git a/mw.c b/mw.c
index fcfbc47b2..ca4e06739 100755
--- a/mw.c
+++ b/mw.c
@@ -42,12 +42,6 @@ uint8_t magMode = 0; // if compass heading hold is a activated
uint8_t baroMode = 0; // if altitude hold is activated
int16_t axisPID[3];
-int16_t motor[8];
-int16_t servo[8] = { 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500 };
-uint16_t wing_left_mid = WING_LEFT_MID;
-uint16_t wing_right_mid = WING_RIGHT_MID;
-uint16_t tri_yaw_middle = TRI_YAW_MIDDLE;
-
volatile uint16_t rcValue[18] = { 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502 }; // interval [1000;2000]
uint8_t rcChannel[8] = { ROLL, PITCH, THROTTLE, YAW, AUX1, AUX2, AUX3, AUX4 };
diff --git a/mw.h b/mw.h
index 1303deb54..1ca09cf29 100755
--- a/mw.h
+++ b/mw.h
@@ -1,7 +1,5 @@
#pragma once
-#define QUADX
-
#define MINCHECK 1100
#define MAXCHECK 1900
@@ -59,6 +57,19 @@
#define WING_RIGHT_MIN 1020 // limit servo travel range must be inside [1020;2000]
#define WING_RIGHT_MAX 2000 // limit servo travel range must be inside [1020;2000]
+/* The following lines apply only for a pitch/roll tilt stabilization system
+ On promini board, it is not compatible with config with 6 motors or more
+ Uncomment the first line to activate it */
+//#define SERVO_TILT
+#define TILT_PITCH_MIN 1020 //servo travel min, don't set it below 1020
+#define TILT_PITCH_MAX 2000 //servo travel max, max value=2000
+#define TILT_PITCH_MIDDLE 1500 //servo neutral value
+#define TILT_PITCH_PROP 10 //servo proportional (tied to angle) ; can be negative to invert movement
+#define TILT_ROLL_MIN 1020
+#define TILT_ROLL_MAX 2000
+#define TILT_ROLL_MIDDLE 1500
+#define TILT_ROLL_PROP 10
+
/* for V BAT monitoring
after the resistor divisor we should get [0V;5V]->[0;1023] on analog V_BATPIN
with R1=33k and R2=51k
@@ -70,38 +81,28 @@
#define VBATLEVEL3_3S 99 // 9.9V
#define NO_VBAT 16 // Avoid beeping without any battery
-
#define VERSION 19
-#if defined(TRI)
- #define MULTITYPE 1
-#elif defined(QUADP)
- #define MULTITYPE 2
-#elif defined(QUADX)
- #define MULTITYPE 3
-#elif defined(BI)
- #define MULTITYPE 4
-#elif defined(GIMBAL)
- #define MULTITYPE 5
-#elif defined(Y6)
- #define MULTITYPE 6
-#elif defined(HEX6)
- #define MULTITYPE 7
-#elif defined(FLYING_WING)
- #define MULTITYPE 8
-#elif defined(Y4)
- #define MULTITYPE 9
-#elif defined(HEX6X)
- #define MULTITYPE 10
-#elif defined(OCTOX8)
- #define MULTITYPE 11
-#elif defined(OCTOFLATP)
- #define MULTITYPE 11 //the GUI is the same for all 8 motor configs
-#elif defined(OCTOFLATX)
- #define MULTITYPE 11 //the GUI is the same for all 8 motor configs
-#elif defined(VTAIL4)
- #define MULTITYPE 15
-#endif
+// Syncronized with GUI. Only exception is mixer > 11, which is always returned as 11 during serialization.
+typedef enum MultiType
+{
+ MULTITYPE_TRI = 1, // XA
+ MULTITYPE_QUADP = 2, // XB
+ MULTITYPE_QUADX = 3, // XC
+ MULTITYPE_BI = 4, // XD
+ MULTITYPE_GIMBAL = 5, // XE
+ MULTITYPE_Y6 = 6, // XF
+ MULTITYPE_HEX6 = 7, // XG
+ MULTITYPE_FLYING_WING = 8, // XH
+ MULTITYPE_Y4 = 9, // XI
+ MULTITYPE_HEX6X = 10, // XJ
+ MULTITYPE_OCTOX8 = 11, // XK
+ MULTITYPE_OCTOFLATP = 12, // XL the GUI is the same for all 8 motor configs
+ MULTITYPE_OCTOFLATX = 13, // XM the GUI is the same for all 8 motor configs
+ // XN missing for some reason??
+ MULTITYPE_VTAIL4 = 15, // XO
+ MULTITYPE_LAST = 16
+} MultiType;
/*********** RC alias *****************/
#define ROLL 0
@@ -174,6 +175,7 @@ extern int32_t EstVelocity;
extern int16_t BaroPID;
extern uint8_t headFreeMode;
extern int16_t headFreeModeHold;
+extern uint8_t passThruMode;
extern int8_t smallAngle25;
extern int16_t zVelocity;
extern int16_t heading, magHold;
@@ -205,6 +207,10 @@ extern uint8_t GPSModeHold;
extern uint8_t vbat;
extern uint8_t powerTrigger1;
extern int16_t lookupRX[7]; // lookup table for expo & RC rate
+extern uint8_t mixerConfiguration;
+extern uint16_t wing_left_mid;
+extern uint16_t wing_right_mid;
+extern uint16_t tri_yaw_middle;
// main
void loop(void);
@@ -225,6 +231,7 @@ void Mag_init(void);
void Mag_getADC(void);
// Output
+void mixerInit(void);
void writeServos(void);
void writeMotors(void);
void mixTable(void);
@@ -236,3 +243,9 @@ void serialCom(void);
void readEEPROM(void);
void writeParams(void);
void checkFirstTime(void);
+bool sensors(uint32_t mask);
+void sensorsSet(uint32_t mask);
+void sensorsClear(uint32_t mask);
+bool feature(uint32_t mask);
+void featureSet(uint32_t mask);
+void featureClear(uint32_t mask);
diff --git a/serial.c b/serial.c
index 66e5afa79..46a9d5d5c 100755
--- a/serial.c
+++ b/serial.c
@@ -155,7 +155,7 @@ void serialCom(void)
serialize16(i2cGetErrorCounter());
for (i = 0; i < 2; i++)
serialize16(angle[i]);
- serialize8(MULTITYPE);
+ serialize8(mixerConfiguration);
for (i = 0; i < PIDITEMS; i++) {
serialize8(P8[i]);
serialize8(I8[i]);
@@ -207,8 +207,22 @@ void serialCom(void)
serialize8('O'); //49
// UartSendData();
break;
- case 'R': // reboot to bootloader
- systemResetToBootloader();
+ case 'R': // reboot to bootloader (oops, apparently this w as used for other trash, fix later)
+ systemReset(true);
+ break;
+
+ case 'X': // dynamic mixer
+ i = uartReadPoll();
+ if (i > 64 && i < 64 + MULTITYPE_LAST) {
+ serialize8('O');
+ serialize8('K');
+ mixerConfiguration = i - '@'; // A..B..C.. index
+ writeParams();
+ systemReset(false);
+ break;
+ }
+ serialize8('N');
+ serialize8('G');
break;
case 'W': //GUI write params to eeprom @ arduino