diff options
-rw-r--r-- | Information/Hardware/Portbelegung.ods | bin | 14604 -> 14539 bytes | |||
-rwxr-xr-x | source/AVR_Studio/Soccer/Soccer.aps | 2 | ||||
-rwxr-xr-x | source/AVR_Studio/Soccer/Soccer.c | 15 | ||||
-rwxr-xr-x | source/AVR_Studio/Soccer/default/Makefile | 5 | ||||
-rwxr-xr-x | source/AVR_Studio/Soccer/default/Soccer.elf | bin | 47659 -> 71725 bytes | |||
-rwxr-xr-x | source/AVR_Studio/Soccer/default/Soccer.hex | 1453 | ||||
-rwxr-xr-x | source/AVR_Studio/Soccer/default/dep/Soccer.o.d | 8 | ||||
-rwxr-xr-x | source/AVR_Studio/Soccer/default/dep/navigation.o.d | 11 | ||||
-rwxr-xr-x | source/AVR_Studio/Soccer/default/dep/sensor.o.d | 13 | ||||
-rwxr-xr-x | source/AVR_Studio/Soccer/global.h | 19 | ||||
-rwxr-xr-x | source/AVR_Studio/Soccer/sensor/ballsensor.c | 28 | ||||
-rwxr-xr-x | source/AVR_Studio/Soccer/sensor/ballsensor.h | 4 | ||||
-rwxr-xr-x | source/AVR_Studio/Soccer/sensor/sensor.h | 1 |
13 files changed, 1079 insertions, 480 deletions
diff --git a/Information/Hardware/Portbelegung.ods b/Information/Hardware/Portbelegung.ods Binary files differindex 8c4d736..144705d 100644 --- a/Information/Hardware/Portbelegung.ods +++ b/Information/Hardware/Portbelegung.ods diff --git a/source/AVR_Studio/Soccer/Soccer.aps b/source/AVR_Studio/Soccer/Soccer.aps index f694dd6..09677cb 100755 --- a/source/AVR_Studio/Soccer/Soccer.aps +++ b/source/AVR_Studio/Soccer/Soccer.aps @@ -1 +1 @@ -<AVRStudio><MANAGEMENT><ProjectName>Soccer</ProjectName><Created>07-Feb-2007 15:43:12</Created><LastEdit>11-Feb-2007 16:35:10</LastEdit><ICON>241</ICON><ProjectType>0</ProjectType><Created>07-Feb-2007 15:43:12</Created><Version>4</Version><Build>4, 12, 0, 462</Build><ProjectTypeName>AVR GCC</ProjectTypeName></MANAGEMENT><CODE_CREATION><ObjectFile>default\Soccer.elf</ObjectFile><EntryFile></EntryFile><SaveFolder>Y:\Soccer\</SaveFolder></CODE_CREATION><DEBUG_TARGET><CURRENT_TARGET>AVR Simulator</CURRENT_TARGET><CURRENT_PART>ATmega128</CURRENT_PART><BREAKPOINTS></BREAKPOINTS><IO_EXPAND><HIDE>false</HIDE></IO_EXPAND><REGISTERNAMES><Register>R00</Register><Register>R01</Register><Register>R02</Register><Register>R03</Register><Register>R04</Register><Register>R05</Register><Register>R06</Register><Register>R07</Register><Register>R08</Register><Register>R09</Register><Register>R10</Register><Register>R11</Register><Register>R12</Register><Register>R13</Register><Register>R14</Register><Register>R15</Register><Register>R16</Register><Register>R17</Register><Register>R18</Register><Register>R19</Register><Register>R20</Register><Register>R21</Register><Register>R22</Register><Register>R23</Register><Register>R24</Register><Register>R25</Register><Register>R26</Register><Register>R27</Register><Register>R28</Register><Register>R29</Register><Register>R30</Register><Register>R31</Register></REGISTERNAMES><COM>Auto</COM><COMType>0</COMType><WATCHNUM>0</WATCHNUM><WATCHNAMES><Pane0></Pane0><Pane1></Pane1><Pane2></Pane2><Pane3></Pane3></WATCHNAMES><BreakOnTrcaeFull>0</BreakOnTrcaeFull></DEBUG_TARGET><Debugger><Triggers></Triggers></Debugger><AVRGCCPLUGIN><FILES><SOURCEFILE>Soccer.c</SOURCEFILE><SOURCEFILE>hal\board.c</SOURCEFILE><SOURCEFILE>hal\keylcd.c</SOURCEFILE><SOURCEFILE>hal\i2c.c</SOURCEFILE><SOURCEFILE>global.c</SOURCEFILE><SOURCEFILE>hal\uart.c</SOURCEFILE><SOURCEFILE>navigation.c</SOURCEFILE><SOURCEFILE>sensor\sensor.c</SOURCEFILE><SOURCEFILE>sensor\ballsensor.c</SOURCEFILE><HEADERFILE>hal\board.h</HEADERFILE><HEADERFILE>hal\keylcd.h</HEADERFILE><HEADERFILE>hal\i2c.h</HEADERFILE><HEADERFILE>global.h</HEADERFILE><HEADERFILE>hal\uart.h</HEADERFILE><HEADERFILE>navigation.h</HEADERFILE><HEADERFILE>sensor\sensor.h</HEADERFILE><HEADERFILE>sensor\ballsensor.h</HEADERFILE></FILES><CONFIGS><CONFIG><NAME>default</NAME><USESEXTERNALMAKEFILE>NO</USESEXTERNALMAKEFILE><EXTERNALMAKEFILE></EXTERNALMAKEFILE><PART>atmega128</PART><HEX>1</HEX><LIST>0</LIST><MAP>0</MAP><OUTPUTFILENAME>Soccer.elf</OUTPUTFILENAME><OUTPUTDIR>default\</OUTPUTDIR><ISDIRTY>1</ISDIRTY><OPTIONS><OPTION><FILE>Soccer.c</FILE><OPTIONLIST></OPTIONLIST></OPTION><OPTION><FILE>global.c</FILE><OPTIONLIST></OPTIONLIST></OPTION><OPTION><FILE>hal\board.c</FILE><OPTIONLIST></OPTIONLIST></OPTION><OPTION><FILE>hal\i2c.c</FILE><OPTIONLIST></OPTIONLIST></OPTION><OPTION><FILE>hal\keylcd.c</FILE><OPTIONLIST></OPTIONLIST></OPTION></OPTIONS><INCDIRS/><LIBDIRS/><LIBS/><LINKOBJECTS/><OPTIONSFORALL>-Wall -gdwarf-2 -DF_CPU=16000000ULUL -O3 -fsigned-char</OPTIONSFORALL><LINKEROPTIONS></LINKEROPTIONS><SEGMENTS/></CONFIG></CONFIGS><LASTCONFIG>default</LASTCONFIG><USES_WINAVR>0</USES_WINAVR><GCC_LOC>C:\WinAVR\bin\avr-g++.exe</GCC_LOC><MAKE_LOC>C:\WinAVR\utils\bin\make.exe</MAKE_LOC></AVRGCCPLUGIN><ProjectFiles><Files><Name>Y:\Soccer\hal\board.h</Name><Name>Y:\Soccer\hal\keylcd.h</Name><Name>Y:\Soccer\hal\i2c.h</Name><Name>Y:\Soccer\global.h</Name><Name>Y:\Soccer\hal\uart.h</Name><Name>Y:\Soccer\navigation.h</Name><Name>Y:\Soccer\sensor\sensor.h</Name><Name>Y:\Soccer\sensor\ballsensor.h</Name><Name>Y:\Soccer\Soccer.c</Name><Name>Y:\Soccer\hal\board.c</Name><Name>Y:\Soccer\hal\keylcd.c</Name><Name>Y:\Soccer\hal\i2c.c</Name><Name>Y:\Soccer\global.c</Name><Name>Y:\Soccer\hal\uart.c</Name><Name>Y:\Soccer\navigation.c</Name><Name>Y:\Soccer\sensor\sensor.c</Name><Name>Y:\Soccer\sensor\ballsensor.c</Name></Files></ProjectFiles><Files><File00000><FileId>00000</FileId><FileName>Soccer.c</FileName><Status>1</Status></File00000><File00001><FileId>00001</FileId><FileName>hal\board.c</FileName><Status>1</Status></File00001><File00002><FileId>00002</FileId><FileName>hal\keylcd.h</FileName><Status>1</Status></File00002><File00003><FileId>00003</FileId><FileName>hal\keylcd.c</FileName><Status>1</Status></File00003><File00004><FileId>00004</FileId><FileName>hal\i2c.h</FileName><Status>1</Status></File00004><File00005><FileId>00005</FileId><FileName>hal\i2c.c</FileName><Status>1</Status></File00005><File00006><FileId>00006</FileId><FileName>global.h</FileName><Status>1</Status></File00006><File00007><FileId>00007</FileId><FileName>global.c</FileName><Status>1</Status></File00007><File00008><FileId>00008</FileId><FileName>c:\WinAVR\avr\include\avr\iom128.h</FileName><Status>1</Status></File00008><File00009><FileId>00009</FileId><FileName>hal\board.h</FileName><Status>1</Status></File00009><File00010><FileId>00010</FileId><FileName>hal\uart.c</FileName><Status>1</Status></File00010><File00011><FileId>00011</FileId><FileName>navigation.h</FileName><Status>1</Status></File00011><File00012><FileId>00012</FileId><FileName>hal\uart.h</FileName><Status>1</Status></File00012><File00013><FileId>00013</FileId><FileName>navigation.c</FileName><Status>1</Status></File00013><File00014><FileId>00014</FileId><FileName>sensor\sensor.h</FileName><Status>1</Status></File00014><File00015><FileId>00015</FileId><FileName>sensor\sensor.c</FileName><Status>1</Status></File00015><File00016><FileId>00016</FileId><FileName>sensor\ballsensor.h</FileName><Status>1</Status></File00016><File00017><FileId>00017</FileId><FileName>sensor\ballsensor.c</FileName><Status>1</Status></File00017><File00018><FileId>00018</FileId><FileName>c:\WinAVR\avr\include\stdlib.h</FileName><Status>1</Status></File00018><File00019><FileId>00019</FileId><FileName>c:\WinAVR\avr\include\avr\signal.h</FileName><Status>1</Status></File00019></Files><Workspace><File00000><Position>187 109 819 379</Position><LineCol>29 17</LineCol></File00000><File00001><Position>299 72 1025 527</Position><LineCol>190 32</LineCol><State>Maximized</State></File00001><File00002><Position>254 204 1000 446</Position><LineCol>17 14</LineCol></File00002><File00003><Position>166 88 912 330</Position><LineCol>26 0</LineCol></File00003><File00004><Position>281 60 783 347</Position><LineCol>44 0</LineCol></File00004><File00005><Position>287 64 1013 519</Position><LineCol>13 0</LineCol></File00005><File00006><Position>162 58 974 450</Position><LineCol>17 0</LineCol></File00006><File00007><Position>293 68 1019 523</Position><LineCol>8 0</LineCol></File00007><File00008><Position>379 210 1009 515</Position><LineCol>769 0</LineCol></File00008><File00009><Position>316 125 946 430</Position><LineCol>5 0</LineCol></File00009><File00010><Position>297 98 927 403</Position><LineCol>277 9</LineCol></File00010><File00011><Position>319 127 949 432</Position><LineCol>0 0</LineCol></File00011><File00012><Position>341 156 971 461</Position><LineCol>0 0</LineCol></File00012><File00013><Position>363 185 993 490</Position><LineCol>42 43</LineCol></File00013><File00014><Position>385 214 1015 519</Position><LineCol>12 0</LineCol></File00014><File00015><Position>296 70 1022 525</Position><LineCol>2 0</LineCol></File00015><File00016><Position>319 127 949 432</Position><LineCol>12 0</LineCol></File00016><File00017><Position>341 156 971 461</Position><LineCol>9 0</LineCol></File00017><File00018><Position>363 185 993 490</Position><LineCol>115 0</LineCol></File00018><File00019><Position>388 216 1018 521</Position><LineCol>35 0</LineCol></File00019></Workspace><Events><Bookmarks></Bookmarks></Events><Trace><Filters></Filters></Trace></AVRStudio>
+<AVRStudio><MANAGEMENT><ProjectName>Soccer</ProjectName><Created>07-Feb-2007 15:43:12</Created><LastEdit>13-Feb-2007 17:28:05</LastEdit><ICON>241</ICON><ProjectType>0</ProjectType><Created>07-Feb-2007 15:43:12</Created><Version>4</Version><Build>4, 12, 0, 462</Build><ProjectTypeName>AVR GCC</ProjectTypeName></MANAGEMENT><CODE_CREATION><ObjectFile>default\Soccer.elf</ObjectFile><EntryFile></EntryFile><SaveFolder>Y:\AVR_Studio\Soccer\</SaveFolder></CODE_CREATION><DEBUG_TARGET><CURRENT_TARGET>AVR Simulator</CURRENT_TARGET><CURRENT_PART>ATmega128</CURRENT_PART><BREAKPOINTS></BREAKPOINTS><IO_EXPAND><HIDE>false</HIDE></IO_EXPAND><REGISTERNAMES><Register>R00</Register><Register>R01</Register><Register>R02</Register><Register>R03</Register><Register>R04</Register><Register>R05</Register><Register>R06</Register><Register>R07</Register><Register>R08</Register><Register>R09</Register><Register>R10</Register><Register>R11</Register><Register>R12</Register><Register>R13</Register><Register>R14</Register><Register>R15</Register><Register>R16</Register><Register>R17</Register><Register>R18</Register><Register>R19</Register><Register>R20</Register><Register>R21</Register><Register>R22</Register><Register>R23</Register><Register>R24</Register><Register>R25</Register><Register>R26</Register><Register>R27</Register><Register>R28</Register><Register>R29</Register><Register>R30</Register><Register>R31</Register></REGISTERNAMES><COM>Auto</COM><COMType>0</COMType><WATCHNUM>0</WATCHNUM><WATCHNAMES><Pane0></Pane0><Pane1></Pane1><Pane2></Pane2><Pane3></Pane3></WATCHNAMES><BreakOnTrcaeFull>0</BreakOnTrcaeFull></DEBUG_TARGET><Debugger><Triggers></Triggers></Debugger><AVRGCCPLUGIN><FILES><SOURCEFILE>Soccer.c</SOURCEFILE><SOURCEFILE>hal\board.c</SOURCEFILE><SOURCEFILE>hal\keylcd.c</SOURCEFILE><SOURCEFILE>hal\i2c.c</SOURCEFILE><SOURCEFILE>global.c</SOURCEFILE><SOURCEFILE>hal\uart.c</SOURCEFILE><SOURCEFILE>navigation.c</SOURCEFILE><SOURCEFILE>sensor\sensor.c</SOURCEFILE><SOURCEFILE>sensor\ballsensor.c</SOURCEFILE><SOURCEFILE>hal\maussensor.c</SOURCEFILE><HEADERFILE>hal\board.h</HEADERFILE><HEADERFILE>hal\keylcd.h</HEADERFILE><HEADERFILE>hal\i2c.h</HEADERFILE><HEADERFILE>global.h</HEADERFILE><HEADERFILE>hal\uart.h</HEADERFILE><HEADERFILE>navigation.h</HEADERFILE><HEADERFILE>sensor\sensor.h</HEADERFILE><HEADERFILE>sensor\ballsensor.h</HEADERFILE><HEADERFILE>hal\maussensor.h</HEADERFILE></FILES><CONFIGS><CONFIG><NAME>default</NAME><USESEXTERNALMAKEFILE>NO</USESEXTERNALMAKEFILE><EXTERNALMAKEFILE></EXTERNALMAKEFILE><PART>atmega128</PART><HEX>1</HEX><LIST>0</LIST><MAP>0</MAP><OUTPUTFILENAME>Soccer.elf</OUTPUTFILENAME><OUTPUTDIR>default\</OUTPUTDIR><ISDIRTY>1</ISDIRTY><OPTIONS><OPTION><FILE>Soccer.c</FILE><OPTIONLIST></OPTIONLIST></OPTION><OPTION><FILE>global.c</FILE><OPTIONLIST></OPTIONLIST></OPTION><OPTION><FILE>hal\board.c</FILE><OPTIONLIST></OPTIONLIST></OPTION><OPTION><FILE>hal\i2c.c</FILE><OPTIONLIST></OPTIONLIST></OPTION><OPTION><FILE>hal\keylcd.c</FILE><OPTIONLIST></OPTIONLIST></OPTION></OPTIONS><INCDIRS/><LIBDIRS/><LIBS/><LINKOBJECTS/><OPTIONSFORALL>-Wall -gdwarf-2 -DF_CPU=16000000ULUL -O3 -fsigned-char</OPTIONSFORALL><LINKEROPTIONS></LINKEROPTIONS><SEGMENTS/></CONFIG></CONFIGS><LASTCONFIG>default</LASTCONFIG><USES_WINAVR>0</USES_WINAVR><GCC_LOC>C:\WinAVR\bin\avr-g++.exe</GCC_LOC><MAKE_LOC>C:\WinAVR\utils\bin\make.exe</MAKE_LOC></AVRGCCPLUGIN><ProjectFiles><Files><Name>Y:\AVR_Studio\Soccer\hal\board.h</Name><Name>Y:\AVR_Studio\Soccer\hal\keylcd.h</Name><Name>Y:\AVR_Studio\Soccer\hal\i2c.h</Name><Name>Y:\AVR_Studio\Soccer\global.h</Name><Name>Y:\AVR_Studio\Soccer\hal\uart.h</Name><Name>Y:\AVR_Studio\Soccer\navigation.h</Name><Name>Y:\AVR_Studio\Soccer\sensor\sensor.h</Name><Name>Y:\AVR_Studio\Soccer\sensor\ballsensor.h</Name><Name>Y:\AVR_Studio\Soccer\hal\maussensor.h</Name><Name>Y:\AVR_Studio\Soccer\Soccer.c</Name><Name>Y:\AVR_Studio\Soccer\hal\board.c</Name><Name>Y:\AVR_Studio\Soccer\hal\keylcd.c</Name><Name>Y:\AVR_Studio\Soccer\hal\i2c.c</Name><Name>Y:\AVR_Studio\Soccer\global.c</Name><Name>Y:\AVR_Studio\Soccer\hal\uart.c</Name><Name>Y:\AVR_Studio\Soccer\navigation.c</Name><Name>Y:\AVR_Studio\Soccer\sensor\sensor.c</Name><Name>Y:\AVR_Studio\Soccer\sensor\ballsensor.c</Name><Name>Y:\AVR_Studio\Soccer\hal\maussensor.c</Name></Files></ProjectFiles><Files><File00000><FileId>00000</FileId><FileName>Soccer.c</FileName><Status>1</Status></File00000><File00001><FileId>00001</FileId><FileName>hal\board.c</FileName><Status>1</Status></File00001><File00002><FileId>00002</FileId><FileName>hal\keylcd.h</FileName><Status>1</Status></File00002><File00003><FileId>00003</FileId><FileName>hal\keylcd.c</FileName><Status>1</Status></File00003><File00004><FileId>00004</FileId><FileName>hal\i2c.h</FileName><Status>1</Status></File00004><File00005><FileId>00005</FileId><FileName>hal\i2c.c</FileName><Status>1</Status></File00005><File00006><FileId>00006</FileId><FileName>global.h</FileName><Status>1</Status></File00006><File00007><FileId>00007</FileId><FileName>global.c</FileName><Status>1</Status></File00007><File00008><FileId>00008</FileId><FileName>c:\WinAVR\avr\include\avr\iom128.h</FileName><Status>1</Status></File00008><File00009><FileId>00009</FileId><FileName>hal\board.h</FileName><Status>1</Status></File00009><File00010><FileId>00010</FileId><FileName>hal\uart.c</FileName><Status>1</Status></File00010><File00011><FileId>00011</FileId><FileName>navigation.h</FileName><Status>1</Status></File00011><File00012><FileId>00012</FileId><FileName>hal\uart.h</FileName><Status>1</Status></File00012><File00013><FileId>00013</FileId><FileName>navigation.c</FileName><Status>1</Status></File00013><File00014><FileId>00014</FileId><FileName>sensor\sensor.h</FileName><Status>1</Status></File00014><File00015><FileId>00015</FileId><FileName>sensor\sensor.c</FileName><Status>1</Status></File00015><File00016><FileId>00016</FileId><FileName>sensor\ballsensor.h</FileName><Status>1</Status></File00016><File00017><FileId>00017</FileId><FileName>sensor\ballsensor.c</FileName><Status>1</Status></File00017><File00018><FileId>00018</FileId><FileName>c:\WinAVR\avr\include\stdlib.h</FileName><Status>1</Status></File00018><File00019><FileId>00019</FileId><FileName>c:\WinAVR\avr\include\avr\signal.h</FileName><Status>1</Status></File00019><File00020><FileId>00020</FileId><FileName>hal\maussensor.h</FileName><Status>1</Status></File00020><File00021><FileId>00021</FileId><FileName>hal\maussensor.c</FileName><Status>1</Status></File00021></Files><Workspace><File00000><Position>187 110 819 380</Position><LineCol>28 1</LineCol></File00000><File00001><Position>296 70 1022 525</Position><LineCol>190 0</LineCol></File00001><File00002><Position>251 202 997 444</Position><LineCol>6 20</LineCol></File00002><File00003><Position>163 86 909 328</Position><LineCol>26 0</LineCol></File00003><File00004><Position>278 58 780 345</Position><LineCol>54 29</LineCol></File00004><File00005><Position>284 62 1010 517</Position><LineCol>13 0</LineCol></File00005><File00006><Position>159 56 971 448</Position><LineCol>29 0</LineCol></File00006><File00007><Position>290 66 1016 521</Position><LineCol>8 0</LineCol></File00007><File00008><Position>376 208 1006 513</Position><LineCol>769 0</LineCol></File00008><File00009><Position>313 123 943 428</Position><LineCol>5 0</LineCol></File00009><File00010><Position>294 96 924 401</Position><LineCol>277 0</LineCol></File00010><File00011><Position>316 125 946 430</Position><LineCol>0 0</LineCol></File00011><File00012><Position>338 154 968 459</Position><LineCol>0 0</LineCol></File00012><File00013><Position>360 183 990 488</Position><LineCol>42 0</LineCol></File00013><File00014><Position>382 212 1012 517</Position><LineCol>5 17</LineCol></File00014><File00015><Position>293 68 1019 523</Position><LineCol>2 0</LineCol></File00015><File00016><Position>316 125 946 430</Position><LineCol>13 28</LineCol></File00016><File00017><Position>338 154 968 459</Position><LineCol>27 18</LineCol></File00017><File00018><Position>360 183 990 488</Position><LineCol>115 0</LineCol></File00018><File00019><Position>385 214 1015 519</Position><LineCol>35 0</LineCol></File00019><File00020><Position>303 102 933 407</Position><LineCol>46 0</LineCol></File00020><File00021><Position>299 72 1025 527</Position><LineCol>51 27</LineCol><State>Maximized</State></File00021></Workspace><Events><Bookmarks></Bookmarks></Events><Trace><Filters></Filters></Trace></AVRStudio>
diff --git a/source/AVR_Studio/Soccer/Soccer.c b/source/AVR_Studio/Soccer/Soccer.c index 90b9bd7..c1a8129 100755 --- a/source/AVR_Studio/Soccer/Soccer.c +++ b/source/AVR_Studio/Soccer/Soccer.c @@ -10,7 +10,7 @@ Sensor sensor; int main() {
//board.ledOn();
- sleep(1);
+ sleep(2);
int speed = 255;
/*for(int i=-255;i<=255;i+=30) {
board.motor(0,i);
@@ -25,6 +25,8 @@ int main() { board.motor(3, speed);
PORTB |= (1 << PB5) | (1 << PB7); // Setze PWM-Ports auf high
PORTE |= (1 << PE3) | (1 << PE4);
+ //sleep(10);
+ while(true) { sleep(1); }
/*sleep(10);
board.motor(0, 0);
board.motor(1, 0);
@@ -33,23 +35,24 @@ int main() { //while(true) { sleep(1); }
//board.beep(450);
//board.ledOn();
- //keylcd.print("test");
- //sleep(1);
+ /*keylcd.print("test");
+ sleep(1);
//board.ledOff();
//sleep(1);
- /*for(int i=0;i<keylcd.error();i++) {
+ for(int i=0;i<keylcd.error();i++) {
board.ledOn();
sleep(1);
board.ledOff();
sleep(1);
}
+
board.ledOn();
uart1_puts("18");
uart1_puts("Hallo Du! Hier ist dein AtMega128\n");
sleep(1);
board.ledOff();
sleep(10);
- //board.ledOff();
+ //board.ledOff();*/
while(true) {
navigation.Aktualisieren(0,0,speed);
@@ -61,7 +64,7 @@ int main() { navigation.Aktualisieren(270,0,speed);
sleep(2);
- }*/
+ }
diff --git a/source/AVR_Studio/Soccer/default/Makefile b/source/AVR_Studio/Soccer/default/Makefile index e12720e..4996ec9 100755 --- a/source/AVR_Studio/Soccer/default/Makefile +++ b/source/AVR_Studio/Soccer/default/Makefile @@ -34,7 +34,7 @@ HEX_EEPROM_FLAGS += --change-section-lma .eeprom=0 ## Objects that must be built in order to link
-OBJECTS = Soccer.o board.o keylcd.o i2c.o global.o uart.o navigation.o sensor.o ballsensor.o
+OBJECTS = Soccer.o board.o keylcd.o i2c.o global.o uart.o navigation.o sensor.o ballsensor.o maussensor.o
## Objects explicitly added by the user
LINKONLYOBJECTS =
@@ -70,6 +70,9 @@ sensor.o: ../sensor/sensor.c ballsensor.o: ../sensor/ballsensor.c
$(CC) $(INCLUDES) $(CFLAGS) -c $<
+maussensor.o: ../hal/maussensor.c
+ $(CC) $(INCLUDES) $(CFLAGS) -c $<
+
##Link
$(TARGET): $(OBJECTS)
$(CC) $(LDFLAGS) $(OBJECTS) $(LINKONLYOBJECTS) $(LIBDIRS) $(LIBS) -o $(TARGET)
diff --git a/source/AVR_Studio/Soccer/default/Soccer.elf b/source/AVR_Studio/Soccer/default/Soccer.elf Binary files differindex 2e03b5b..698e83a 100755 --- a/source/AVR_Studio/Soccer/default/Soccer.elf +++ b/source/AVR_Studio/Soccer/default/Soccer.elf diff --git a/source/AVR_Studio/Soccer/default/Soccer.hex b/source/AVR_Studio/Soccer/default/Soccer.hex index c7808a4..c3ba96a 100755 --- a/source/AVR_Studio/Soccer/default/Soccer.hex +++ b/source/AVR_Studio/Soccer/default/Soccer.hex @@ -2,475 +2,1006 @@ :100010000C9483000C9483000C9483000C94830054
:100020000C9483000C9483000C9483000C94830044
:100030000C9483000C9483000C9483000C94830034
-:100040000C9499010C9483000C9444040C94750452
+:100040000C94A0010C9483000C944B040C947C043D
:100050000C9483000C9483000C9483000C94830014
:100060000C9483000C9483000C9483000C94830004
-:100070000C9483000C9483000C94E2040C941505FA
+:100070000C9483000C9483000C94E9040C941C05EC
:100080000C9483000C9483000C9483000829573F40
:100090009F2D49CBA5310F76C73493F27E37D00D13
:1000A000013AB60B613D2AAAAB3F0000003F800039
:1000B0000000BA00B30011241FBECFEFD0E1DEBFB5
-:1000C000CDBF11E0A0E0B1E0E0EAFDE100E00BBF50
+:1000C000CDBF11E0A0E0B1E0E8ECFEE300E00BBF43
:1000D00002C007900D92A031B107D9F711E0A0E15D
-:1000E000B1E001C01D92AA3AB107E1F710E0C4EBFC
-:1000F000D0E004C02297FE010E94770DC23BD107D9
+:1000E000B1E001C01D92AA3BB107E1F710E0C4EBFB
+:1000F000D0E004C02297FE010E940B1EC23BD10734
:10010000C9F70C94C1000C9400008130910531F0C6
:10011000892B19F46F5F7F4FA9F008956F5F7F4FB0
-:10012000E1F780E191E00E94E00181E191E00E942D
-:100130009E0283E191E00E94D90689E191E00E944C
-:100140000107089589E191E00E94FB0683E191E0B7
-:100150000E940B0681E191E00E944F0280E191E054
-:100160000E94090108956FEF7FEF80E090E00E9408
+:10012000E1F780E191E00E94E70181E191E00E9426
+:10013000A50283E191E00E94E00689E191E00E943E
+:100140000807089589E191E00E94020783E191E0A8
+:100150000E94120681E191E00E94560280E191E046
+:100160000E94100108956FEF7FEF80E090E00E9401
:10017000850008956FEF7FEF81E090E00E94850099
-:10018000089580E090E0A0E0B0E000000196A11D9D
-:10019000B11D8E3E22E7920725E1A20720E0B207BB
-:1001A000A1F74FEF50E060E070E080E191E00E9445
-:1001B00031014FEF50E061E070E080E191E00E949A
-:1001C00031014FEF50E062E070E080E191E00E9489
-:1001D00031014FEF50E063E070E080E191E00E9478
-:1001E000310188B3806A88BB83B1886183B980E0BC
-:1001F00090E0A0E0B0E000000196A11DB11D8E3E90
-:1002000022E7920725E1A20720E0B207A1F7EFCF8E
-:100210000895089586E886B967B987B1806C87B973
-:10022000369A3699FECF40E020E030E0369A369993
-:10023000FECF84B195B1280F391F4F5F4330B1F71E
-:100240003798C90163E070E00E942A0DCB01089540
-:1002500070931B0160931A010895C19A0895C19883
-:1002600008956430710500F5CA0157FD36C08896BF
-:100270008F3F910509F01CF561157105B1F06130F2
-:10028000710581F16230710501F16330710561F42E
-:10029000909379008093780014161506D4F5C29ACD
-:1002A000C3980895C29AC39A089590938700809343
-:1002B00086001416150604F5959A949808958FEF04
-:1002C00090E061157105D9F6F0CF9BBD8ABD14167B
-:1002D000150624F5C09AC198089588279927841B8C
-:1002E000950BC5CF90938500809384001416150656
-:1002F0005CF4969A97980895452B19F4949A959AD8
-:100300000895949A95980895452B69F0979A969830
-:100310000895452B39F2C39AC2980895452B31F0C0
-:10032000C19AC0980895969A979A0895C19AC09ACA
-:1003300008951F920F920FB60F9211242F933F939F
-:100340008F939F93209100013091010180911A01B8
-:1003500090911B0197FD23C0959587958217930770
-:100360007CF48091650084608093650021153105DF
-:1003700079F48FEF90E0909301018093000111C018
-:10038000809165008B7F809365002115310589F38D
-:1003900021503040309301012093000102C00196AA
-:1003A000DBCF9F918F913F912F910F900FBE0F90B8
-:1003B0001F901895662311F0C1980895C19A089569
-:1003C0008EE78ABB1BBA9FEF97BB82E088BB94BBCA
-:1003D00015BA8CEF81BB23E022BB8FED82B913B835
-:1003E00010926100909362008FE1809364002093EB
-:1003F000650088E290E09093870080938600949A4D
-:10040000959A9093850080938400969A979A9BBDC5
-:100410008ABDC19AC09A9093790080937800C29A5D
-:10042000C39A8AE090E00E943F05789408958EE791
-:100430008ABB1BBA9FEF97BB82E088BB94BB15BAFF
-:100440008CEF81BB23E022BB8FED82B913B81092F1
-:100450006100909362008FE18093640020936500B7
-:1004600088E290E09093870080938600949A959A12
-:100470009093850080938400969A979A9BBD8ABD3D
-:10048000C19AC09A9093790080937800C29AC39AD7
-:100490008AE090E00E943F057894089508950895B9
-:1004A00008950E94BA0299270895CF92DF92EF92A1
-:1004B000FF920F931F93CF93DF93CDB7DEB78C01DD
-:1004C000FB01EDB6FEB6DB010D900020E9F76D01F2
-:1004D0000894C108D108C61AD70AC60101962DB7DB
-:1004E0003EB7281B390B0FB6F8943EBF0FBE2DBF89
-:1004F0004DB75EB74F5F5F4F1C141D0464F420E0DE
-:1005000030E0BA018191DB018D93BD012F5F3F4F38
-:10051000C216D306B9F7960162E0C8010E94E7034C
-:100520000FB6F894FEBE0FBEEDBEDF91CF911F91C6
-:100530000F91FF90EF90DF90CF9008950E94AF024F
-:1005400008950E94AF020895FC0180E4809370003A
-:1005500084E4809374001092710010820895FC016D
-:1005600080E48093700084E48093740010927100A2
-:1005700010820895FC01808199270895660F609389
-:100580007200089580917400992787FD90958827BF
-:10059000990F881F99270895FC0190E020E030E032
-:1005A000660F44EC80917400806A8093740080919F
-:1005B000740087FFFCCF80917100887F883001F53F
-:1005C00060937300409374008091740087FFFCCFA8
-:1005D00080917100887F883189F080917100887FD7
-:1005E000803221F09923F1F2108208952F5F3F4F5E
-:1005F0002A303105B9F781E08083089591E0EDCF8D
-:1006000082E080830895660F616024EC809174001D
-:10061000806A809374008091740087FFFCCF809182
-:10062000710060937300209374008091740087FFC1
-:10063000FCCF809171009091710080917100809148
-:100640007400806880937400987F9034F9F6089560
-:100650006093730084EC809374008091740087FF32
-:10066000FCCF8091710080917100089584ED80939A
-:100670007400089584EC809374008091740087FF67
-:10068000FCCF20E030E094ECFB0180917100887F8A
-:10069000803889F4809173008083909374008091F6
-:1006A000740087FFFCCF2F5F3F4F31968091710020
-:1006B000887F803879F38091710084EC8093740096
-:1006C000C9010895FB018091740087FFFCCF8091E0
-:1006D00071008091710080917300808384EC80931D
-:1006E000740008951F93141615060CF5DA0111977E
-:1006F00020E030E014E894ECFB01808180937300EB
-:10070000A217B30789F0909374008091740087FF5B
-:10071000FCCF80917100809171002F5F3F4F319627
-:100720004217530751F703C010937400EECF84ECC7
-:10073000809374001F910895FC01660F616074EC52
-:1007400080917400806A809374008091740087FFA8
-:10075000FCCF80917100609373007093740080915E
-:10076000740087FFFCCF809171009091710080919F
-:10077000710080917400806880937400987F903439
-:10078000F9F680818823E9F412161306B4F460E0C8
-:1007900070E094ECFA018091740087FFFCCF8091A7
-:1007A0007100809171008091730081939093740027
-:1007B0006F5F7F4F2617370771F784ED80937400C2
-:1007C000089584ED8093740083E080830895DC01B4
-:1007D00090E0E0E0F0E0660F74EC80917400806AD5
-:1007E000809374008091740087FFFCCF809171002A
-:1007F000887F8830E9F5609373007093740080916E
-:10080000740087FFFCCF80917100887F883171F17F
-:1008100080917100887F803211F19923F1F21C924E
-:1008200012161306BCF460E070E094ECFA018081CB
-:1008300080937300909374008091740087FFFCCFC5
-:1008400080917100809171006F5F7F4F3196261704
-:10085000370769F784ED809374001C9208953196F0
-:10086000EA30F105D1F681E08C9304C091E0D0CF5D
-:1008700082E08C9384ED8093740008950E94D40CE0
-:1008800008950E94310C08951F920F920FB60F9297
-:1008900011242F933F934F938F939F93EF93FF9345
-:1008A0003BB14CB1209183012F5F2F718091840166
-:1008B000E22FFF279927E817F90741F0832F887166
-:1008C00020938301EB57FE4F408301C082E0809369
-:1008D000A501FF91EF919F918F914F913F912F91A2
-:1008E0000F900FBE0F901F9018951F920F920FB68A
-:1008F0000F9211248F939F93EF93FF939091610137
-:1009000080916201981761F0E0916201EF5FEF71F1
-:10091000E0936201FF27ED59FE4F80818CB901C041
-:100920005598FF91EF919F918F910F900FBE0F906F
-:100930001F9018959C011092610110926201109213
-:1009400083011092840197FF03C082E08BB93F7747
-:10095000832F99278093900029B988E98AB986E086
-:100960008093950008959091830180918401981758
-:1009700091F0E0918401EF5FEF71E0938401FF2734
-:10098000EB57FE4F20818091A5019927982F88274A
-:10099000820F911D089580E091E00895382F2091F5
-:1009A00061012F5F2F71E22FFF278091620199274C
-:1009B0008E179F07D1F3ED59FE4F308320936101CD
-:1009C000559A08951F920F920FB60F9211242F93EC
-:1009D0003F934F938F939F93EF93FF9330919B009F
-:1009E00040919C0020913E012F5F2F7180913F012B
-:1009F000E22FFF279927E817F90741F0832F887125
-:100A000020933E01E05CFE4F408301C082E0809372
-:100A10006001FF91EF919F918F914F913F912F91A5
-:100A20000F900FBE0F901F9018951F920F920FB648
-:100A30000F9211248F939F93EF93FF9390911C013A
-:100A400080911D01981769F0E0911D01EF5FEF7132
-:100A5000E0931D01FF27E25EFE4F808180939C00A2
-:100A600005C080919A008F7D80939A00FF91EF914D
-:100A70009F918F910F900FBE0F901F9018959C0122
-:100A800010921C0110921D0110923E0110923F0124
-:100A900097FF04C082E080939B003F77832F9927C4
-:100AA000809398002093990088E980939A0086E0CB
-:100AB00080939D00089590913E0180913F01981789
-:100AC00091F0E0913F01EF5FEF71E0933F01FF276D
-:100AD000E05CFE4F2081809160019927982F882744
-:100AE000820F911D089580E091E00895382F2091A4
-:100AF0001C012F5F2F71E22FFF2780911D01992785
-:100B00008E179F07D1F3E25EFE4F308320931C01C6
-:100B100080919A00806280939A000895DC013C9154
-:100B20003323D1F0119620911C012F5F2F71E22FFA
-:100B3000FF2780911D019927E817F907D1F3E25E9D
-:100B4000FE4F308320931C0180919A008062809335
-:100B50009A003C91332331F70895FC018491882356
-:100B6000D1F0AF014F5F5F4F382F209161012F5FB0
-:100B70002F71E22FFF27809162019927E817F9076B
-:100B8000D1F3ED59FE4F308320936101559AFA015C
-:100B90008491882339F70895DC013C913323B1F027
-:100BA0001196209161012F5F2F71E22FFF27809115
-:100BB00062019927E817F907D1F3ED59FE4F308309
-:100BC00020936101559A3C91332351F70895FC011C
-:100BD00084918823F1F0AF014F5F5F4F382F209150
-:100BE0001C012F5F2F71E22FFF2780911D01992794
-:100BF000E817F907D1F3E25EFE4F308320931C0122
-:100C000080919A00806280939A00FA0184918823EF
-:100C100019F7089508950895FC017183608308957C
-:100C2000FC01738362830895FC01758364830895D6
-:100C30002F923F924F925F926F927F928F929F92EC
-:100C4000AF92BF92CF92DF92EF92FF920F931F93DA
-:100C50004C01FC0160817181882777FD8095982F78
-:100C60000E94B7095B016C010E94180E0E94200AC5
-:100C70007B018C0189E191E00E94F806F401228158
-:100C800033813C01621A730A662777276E197F0940
-:100C9000882777FD8095982F0E94B7091B012C01AA
-:100CA000C601B5010E947B0D0E94200A882777FDAE
-:100CB0008095982F0E94B7095B016C01B7018827C6
-:100CC00077FD8095982F0E94B7090E94200AF401B1
-:100CD00024813581629FA001639F500D729F500D4A
-:100CE0001124460D571D00E111E060E070E0C801DD
-:100CF0000E94310127ED33EB4DED5FE3C601B501F5
-:100D00000E9499089B01AC01C201B1010E946C08CC
-:100D100020E030E040E05FE30E9499080E94200A52
-:100D2000F40124813581629FA001639F500D729F61
-:100D3000500D1124460D571D61E070E0C8010E945E
-:100D4000310127ED33EB4DED5FEBC601B5010E949C
-:100D500099089B01AC01C201B1010E946C0820E01E
-:100D600030E040E05FE30E9499080E94200AF4010D
-:100D700024813581629FA001639F500D729F500DA9
-:100D80001124460D571D62E070E0C8010E94310138
-:100D90001F910F91FF90EF90DF90CF90BF90AF9099
-:100DA0009F908F907F906F905F904F903F902F908B
-:100DB0000895FC011182108213821282158214821E
-:100DC0000E9418060895FC0111821082138212827B
-:100DD000158214820E9418060895FC0171836083B5
-:100DE00053834283358324830E941806089508950F
-:100DF00080E090E008950E940A0708950E940A0783
-:100E000008950E94080708950E940807089508950C
-:100E100008950895089580E090E00895A0E0B0E07E
-:100E2000E4E1F7E00C94420DFC016A0190819230FC
-:100E300008F41BC1DB018C91823080F0943061F4A6
-:100E4000843009F012C19181EB018981981709F46E
-:100E50000CC1E2E0F1E009C1843011F4FB0105C1ED
-:100E6000823091F4923009F000C1EA01DF0188E09C
-:100E70000D9009928150E1F78181FB0191818923D5
-:100E8000E6018983F601F1C0923041F362807380FC
-:100E9000EB018A809B80E480F580068117812C819C
-:100EA0003D814E815F815301A818B908C501B7FC87
-:100EB000ABC080970CF457C0861497040CF4BEC0E6
-:100EC0003401EE24FF2487019181FB018181981771
-:100ED00009F4A6C0992309F49CC02E193F09400BC0
-:100EE000510B57FDB0C0E60119827B826A82F60180
-:100EF0002483358346835783E6012C813D814E81CF
-:100F00005F8179018A01DA01C9010197A109B1095B
-:100F10008F5F9F4FAF4FBF43F8F4E6016A817B813B
-:100F2000A8019701220F331F441F551F61507040C5
-:100F300079018A01DA01C9010197A109B1098F5F1D
-:100F40009F4FAF4FBF4360F3E6017B836A83F60197
-:100F5000248335834683578383E0D6018C9357FDE2
-:100F600039C0F60182C086149704B4F4C0E0D0E022
-:100F7000DA01C90181709070A070B07056954795E4
-:100F800037952795282B392B4A2B5B2B2196AC16AE
-:100F9000BD0671F78A0C9B1C681479040CF094CF81
-:100FA000C0E0D0E05401A618B708D801C70181708D
-:100FB0009070A070B07016950795F794E794E82AA2
-:100FC000F92A0A2B1B2B2196AC16BD0671F76A0C69
-:100FD0007B1C7ACFDA01C901B695A79597958795BD
-:100FE0002170307040705070282B392B4A2B5B2BAE
-:100FF000E6012C833D834E835F838A819B8101962A
-:101000009B838A83F60131C0882799278A199B0917
-:1010100050CFE21AF30A040B150BA801970161CF18
-:10102000E60199837B826A822E0D3F1D401F511F6E
-:10103000F60124833583468357838ECF20E030E04A
-:1010400040E050E041CF81E0E60189837B826A8203
-:1010500050954095309521953F4F4F4F5F4FF6018A
-:10106000248335834683578347CFCF01EEE0CDB746
-:10107000DEB70C945E0DA0E2B0E0E1E4F8E00C9481
-:101080004A0D69837A838B839C832D833E834F83B0
-:10109000588789E1E82EF12CEC0EFD1EB701CE0138
-:1010A00001960E94920B8E010F5E1F4FB801CE0178
-:1010B00005960E94920B8A8991E089278A8BAE015E
-:1010C000475F5F4FB801C7010E940E070E94700A78
-:1010D000E6E0A0960C94660DA0E2B0E0E2E7F8E04E
-:1010E0000C944A0D69837A838B839C832D833E8382
-:1010F0004F83588799E1E92EF12CEC0EFD1EB701C4
-:10110000CE0101960E94920B8E010F5E1F4FB80117
-:10111000CE0105960E94920BAE01475F5F4FB8016A
-:10112000C7010E940E070E94700AE6E0A0960C9488
-:10113000660DA0E2B0E0EFE9F8E00C943E0D6983A3
-:101140007A838B839C832D833E834F8358878E01C4
-:10115000075E1F4FB801CE0101960E94920BF1E18C
-:10116000EF2EF12CEC0EFD1EB701CE0105960E946C
-:10117000920B898D823078F09989923040F420E08A
-:101180009A8D8A89981321E02A8BB701E9C08430AF
-:1011900051F4923061F020E09A8D8A89981321E011
-:1011A0002A8FB801DDC0943029F4823041F762E023
-:1011B00071E0D6C0823079F3923009F32D8D3E8DE7
-:1011C0004F8D58A18D899E89AF89B88D22243324F3
-:1011D0002101AA24BB246501EE24FF24870160E0DD
-:1011E00070E00DC06F5F7F4F6032710599F1880F1D
-:1011F000991FAA1FBB1F569547953795279520FF26
-:1012000019C0280E391E4A1E5B1E6624772443012E
-:10121000281639064A065B0628F4E1E06E2E712C8A
-:10122000812C912CAE0CBF1CC01ED11EA60CB71C6D
-:10123000C81CD91CEE0CFF1C001F111FB7FFD2CF1A
-:10124000E1E06E2E712C812C912CE628F7280829DC
-:101250001929C8CF8B8D9C8D2B893C89820F931FB8
-:1012600002969C878B871A869A8D8A89981711F027
-:1012700081E08A87D7FE17C08B859C85A0FE0CC0B5
-:10128000569447943794279420E030E040E050E8AB
-:10129000222A332A442A552AD694C794B794A7946D
-:1012A00001969C878B8730E0A31630E0B30630E0D0
-:1012B000C30630E4D30618F58B859C850EC0220C3E
-:1012C000331C441C551C019720E0A21620E0B206F6
-:1012D00020E0C20620E4D20680F4AA0CBB1CCC1C81
-:1012E000DD1C57FEECCF31E0632E712C812C912C4C
-:1012F000A628B728C828D928E2CF9C878B87D60193
-:10130000C5018F779070A070B07080349105A105F1
-:10131000B10551F0AD86BE86CF86D88A83E0898735
-:10132000BE01675F7F4F1CC0A7FCF4CF21143104BE
-:101330004104510479F380E490E0A0E0B0E0A80E0D
-:10134000B91ECA1EDB1E80E8682E8FEF782E8FEF45
-:10135000882E8FEF982EA620B720C820D920DACF6C
-:10136000CB010E94700AE2E1A0960C945A0DA8E00D
-:10137000B0E0EDEBF9E00C944D0D9B01AC0183E086
-:1013800089831A8257FD51C0211531054105510548
-:1013900039F482E08983CE0101960E94700A4CC024
-:1013A000EEE1F0E0FC83EB838A818823C9F12030F1
-:1013B00010E0310710E0410710E85107C9F1882714
-:1013C0009927DC01821B930BA40BB50B8D839E83A5
-:1013D000AF83B8872D813E814F815885203080E0D2
-:1013E000380780E0480780E45807A8F6EB81FC81C5
-:1013F000DA01C901880F991FAA1FBB1F31979C01F1
-:10140000AD01803010E0910710E0A10710E4B107B2
-:1014100078F3FC83EB838D839E83AF83B887BBCF48
-:101420002D833E834F835887D5CF81E08A83ACCF0D
-:1014300060E070E080E09FECE3E028960C94690D9A
-:10144000ACE0B0E0E6E2FAE00C944E0D69837A83FA
-:101450008B839C83BE016B5F7F4FCE0101960E9400
-:10146000920B8D81823061F0823050F0843069F4CB
-:101470008E81882359F52FEF3FEF4FEF5FE72AC0AA
-:1014800020E030E040E050E025C02F81388537FD76
-:10149000F7CF2F31310564F78EE190E0821B930B7B
-:1014A00029853A854B855C8504C0569547953795C7
-:1014B00027958A95D2F78E81882361F050954095C3
-:1014C000309521953F4F4F4F5F4F04C020E030E0F3
-:1014D00040E050E8CA01B901E2E02C960C946A0D94
-:1014E0004F925F926F927F928F929F92AF92BF9234
-:1014F000DF92EF92FF920F931F9320E030E040E0E5
-:1015000050E0FC01E480F58006811781D180808164
-:10151000823038F4D801C701A061AF77B0706FEFA7
-:10152000D9C0843009F46EC0823009F471C0E1146E
-:10153000F1040105110509F46BC0828193816FEFFD
-:10154000823896070CF06AC062E87FEF681B790B5F
-:101550006A3171050CF080C047015801062E04C0A5
-:10156000B694A794979487940A94D2F74424552468
-:10157000320181E090E0A0E0B0E004C0880F991F44
-:10158000AA1FBB1F6A95D2F70197A109B109E822EA
-:10159000F9220A231B23E114F1040105110529F0A6
-:1015A00061E0462E512C612C712C85017401E428D8
-:1015B000F52806291729D801C7018F779070A070E8
-:1015C000B07080349105A105B10509F457C0D80168
-:1015D000C701CF96A11DB11D60E070E08030E0E052
-:1015E0009E07E0E0AE07E0E4BE0710F061E070E0C7
-:1015F00027E0B695A795979587952A95D1F7AF7768
-:10160000B07068C080E090E0A0E0B0E06FEF62C032
-:1016100080E090E0A0E0B0E060E05CC08038910540
-:101620008CF7BC0161587F4FD801C7018F7790704C
-:10163000A070B07080349105A105B105A1F08FE3D1
-:1016400090E0A0E0B0E0E80EF91E0A1F1B1F17FD96
-:1016500028C0D801C701CCCF60E070E080E090E006
-:10166000A0E0B0E0CCCFE7FEF2CF80E490E0A0E0D5
-:10167000B0E0E80EF91E0A1F1B1FE9CFE7FC18C0F7
-:1016800080E090E060E0E61660E0F60660E00607C5
-:1016900060E4160710F081E090E0BC01D801C701BA
-:1016A000A7CF16950795F794E7946F5F7F4FD1CF3B
-:1016B000D801C701805C9F4FAF4FBF4F60E070E023
-:1016C0008030E0E09E07E0E0AE07E0E4BE0708F40B
-:1016D0008FCF8CCF282F392F9A2F9F77842F807808
-:1016E000892B962F9795992797958F77482F492B78
-:1016F0006695852F8078862BD794DD24D7948F77B5
-:10170000582F5D29CA01B9011F910F91FF90EF90E9
-:10171000DF90BF90AF909F908F907F906F905F9081
-:101720004F900895FC01DB01208131819281492F86
-:101730004F7750E0991F9927991F8381682F660F73
-:10174000692B881F8827881FFD018183662309F084
-:1017500049C0211531054105510509F470C082E8E1
-:101760009FEFFD0193838283220F331F441F551F78
-:10177000220F331F441F551F220F331F441F551FB5
-:10178000220F331F441F551F220F331F441F551FA5
-:10179000220F331F441F551F220F331F441F551F95
-:1017A00083E08C932030F0E03F07F0E04F07F0E457
-:1017B0005F0790F482E89FEF220F331F441F551FED
-:1017C0000197203060E0360760E0460760E4560786
-:1017D00098F3FD0193838283FD012483358346833F
-:1017E000578308956F3F71F1862F99278F57904047
-:1017F000FD019383828383E08C93220F331F441F68
-:10180000551F220F331F441F551F220F331F441F24
-:10181000551F220F331F441F551F220F331F441F14
-:10182000551F220F331F441F551F220F331F441F04
-:10183000551F50642483358346835783089582E07F
-:101840008C930895211531054105510519F484E063
-:101850008C93089544FD02C01C92BECF81E08C930E
-:10186000BBCFCF93DF93AC01029710F442E050E07E
-:10187000A091A801B091A901FD01C0E0D0E020E055
-:1018800030E020C0808191818417950769F48281BE
-:101890009381209719F09B838A8304C09093A901B8
-:1018A0008093A801CF0132C04817590738F4211599
-:1018B000310519F08217930708F49C01EF010280AB
-:1018C000F381E02D3097F1F62115310589F1C90139
-:1018D000841B950B049708F4A901E0E0F0E026C012
-:1018E0008D919C91119782179307E9F44817590736
-:1018F00079F4ED018A819B81309719F0938382837B
-:1019000004C09093A9018093A801CD01029649C01B
-:10191000841B950BFD01E80FF91F4193519302972A
-:101920008D939C933AC0FD01A281B3811097C1F6BB
-:101930008091A6019091A701892B41F480910C011F
-:1019400090910D019093A7018093A60120910E0123
-:1019500030910F012115310541F42DB73EB780912B
-:101960000A0190910B01281B390BE091A601F0911F
-:10197000A7012E1B3F0B2417350788F0CA010296DA
-:101980002817390760F0CF01840F951F02969093B6
-:10199000A7018093A60141935193CF0102C080E03B
-:1019A00090E0DF91CF910895CF93DF93009709F4F2
-:1019B0004EC0EC0122971B821A82A091A801B0911F
-:1019C000A901109711F140E050E001C0DC01AC1713
-:1019D000BD0700F1BB83AA83FE0121913191E20F83
-:1019E000F31FEA17FB0771F42E5F3F4F8D919C9117
-:1019F0001197820F931F99838883FD0182819381C0
-:101A00009B838A834115510559F4D093A901C09352
-:101A1000A8011DC0FD0182819381AD010097B1F63F
-:101A2000FA01D383C28321913191E20FF31FEC17A6
-:101A3000FD0769F42E5F3F4F88819981820F931FC4
-:101A4000FA01918380838A819B8193838283DF91D2
-:101A5000CF910895AA1BBB1B51E107C0AA1FBB1F52
-:101A6000A617B70710F0A61BB70B881F991F5A952A
-:101A7000A9F780959095BC01CD0108952F923F92D2
-:101A80004F925F926F927F928F929F92AF92BF928E
-:101A9000CF92DF92EF92FF920F931F93CF93DF933A
-:101AA000CDB7DEB7CA1BDB0B0FB6F894DEBF0FBE97
-:101AB000CDBF09942A88398848885F846E847D84E4
-:101AC0008C849B84AA84B984C884DF80EE80FD80E6
-:101AD0000C811B81AA81B981CE0FD11D0FB6F8945C
-:101AE000DEBF0FBECDBFED010895EE0FFF1F0590C5
-:101AF000F491E02D099450E449EC3FE02BED01D046
-:101B000013C05F77552319F444230AF02BC02F9399
-:101B10003F934F935F93A3D05527442759D05F91AC
-:101B20004F913F912F9105CB1F939F7750EC49E444
-:101B30003FE02BEDD1DA10E89F775FE349EC3FE01F
-:101B40002BED621773078407950720F050EC49E4EA
-:101B5000C3DA112780D09068ECE8F0E006D0912736
-:101B60001F9108959FEF80EC0895FF92EF92DF920E
-:101B7000CF92BF926B017C01B59016D0B590BB207F
-:101B800069F09F938F937F936F93B601C7010CD039
-:101B90002F913F914F915F910E942F0EBF90CF9058
-:101BA000DF90EF90FF900895A0D002C09601A701AA
-:101BB000EF93FF930E949908FF91EF9196D0EF93D6
-:101BC000FF930E946C08FF91EF91BA9479F7089502
-:101BD000C8D0CF93DF93D52FC42F55274427332761
-:101BE00022279923D9F09F37C8F0F92F88D0592F91
-:101BF000482F372F262FF63968F422DCB8DBC030A7
-:101C0000CD0721F069937993899399939058DF9147
-:101C1000CF9162CA9927882777276627C030CD07DA
-:101C200021F02993399349935993DF91CF9167C05C
-:101C30009F939F77993358F050E449EC3FE02BEDA8
-:101C400060DF5FEB49EC3FE02BED46DA6DDF5F9143
-:101C50005078952708959B01AC010C94990867D0A2
-:101C600001D04DC0552359F0992369F09F575F5714
-:101C7000951B33F442F4903811F4915805C072CF9B
-:101C800091589F3F09F47FC0BB2711246217730747
-:101C9000840730F4660F771F881FBB1F915098F39D
-:101CA00011D00F920FD00F920DD0A0E82617370752
-:101CB00048071B0609F0A048BA2F602D7F918F912D
-:101CC00000240895A0E80024621773078407B10573
-:101CD00028F0621B730B840BB1090A2A660F771F69
-:101CE000881FBB1FA69581F70895559145913591A1
-:101CF000259108959A95BB0F661F771F881F1124A1
-:101D00009923A1F08823B2F79F3F59F0BB0F48F405
-:101D100021F4002011F460FF04C06F5F7F4F8F4FEC
-:101D20009F4F881F9795879597F9089529C0052E8D
-:101D3000092607FA440F551F5F3F79F0AA27A51718
-:101D400008F051E04795880F991F9F3F31F0BB275E
-:101D5000B91708F091E0879508959F919F911124FC
-:101D600001CF97FB880F991F9F3F31F0BB27B91711
-:101D700008F091E0879508959F919F911124F2CEEC
-:101D80006627772788279927089510E0C4EBD0E0CD
-:101D900004C0FE010E94770D2296C63BD107C9F709
-:101DA000FF0000000000000000002000AA01000069
+:10018000089520E030E080E090E0A0E0B0E00000E2
+:100190000196A11DB11D8E3E42E7940745E1A407DB
+:1001A00040E0B407A1F72F5F3F4F2230310559F7E8
+:1001B0004FEF50E060E070E080E191E00E94380194
+:1001C0004FEF50E061E070E080E191E00E94380183
+:1001D0004FEF50E062E070E080E191E00E94380172
+:1001E0004FEF50E063E070E080E191E00E94380161
+:1001F00088B3806A88BB83B1886183B980E090E06E
+:10020000A0E0B0E000000196A11DB11D8E3E22E7E6
+:10021000920725E1A20720E0B207A1F7EFCF0895EA
+:10022000089586E886B967B987B1806C87B9369A30
+:100230003699FECF40E020E030E0369A3699FECF86
+:1002400084B195B1280F391F4F5F4330B1F737980C
+:10025000C90163E070E00E94BE1DCB010895709358
+:100260002A01609329010895C19A0895C1980895BB
+:100270006430710500F5CA0157FD36C088968F3F7E
+:10028000910509F01CF561157105B1F0613071053A
+:1002900081F16230710501F16330710561F4909371
+:1002A00079008093780014161506D4F5C29AC39885
+:1002B0000895C29AC39A0895909387008093860008
+:1002C0001416150604F5959A949808958FEF90E00A
+:1002D00061157105D9F6F0CF9BBD8ABD14161506C0
+:1002E00024F5C09AC198089588279927841B950BF7
+:1002F000C5CF9093850080938400141615065CF496
+:10030000969A97980895452B19F4949A959A08957A
+:10031000949A95980895452B69F0979A9698089520
+:10032000452B39F2C39AC2980895452B31F0C19AF2
+:10033000C0980895969A979A0895C19AC09A089578
+:100340001F920F920FB60F9211242F933F938F930A
+:100350009F9320910001309101018091290190919A
+:100360002A0197FD23C095958795821793077CF402
+:10037000809165008460809365002115310579F4D2
+:100380008FEF90E0909301018093000111C0809164
+:1003900065008B7F809365002115310589F321501D
+:1003A0003040309301012093000102C00196DBCF61
+:1003B0009F918F913F912F910F900FBE0F901F90A3
+:1003C0001895662311F0C1980895C19A08958EE793
+:1003D0008ABB1BBA9FEF97BB82E088BB94BB15BA60
+:1003E0008CEF81BB23E022BB8FED82B913B8109252
+:1003F0006100909362008FE1809364002093650018
+:1004000088E290E09093870080938600949A959A72
+:100410009093850080938400969A979A9BBD8ABD9D
+:10042000C19AC09A9093790080937800C29AC39A37
+:100430008AE090E00E944605789408958EE78ABB92
+:100440001BBA9FEF97BB82E088BB94BB15BA8CEFB9
+:1004500081BB23E022BB8FED82B913B810926100FB
+:10046000909362008FE1809364002093650088E29E
+:1004700090E09093870080938600949A959A909349
+:10048000850080938400969A979A9BBD8ABDC19AF5
+:10049000C09A9093790080937800C29AC39A8AE0B8
+:1004A00090E00E944605789408950895089508956F
+:1004B0000E94C10299270895CF92DF92EF92FF9296
+:1004C0000F931F93CF93DF93CDB7DEB78C01FB0162
+:1004D000EDB6FEB6DB010D900020E9F76D01089442
+:1004E000C108D108C61AD70AC60101962DB73EB772
+:1004F000281B390B0FB6F8943EBF0FBE2DBF4DB76A
+:100500005EB74F5F5F4F1C141D0464F420E030E0C1
+:10051000BA018191DB018D93BD012F5F3F4FC21660
+:10052000D306B9F7960162E0C8010E94EE030FB648
+:10053000F894FEBE0FBEEDBEDF91CF911F910F91DB
+:10054000FF90EF90DF90CF9008950E94B60208953B
+:100550000E94B6020895FC0180E48093700084E458
+:10056000809374001092710010820895FC0180E461
+:100570008093700084E48093740010927100108264
+:100580000895FC01808199270895660F6093720099
+:10059000089580917400992787FD90958827990F79
+:1005A000881F99270895FC0190E020E030E0660F55
+:1005B00044EC80917400806A809374008091740090
+:1005C00087FFFCCF80917100887F883001F56093B0
+:1005D0007300409374008091740087FFFCCF80917A
+:1005E0007100887F883189F080917100887F803226
+:1005F00021F09923F1F2108208952F5F3F4F2A30A6
+:100600003105B9F781E08083089591E0EDCF82E074
+:1006100080830895660F616024EC80917400806A85
+:10062000809374008091740087FFFCCF80917100EB
+:1006300060937300209374008091740087FFFCCF57
+:10064000809171009091710080917100809174008F
+:10065000806880937400987F9034F9F608956093D1
+:10066000730084EC809374008091740087FFFCCF4A
+:100670008091710080917100089584ED80937400E1
+:10068000089584EC809374008091740087FFFCCF00
+:1006900020E030E094ECFB0180917100887F80388D
+:1006A00089F480917300808390937400809174002A
+:1006B00087FFFCCF2F5F3F4F319680917100887F7D
+:1006C000803879F38091710084EC80937400C901C3
+:1006D0000895FB018091740087FFFCCF8091710029
+:1006E0008091710080917300808384EC809374000A
+:1006F00008951F93141615060CF5DA01119720E0E2
+:1007000030E014E894ECFB01808180937300A21721
+:10071000B30789F0909374008091740087FFFCCF39
+:1007200080917100809171002F5F3F4F3196421789
+:10073000530751F703C010937400EECF84EC8093FD
+:1007400074001F910895FC01660F616074EC809144
+:100750007400806A809374008091740087FFFCCFDE
+:1007600080917100609373007093740080917400A5
+:1007700087FFFCCF80917100909171008091710092
+:1007800080917400806880937400987F9034F9F6AB
+:1007900080818823E9F412161306B4F460E070E057
+:1007A00094ECFA018091740087FFFCCF8091710076
+:1007B00080917100809173008193909374006F5FBA
+:1007C0007F4F2617370771F784ED809374000895E3
+:1007D00084ED8093740083E080830895DC0190E0D1
+:1007E000E0E0F0E0660F74EC80917400806A809322
+:1007F00074008091740087FFFCCF80917100887F26
+:100800008830E9F5609373007093740080917400F0
+:1008100087FFFCCF80917100887F883171F18091D2
+:100820007100887F803211F19923F1F21C92121627
+:100830001306BCF460E070E094ECFA0180818093D0
+:100840007300909374008091740087FFFCCF8091B7
+:100850007100809171006F5F7F4F319626173707C7
+:1008600069F784ED809374001C9208953196EA3004
+:10087000F105D1F681E08C9304C091E0D0CF82E005
+:100880008C9384ED8093740008950E94681D0895F0
+:100890000E94C51C08951F920F920FB60F9211244B
+:1008A0002F933F934F938F939F93EF93FF933BB17E
+:1008B0004CB1209192012F5F2F7180919301E22F13
+:1008C000FF279927E817F90741F0832F88712093B4
+:1008D0009201EC56FE4F408301C082E08093B40148
+:1008E000FF91EF919F918F914F913F912F910F9099
+:1008F0000FBE0F901F9018951F920F920FB60F9278
+:1009000011248F939F93EF93FF93909170018091A7
+:100910007101981761F0E0917101EF5FEF71E09361
+:100920007101FF27EE58FE4F80818CB901C05598A8
+:10093000FF91EF919F918F910F900FBE0F901F909D
+:1009400018959C0110927001109271011092920101
+:100950001092930197FF03C082E08BB93F77832FFA
+:1009600099278093900029B988E98AB986E0809315
+:10097000950008959091920180919301981791F0BC
+:10098000E0919301EF5FEF71E0939301FF27EC5645
+:10099000FE4F20818091B4019927982F8827820FDC
+:1009A000911D089580E091E00895382F2091700105
+:1009B0002F5F2F71E22FFF278091710199278E17EA
+:1009C0009F07D1F3EE58FE4F308320937001559A64
+:1009D00008951F920F920FB60F9211242F933F93F9
+:1009E0004F938F939F93EF93FF9330919B00409190
+:1009F0009C0020914D012F5F2F7180914E01E22FBD
+:100A0000FF279927E817F90741F0832F8871209372
+:100A10004D01E15BFE4F408301C082E080936F0196
+:100A2000FF91EF919F918F914F913F912F910F9057
+:100A30000FBE0F901F9018951F920F920FB60F9236
+:100A400011248F939F93EF93FF9390912B018091AB
+:100A50002C01981769F0E0912C01EF5FEF71E093A2
+:100A60002C01FF27E35DFE4F808180939C0005C031
+:100A700080919A008F7D80939A00FF91EF919F91D2
+:100A80008F910F900FBE0F901F9018959C011092A0
+:100A90002B0110922C0110924D0110924E0197FFE4
+:100AA00004C082E080939B003F77832F9927809337
+:100AB00098002093990088E980939A0086E08093BB
+:100AC0009D00089590914D0180914E01981791F0ED
+:100AD000E0914E01EF5FEF71E0934E01FF27E15B84
+:100AE000FE4F208180916F019927982F8827820FD0
+:100AF000911D089580E091E00895382F20912B01F9
+:100B00002F5F2F71E22FFF2780912C0199278E17DD
+:100B10009F07D1F3E35DFE4F308320932B0180913B
+:100B20009A00806280939A000895DC013C913323FF
+:100B3000D1F0119620912B012F5F2F71E22FFF270B
+:100B400080912C019927E817F907D1F3E35DFE4F57
+:100B5000308320932B0180919A00806280939A00C9
+:100B60003C91332331F70895FC0184918823D1F01F
+:100B7000AF014F5F5F4F382F209170012F5F2F71B2
+:100B8000E22FFF27809171019927E817F907D1F328
+:100B9000EE58FE4F308320937001559AFA018491EC
+:100BA000882339F70895DC013C913323B1F0119685
+:100BB000209170012F5F2F71E22FFF27809171012B
+:100BC0009927E817F907D1F3EE58FE4F30832093A9
+:100BD0007001559A3C91332351F70895FC0184919B
+:100BE0008823F1F0AF014F5F5F4F382F20912B0129
+:100BF0002F5F2F71E22FFF2780912C019927E81793
+:100C0000F907D1F3E35DFE4F308320932B018091F0
+:100C10009A00806280939A00FA018491882319F7E0
+:100C2000089508950895FC01718360830895FC017F
+:100C3000738362830895FC017583648308952F9202
+:100C40003F924F925F926F927F928F929F92AF925C
+:100C5000BF92CF92DF92EF92FF920F931F934C01BE
+:100C6000FC0160817181882777FD8095982F0E9413
+:100C70004B1A5B016C010E94AC1E0E94B41A7B01EE
+:100C80008C0189E191E00E94FF06F4012281338109
+:100C90003C01621A730A662777276E197F09882735
+:100CA00077FD8095982F0E944B1A1B012C01C601DD
+:100CB000B5010E940F1E0E94B41A882777FD809507
+:100CC000982F0E944B1A5B016C01B701882777FDB2
+:100CD0008095982F0E944B1A0E94B41AF401248127
+:100CE0003581629FA001639F500D729F500D1124AA
+:100CF000460D571D00E111E060E070E0C8010E9460
+:100D0000380127ED33EB4DED5FE3C601B5010E94DD
+:100D10002D199B01AC01C201B1010E94001920E014
+:100D200030E040E05FE30E942D190E94B41AF40104
+:100D300024813581629FA001639F500D729F500DE9
+:100D40001124460D571D61E070E0C8010E94380172
+:100D500027ED33EB4DED5FEBC601B5010E942D1978
+:100D60009B01AC01C201B1010E94001920E030E0FA
+:100D700040E05FE30E942D190E94B41AF40124811F
+:100D80003581629FA001639F500D729F500D112409
+:100D9000460D571D62E070E0C8010E9438011F91A6
+:100DA0000F91FF90EF90DF90CF90BF90AF909F900A
+:100DB0008F907F906F905F904F903F902F9008950D
+:100DC000FC011182108213821282158214820E9409
+:100DD0001F060895FC01118210821382128215826F
+:100DE00014820E941F060895FC017183608353835F
+:100DF0004283358324830E941F060895089580E06E
+:100E000090E008950E944F0708950E944F070895AB
+:100E10000E942E0708950E942E070895FC0111825A
+:100E200010828EE190E0938382838CE390E095833F
+:100E3000848384E690E09783868384EB90E09187B7
+:100E4000808784E091E0938782878CE291E09587A8
+:100E500084878AE491E0978786870895FC01118250
+:100E600010828EE190E0938382838CE390E09583FF
+:100E7000848384E690E09783868384EB90E0918777
+:100E8000808784E091E0938782878CE291E0958768
+:100E900084878AE491E09787868708950895089566
+:100EA0000F931F93CF93DF93CDB7DEB760970FB645
+:100EB000F894DEBF0FBECDBF8C0160E080E191E011
+:100EC0000E9411019A83898361E080E191E00E9490
+:100ED00011019C838B8362E080E191E00E9411010B
+:100EE0009E838D8363E080E191E00E9411019887E9
+:100EF0008F8364E080E191E00E9411019A878987E5
+:100F000065E080E191E00E9411019C878B8766E09B
+:100F100080E191E00E9411019E878D8767E080E16A
+:100F200091E00E941101AC01988B8F8720E030E0A6
+:100F30008B819C818050944014F421E030E0F901D1
+:100F40008D819E818050944014F4E2E0F0E08F8126
+:100F500098858050944014F4E3E0F0E089859A8508
+:100F60008050944014F4E4E0F0E08B859C85805040
+:100F7000944014F4E5E0F0E08D859E858050944027
+:100F800014F4E6E0F0E04050544014F4E7E0F0E000
+:100F9000EE0FFF1FE00FF11F8081918160960FB669
+:100FA000F894DEBF0FBECDBFDF91CF911F910F919F
+:100FB0000895FC01672B49F484E090E091838083DD
+:100FC00086E090E093838283089585E090E09183AA
+:100FD000808387E090E0938382830895FC01672BF0
+:100FE00049F484E090E09183808386E090E09383ED
+:100FF0008283089585E090E09183808387E090E08C
+:10100000938382830895089508950F931F93CF9338
+:10101000DF93DC0184B32D913C91119741E050E0C6
+:10102000FA01022E02C0EE0FFF1F0A94E2F78E2B88
+:1010300084BB07E010E0021B130BED010A8002C025
+:10104000440F551F0A94E2F7342F309585B383235C
+:1010500085BB25B383B380952823862F9927002E3F
+:1010600002C0959587950A94E2F78E23282B25BB1D
+:10107000660F000085B3842B85BB85B3832385BBB6
+:1010800025B383B380952823862F9927002E02C08D
+:10109000959587950A94E2F78E23282B25BB660F3A
+:1010A000000085B3842B85BB85B3832385BB25B323
+:1010B00083B380952823862F9927002E02C095950B
+:1010C00087950A94E2F78E23282B25BB660F000034
+:1010D00085B3842B85BB85B3832385BB25B383B3BD
+:1010E00080952823862F9927002E02C095958795F5
+:1010F0000A94E2F78E23282B25BB660F000085B3E8
+:10110000842B85BB85B3832385BB25B383B38095AF
+:101110002823862F9927002E02C0959587950A943B
+:10112000E2F78E23282B25BB660F000085B3842BA6
+:1011300085BB85B3832385BB25B383B380952823E3
+:10114000862F9927002E02C0959587950A94E2F77D
+:101150008E23282B25BB660F000085B3842B85BB0F
+:1011600085B3832385BB25B383B380952823862F3E
+:101170009927002E02C0959587950A94E2F78E2351
+:10118000282B25BB000085B3842B85BB85B3832327
+:1011900085BB95B383B380959823660F772702C0EC
+:1011A000759567950A95E2F7E6239E2B95BB00009F
+:1011B00085B3482B45BBDF91CF911F910F910895C7
+:1011C000FC0124B3A081B18161E070E0CB010A2E63
+:1011D00002C0880F991F0A94E2F78095282324BB48
+:1011E000028002C0660F771F0A94E2F7362F30950F
+:1011F00085B3832385BB000085B3862B85BB43B3B2
+:1012000085B3832385BB55270A2E02C05595479584
+:101210000A94E2F741705070440F000085B3862BAA
+:1012200085BB83B325B3232325BB99270A2E02C090
+:10123000959587950A94E2F78170482B440F00003A
+:1012400085B3862B85BB83B325B3232325BB992781
+:101250000A2E02C0959587950A94E2F78170482B73
+:10126000440F000085B3862B85BB83B325B32323AE
+:1012700025BB99270A2E02C0959587950A94E2F717
+:101280008170482B440F000085B3862B85BB83B348
+:1012900025B3232325BB99270A2E02C09595879550
+:1012A0000A94E2F78170482B440F000085B3862B27
+:1012B00085BB83B325B3232325BB99270A2E02C000
+:1012C000959587950A94E2F78170482B440F0000AA
+:1012D00085B3862B85BB83B325B3232325BB9927F1
+:1012E0000A2E02C0959587950A94E2F78170482BE3
+:1012F000440F000085B3682B65BB83B3992702C0F8
+:1013000095958795AA95E2F78170482B842F9927A8
+:101310000895CF93DF93FC0144B3C081D18121E0D4
+:1013200030E0C9010C2E02C0880F991F0A94E2F721
+:10133000A82F482B44BB47E050E04C1B5D0B0280BC
+:1013400002C0220F331F0A94E2F7322FE22FE095FA
+:1013500085B38E2385BB25B383B380952823862F41
+:101360009927042E02C0959587950A94E2F78A235F
+:10137000282B25BB660F000085B3832B85BB85B367
+:101380008E2385BB25B383B380952823862F992789
+:10139000042E02C0959587950A94E2F78A23282B9C
+:1013A00025BB660F000085B3832B85BB85B38E23D9
+:1013B00085BB25B383B380952823862F9927042ED8
+:1013C00002C0959587950A94E2F78A23282B25BBBE
+:1013D000660F000085B3832B85BB85B38E2385BB49
+:1013E00025B383B380952823862F9927042E02C026
+:1013F000959587950A94E2F78A23282B25BB660FDB
+:10140000000085B3832B85BB85B38E2385BB25B3B5
+:1014100083B380952823862F9927042E02C09595A3
+:1014200087950A94E2F78A23282B25BB660F0000D4
+:1014300085B3832B85BB85B38E2385BB25B383B34F
+:1014400080952823862F9927042E02C0959587958D
+:101450000A94E2F78A23282B25BB660F000085B388
+:10146000832B85BB85B38E2385BB25B383B3809542
+:101470002823862F9927042E02C0959587950A94D4
+:10148000E2F78A23282B25BB000085B3832B85BB7D
+:1014900085B38E2385BB95B383B380959823660F60
+:1014A000772702C0759567954A95E2F78A2F8623BC
+:1014B000982B95BB000085B3832B85BB80E090E023
+:1014C0000000019621E08C329207D1F784B3A095F9
+:1014D0008A2384BB85B38E2385BB000085B3832B11
+:1014E00085BB43B385B38E2385BB55270C2E02C025
+:1014F000559547950A94E2F741705070440F0000EB
+:1015000085B3832B85BB83B325B32E2325BB9927B6
+:101510000C2E02C0959587950A94E2F78170482BAE
+:10152000440F000085B3832B85BB83B325B32E23E3
+:1015300025BB99270C2E02C0959587950A94E2F752
+:101540008170482B440F000085B3832B85BB83B388
+:1015500025B32E2325BB99270C2E02C09595879580
+:101560000A94E2F78170482B440F000085B3832B67
+:1015700085BB83B325B32E2325BB99270C2E02C030
+:10158000959587950A94E2F78170482B440F0000E7
+:1015900085B3832B85BB83B325B32E2325BB992726
+:1015A0000C2E02C0959587950A94E2F78170482B1E
+:1015B000440F000085B3832B85BB83B325B32E2353
+:1015C00025BB99270C2E02C0959587950A94E2F7C2
+:1015D0008170482B440F000085B3832B85BB83B3F8
+:1015E000992702C095958795CA95E2F78170482B97
+:1015F000842F9927DF91CF910895EF92FF920F9357
+:101600001F93CF93DF937C01606884B3E701288147
+:101610003981A1E0B0E0FD01022E02C0EE0FFF1FF4
+:101620000A94E2F78E2B84BB07E010E0021B130B39
+:101630000A8002C0AA0FBB1F0A94E2F73A2F309526
+:1016400085B3832385BB25B383B380952823862F59
+:101650009927002E02C0959587950A94E2F78E236C
+:10166000282B25BB660F000085B38A2B85BB85B36D
+:10167000832385BB25B383B380952823862F9927A1
+:10168000002E02C0959587950A94E2F78E23282BA9
+:1016900025BB660F000085B38A2B85BB85B38323EA
+:1016A00085BB25B383B380952823862F9927002EE9
+:1016B00002C0959587950A94E2F78E23282B25BBC7
+:1016C000660F000085B38A2B85BB85B3832385BB5A
+:1016D00025B383B380952823862F9927002E02C037
+:1016E000959587950A94E2F78E23282B25BB660FE4
+:1016F000000085B38A2B85BB85B3832385BB25B3C7
+:1017000083B380952823862F9927002E02C09595B4
+:1017100087950A94E2F78E23282B25BB660F0000DD
+:1017200085B38A2B85BB85B3832385BB25B383B360
+:1017300080952823862F9927002E02C0959587959E
+:101740000A94E2F78E23282B25BB660F000085B391
+:101750008A2B85BB85B3832385BB25B383B3809553
+:101760002823862F9927002E02C0959587950A94E5
+:10177000E2F78E23282B25BB000085B38A2B85BB7F
+:1017800085B3832385BB95B383B380959823660F78
+:101790007727002E02C0759567950A94E2F78E2F81
+:1017A0008623982B95BB000085B38A2B85BB84B319
+:1017B0008E2B84BB85B3832385BB25B383B38095F0
+:1017C0002823842F9927002E02C0959587950A9487
+:1017D000E2F78E23282B25BB440F000085B38A2B0C
+:1017E00085BB85B3832385BB25B383B3809528232D
+:1017F000842F9927002E02C0959587950A94E2F7C9
+:101800008E23282B25BB440F000085B38A2B85BB74
+:1018100085B3832385BB25B383B380952823842F89
+:101820009927002E02C0959587950A94E2F78E239A
+:10183000282B25BB440F000085B38A2B85BB85B3BD
+:10184000832385BB25B383B380952823842F9927D1
+:10185000002E02C0959587950A94E2F78E23282BD7
+:1018600025BB440F000085B38A2B85BB85B383233A
+:1018700085BB25B383B380952823842F9927002E19
+:1018800002C0959587950A94E2F78E23282B25BBF5
+:10189000440F000085B38A2B85BB85B3832385BBAA
+:1018A00025B383B380952823842F9927002E02C067
+:1018B000959587950A94E2F78E23282B25BB440F34
+:1018C000000085B38A2B85BB85B3832385BB25B3F5
+:1018D00083B380952823842F9927002E02C09595E5
+:1018E00087950A94E2F78E23282B25BB000085B349
+:1018F0008A2B85BB85B3832385BB95B383B3809542
+:101900009823440F552702C0559547950A95E2F74D
+:10191000E4239E2B95BB000085B38A2B85BB80E01A
+:1019200090E000000196E1E08C329E07D1F7DF9154
+:10193000CF911F910F91FF90EF900895CF93DF9378
+:10194000FC0124B34081518161E070E0CB01042EA1
+:1019500002C0880F991F0A94E2F7A82F282B24BBF6
+:10196000C7E0D0E0C41BD50BCB01028002C0880FBA
+:10197000991F0A94E2F7582F482F409585B3842386
+:1019800085BB25B383B38095282380E890E00C2E97
+:1019900002C0959587950A94E2F73A2F3823232BB6
+:1019A00025BB000085B3852B85BB85B3842385BB10
+:1019B00095B383B38095982395BB000085B3852BA1
+:1019C00085BB85B3842385BB95B383B3809598236A
+:1019D00095BB000085B3852B85BB85B3842385BB70
+:1019E00095B383B38095982395BB000085B3852B71
+:1019F00085BB85B3842385BB95B383B3809598233A
+:101A000095BB000085B3852B85BB85B3842385BB3F
+:101A100095B383B38095982395BB000085B3852B40
+:101A200085BB85B3842385BB95B383B38095982309
+:101A300095BB000085B3852B85BB85B3842385BB0F
+:101A400095B383B38095982395BB000085B3852B10
+:101A500085BB84B38A2B84BB85B3842385BB95B3B4
+:101A600083B3809598230C2E02C0759567950A94D0
+:101A7000E2F78A2F8623982B95BB000085B3852B30
+:101A800085BB85B3842385BB25B383B38095282389
+:101A900082E090E00C2E02C0959587950A94E2F7BB
+:101AA0008A23282B25BB000085B3852B85BB85B3F6
+:101AB000842385BB25B383B38095282384E090E0FD
+:101AC0000C2E02C0959587950A94E2F78A23282B5D
+:101AD00025BB000085B3852B85BB85B3842385BBDF
+:101AE00025B383B38095282388E090E00C2E02C0B4
+:101AF000959587950A94E2F78A23282B25BB000049
+:101B000085B3852B85BB85B3842385BB25B383B380
+:101B10008095282380E190E00C2E02C09595879552
+:101B20000A94E2F78A23282B25BB000085B3852B76
+:101B300085BB85B3842385BB25B383B380952823D8
+:101B400080E290E00C2E02C0959587950A94E2F70A
+:101B50008A23282B25BB000085B3852B85BB85B345
+:101B6000842385BB25B383B38095282380E490E04C
+:101B70000C2E02C0959587950A94E2F78A23282BAC
+:101B800025BB000085B3852B85BB85B3842385BB2E
+:101B900095B383B380959823932B95BB000085B3B1
+:101BA000852B85BB80E090E00000019621E08C321F
+:101BB0009207D1F784B38A2B84BB85B3842385BB7A
+:101BC00025B383B38095282388E890E00C2E02C0CB
+:101BD000959587950A94E2F78A23282B25BB000068
+:101BE00085B3852B85BB85B3842385BB25B383B3A0
+:101BF0008095282380E190E00C2E02C09595879572
+:101C00000A94E2F78A23282B25BB000085B3852B95
+:101C100085BB85B3842385BB25B383B380952823F7
+:101C200080E290E00C2E02C0959587950A94E2F729
+:101C30008A23282B25BB000085B3852B85BB85B364
+:101C4000842385BB25B383B38095282380E490E06B
+:101C50000C2E02C0959587950A94E2F78A23282BCB
+:101C600025BB000085B3852B85BB85B3842385BB4D
+:101C700025B383B38095282380E890E002C0959532
+:101C80008795CA95E2F78A23282B25BB000085B3E8
+:101C9000852B85BB85B3842385BB95B383B38095A2
+:101CA000982395BB000085B3852B85BB85B3842322
+:101CB00085BB95B383B38095982395BB000085B30E
+:101CC000852B85BB85B3842385BB95B383B3809572
+:101CD000982395BB000085B3852B85BB84B3A82BC7
+:101CE000A4BB85B3842385BB95B383B38095982328
+:101CF00095BB000085B3852B85BB85B3842385BB4D
+:101D000095B383B38095982395BB000085B3852B4D
+:101D100085BB85B3842385BB95B383B38095982316
+:101D200095BB000085B3852B85BB85B3842385BB1C
+:101D300095B383B38095982395BB000085B3852B1D
+:101D400085BB85B3842385BB95B383B380959823E6
+:101D500095BB000085B3852B85BB85B3842385BBEC
+:101D600095B383B38095982395BB000085B3852BED
+:101D700085BB85B3842385BB95B383B380959823B6
+:101D800095BB000085B3852B85BB85B3842385BBBC
+:101D900095B383B38095982395BB000085B3852BBD
+:101DA00085BB80E090E00000019621E08C32920734
+:101DB000D1F781E08093B501DF91CF910895FC01C7
+:101DC00020E030E080E090E00000019645E08D37B3
+:101DD0009407D1F72F5F3F4F2436310599F784B32D
+:101DE00021E030E0028002C0220F331F0A94E2F7A4
+:101DF000322F822B84BB85B3622F6095862385BBEF
+:101E000040E050E080E090E00000019625E08D3752
+:101E10009207D1F74F5F5F4F4A30510599F724B3CE
+:101E20004081518181E090E0042E02C0880F991F0B
+:101E30000A94E2F7782F282B24BBE7E0F0E0E41BBC
+:101E4000F50B85B3862385BB25B383B38095282303
+:101E500080E890E00E2E02C0959587950A94E2F7EF
+:101E6000472F4823242B25BB000085B3832B85BB3C
+:101E700085B3862385BB95B383B38095982395BBA3
+:101E8000000085B3832B85BB85B3862385BB95B3C3
+:101E900083B38095982395BB000085B3832B85BBC6
+:101EA00085B3862385BB95B383B38095982395BB73
+:101EB000000085B3832B85BB85B3862385BB95B393
+:101EC00083B38095982395BB000085B3832B85BB96
+:101ED00085B3862385BB95B383B38095982395BB43
+:101EE000000085B3832B85BB85B3862385BB95B363
+:101EF00083B38095982395BB000085B3832B85BB66
+:101F000085B3862385BB95B383B38095982395BB12
+:101F1000000085B3832B85BB84B3872B84BB85B33B
+:101F2000862385BB95B383B380959823942B95BB6B
+:101F3000000085B3832B85BB85B3862385BB95B312
+:101F400083B38095982395BB000085B3832B85BB15
+:101F500085B3862385BB95B383B38095982395BBC2
+:101F6000000085B3832B85BB85B3862385BB95B3E2
+:101F700083B38095982395BB000085B3832B85BBE5
+:101F800085B3862385BB95B383B38095982395BB92
+:101F9000000085B3832B85BB85B3862385BB95B3B2
+:101FA00083B38095982395BB000085B3832B85BBB5
+:101FB00085B3862385BB95B383B38095982395BB62
+:101FC000000085B3832B85BB85B3862385BB95B382
+:101FD00083B38095982395BB000085B3832B85BB85
+:101FE00080E090E00000019621E08C329207D1F76A
+:101FF00084B3872B84BB85B3862385BB25B383B38A
+:102000008095282380E890E00E2E02C09595879554
+:102010000A94E2F78723282B25BB000085B3832B86
+:1020200085BB85B3862385BB95B383B38095982301
+:1020300095BB000085B3832B85BB85B3862385BB09
+:1020400095B383B38095982395BB000085B3832B0C
+:1020500085BB85B3862385BB95B383B380959823D1
+:1020600095BB000085B3832B85BB85B3862385BBD9
+:1020700095B383B38095982395BB000085B3832BDC
+:1020800085BB85B3862385BB95B383B380959823A1
+:1020900095BB000085B3832B85BB85B3862385BBA9
+:1020A00095B383B38095982395BB000085B3832BAC
+:1020B00085BB85B3862385BB95B383B38095982371
+:1020C00095BB000085B3832B85BB84B3872B84BB72
+:1020D00085B3862385BB25B383B38095282381E010
+:1020E00090E00E2E02C0959587950A94E2F787231B
+:1020F000282B25BB000085B3832B85BB85B38623A6
+:1021000085BB25B383B38095282382E090E00E2E13
+:1021100002C0959587950A94E2F78723282B25BB63
+:10212000000085B3832B85BB85B3862385BB25B390
+:1021300083B38095282384E090E00E2E02C095950D
+:1021400087950A94E2F78723282B25BB000085B3E7
+:10215000832B85BB85B3862385BB25B383B380954D
+:10216000282388E090E00E2E02C0959587950A946A
+:10217000E2F78723282B25BB000085B3832B85BB83
+:1021800085B3862385BB25B383B38095282380E15F
+:1021900090E00E2E02C0959587950A94E2F787236A
+:1021A000282B25BB000085B3832B85BB85B38623F5
+:1021B00085BB25B383B38095282380E290E00E2E63
+:1021C00002C0959587950A94E2F78723282B25BBB3
+:1021D000000085B3832B85BB85B3862385BB25B3E0
+:1021E00083B38095282380E490E002C0959587957D
+:1021F000EA95E2F77823272B25BB000085B3832BD4
+:1022000085BB85B3682365BB95B383B3809598235D
+:10221000942B95BB000085B3382B35BB80E090E054
+:102220000000019641E08C329407D1F70895FC013B
+:1022300044B3A081B18121E030E0C9010A2E02C07F
+:10224000880F991F0A94E2F7782F482B44BB47E088
+:1022500050E04A1B5B0B028002C0220F331F0A941E
+:10226000E2F7322F622F609585B3862385BB25B3B5
+:1022700083B38095282383E090E0042E02C09595D7
+:1022800087950A94E2F78723282B25BB000085B3A6
+:10229000832B85BB85B3862385BB25B383B380950C
+:1022A000282386E090E0042E02C0959587950A9435
+:1022B000E2F78723282B25BB000085B3832B85BB42
+:1022C00085B3862385BB25B383B3809528238CE013
+:1022D00090E0042E02C0959587950A94E2F7872333
+:1022E000282B25BB000085B3832B85BB85B38623B4
+:1022F00085BB25B383B38095282388E190E0042E25
+:1023000002C0959587950A94E2F78723282B25BB71
+:10231000000085B3832B85BB85B3862385BB25B39E
+:1023200083B38095282380E390E0042E02C0959526
+:1023300087950A94E2F78723282B25BB000085B3F5
+:10234000832B85BB85B3862385BB25B383B380955B
+:10235000282380E690E0042E02C0959587950A9484
+:10236000E2F78723282B25BB000085B3832B85BB91
+:1023700085B3862385BB25B383B38095282380EC62
+:1023800090E0042E02C0959587950A94E2F7872382
+:10239000282B25BB000085B3832B85BB85B3862303
+:1023A00085BB25B383B38095282380E890E002C0E5
+:1023B000959587954A95E2F78723282B25BB000042
+:1023C00085B3832B85BB80E090E00000019621E07F
+:1023D0008C329207D1F784B37095872384BB85B381
+:1023E000862385BB000085B3832B85BB43B385B3B0
+:1023F000862385BB55270A2E02C0559547950A941A
+:10240000E2F741705070440F000085B3832B85BB09
+:1024100083B325B3262325BB99270A2E02C09595A1
+:1024200087950A94E2F78170482B440F000085B32A
+:10243000832B85BB83B325B3262325BB99270A2E7F
+:1024400002C0959587950A94E2F78170482B440F56
+:10245000000085B3832B85BB83B325B3262325BB1F
+:1024600099270A2E02C0959587950A94E2F7817004
+:10247000482B440F000085B3832B85BB83B325B362
+:10248000262325BB99270A2E02C0959587950A9485
+:10249000E2F78170482B440F000085B3832B85BB86
+:1024A00083B325B3262325BB99270A2E02C0959511
+:1024B00087950A94E2F78170482B440F000085B39A
+:1024C000832B85BB83B325B3262325BB99270A2EEF
+:1024D00002C0959587950A94E2F78170482B440FC6
+:1024E000000085B3832B85BB83B3992702C09595E4
+:1024F0008795AA95E2F78170482B842F9927089534
+:10250000FC0144B3A081B18121E030E0C9010A2E71
+:1025100002C0880F991F0A94E2F7782F482B44BB1A
+:1025200047E050E04A1B5B0B028002C0220F331FC2
+:102530000A94E2F7322F622F609585B3862385BB1C
+:1025400025B383B38095282384E090E0042E02C055
+:10255000959587950A94E2F78723282B25BB0000E1
+:1025600085B3832B85BB85B3862385BB25B383B316
+:102570008095282388E090E0042E02C095958795E9
+:102580000A94E2F78723282B25BB000085B3832B11
+:1025900085BB85B3862385BB25B383B3809528236C
+:1025A00080E190E0042E02C0959587950A94E2F7A9
+:1025B0008723282B25BB000085B3832B85BB85B3E0
+:1025C000862385BB25B383B38095282380E290E0E2
+:1025D000042E02C0959587950A94E2F78723282B4D
+:1025E00025BB000085B3832B85BB85B3862385BBC4
+:1025F00025B383B38095282380E490E0042E02C0A5
+:10260000959587950A94E2F78723282B25BB000030
+:1026100085B3832B85BB85B3862385BB25B383B365
+:102620008095282380E890E002C0959587954A958B
+:10263000E2F78723282B25BB000085B3832B85BBBE
+:1026400085B3862385BB95B383B38095982395BBCB
+:10265000000085B3832B85BB85B3862385BB95B3EB
+:1026600083B38095982395BB000085B3832B85BBEE
+:1026700080E090E00000019621E08C329207D1F7D3
+:1026800084B37095872384BB85B3862385BB000004
+:1026900085B3832B85BB43B385B3862385BB552781
+:1026A0000A2E02C0559547950A94E2F74170507082
+:1026B000440F000085B3832B85BB83B325B326234A
+:1026C00025BB99270A2E02C0959587950A94E2F7B3
+:1026D0008170482B440F000085B3832B85BB83B3E7
+:1026E00025B3262325BB99270A2E02C095958795E9
+:1026F0000A94E2F78170482B440F000085B3832BC6
+:1027000085BB83B325B3262325BB99270A2E02C098
+:10271000959587950A94E2F78170482B440F000045
+:1027200085B3832B85BB83B325B3262325BB99278C
+:102730000A2E02C0959587950A94E2F78170482B7E
+:10274000440F000085B3832B85BB83B325B32623B9
+:1027500025BB99270A2E02C0959587950A94E2F722
+:102760008170482B440F000085B3832B85BB83B356
+:1027700025B3262325BB99270A2E02C09595879558
+:102780000A94E2F78170482B440F000085B3832B35
+:1027900085BB83B3992702C095958795AA95E2F7E3
+:1027A0008170482B842F99270895FC0144B3A081A0
+:1027B000B18121E030E0C9010A2E02C0880F991FC3
+:1027C0000A94E2F7782F482B44BB47E050E04A1BBD
+:1027D0005B0B028002C0220F331F0A94E2F7322FF4
+:1027E000622F609585B3862385BB25B383B380951F
+:1027F000282382E090E0042E02C0959587950A94E4
+:10280000E2F78723282B25BB000085B3832B85BBEC
+:1028100085B3862385BB25B383B38095282384E0C5
+:1028200090E0042E02C0959587950A94E2F78723DD
+:10283000282B25BB000085B3832B85BB85B386235E
+:1028400085BB25B383B38095282388E090E0042ED0
+:1028500002C0959587950A94E2F78723282B25BB1C
+:10286000000085B3832B85BB85B3862385BB25B349
+:1028700083B38095282380E190E0042E02C09595D3
+:1028800087950A94E2F78723282B25BB000085B3A0
+:10289000832B85BB85B3862385BB25B383B3809506
+:1028A000282380E290E0042E02C0959587950A9433
+:1028B000E2F78723282B25BB000085B3832B85BB3C
+:1028C00085B3862385BB25B383B38095282380E415
+:1028D00090E0042E02C0959587950A94E2F787232D
+:1028E000282B25BB000085B3832B85BB85B38623AE
+:1028F00085BB25B383B38095282380E890E002C090
+:10290000959587954A95E2F78723282B25BB0000EC
+:1029100085B3832B85BB85B3862385BB95B383B3F2
+:102920008095982395BB000085B3832B85BB80E001
+:1029300090E00000019621E08C329207D1F784B339
+:102940007095872384BB85B3862385BB000085B340
+:10295000832B85BB43B385B3862385BB55270A2EBE
+:1029600002C0559547950A94E2F741705070440FA4
+:10297000000085B3832B85BB83B325B3262325BBFA
+:1029800099270A2E02C0959587950A94E2F78170DF
+:10299000482B440F000085B3832B85BB83B325B33D
+:1029A000262325BB99270A2E02C0959587950A9460
+:1029B000E2F78170482B440F000085B3832B85BB61
+:1029C00083B325B3262325BB99270A2E02C09595EC
+:1029D00087950A94E2F78170482B440F000085B375
+:1029E000832B85BB83B325B3262325BB99270A2ECA
+:1029F00002C0959587950A94E2F78170482B440FA1
+:102A0000000085B3832B85BB83B325B3262325BB69
+:102A100099270A2E02C0959587950A94E2F781704E
+:102A2000482B440F000085B3832B85BB83B325B3AC
+:102A3000262325BB99270A2E02C0959587950A94CF
+:102A4000E2F78170482B440F000085B3832B85BBD0
+:102A500083B3992702C095958795AA95E2F781706F
+:102A6000482B842F99270895EF92FF920F931F937D
+:102A7000FC0144B3A081B18121E030E0C9010A2EFC
+:102A800002C0880F991F0A94E2F7182F482B44BB05
+:102A900047E050E04A1B5B0B028002C0220F331F4D
+:102AA0000A94E2F7722F622F609585B3862385BB67
+:102AB00035B323B388E090E0042E02C09595879546
+:102AC0000A94E2F7F12EF822209532233F2935BBF4
+:102AD000000085B3872B85BB85B3862385BB35B3C3
+:102AE00023B380E190E0042E02C0959587950A9467
+:102AF000E2F7E12EE822209532233E2935BB000083
+:102B000085B3872B85BB85B3862385BB35B323B3BC
+:102B100080E290E0042E02C0959587950A94E2F732
+:102B2000012F082320953223302B35BB000085B3BD
+:102B3000872B85BB85B3862385BB35B323B380E460
+:102B400090E0042E02C0959587950A94E2F7F12F44
+:102B5000F823209532233F2B35BB000085B3872B0C
+:102B600085BB85B3862385BB35B323B380E890E06E
+:102B700002C0959587954A95E2F7E12FE8232095C5
+:102B800032233E2B35BB000085B3872B85BB85B335
+:102B9000862385BB95B383B38095982395BB0000AE
+:102BA00085B3872B85BB85B3862385BB95B383B35C
+:102BB0008095982395BB000085B3872B85BB85B393
+:102BC000862385BB95B383B38095982395BB00007E
+:102BD00085B3872B85BB80E090E00000019621E063
+:102BE0008C329207D1F784B3312F3095832384BB85
+:102BF00085B3862385BB000085B3872B85BB43B394
+:102C000085B3862385BB55270A2E02C05595479567
+:102C10000A94E2F741705070440F000085B3872B8F
+:102C200085BB83B325B3262325BB99270A2E02C073
+:102C3000959587950A94E2F78170482B440F000020
+:102C400085B3872B85BB83B325B3262325BB992763
+:102C50000A2E02C0959587950A94E2F78170482B59
+:102C6000440F000085B3872B85BB83B325B3262390
+:102C700025BB99270A2E02C0959587950A94E2F7FD
+:102C80008170482B440F000085B3872B85BB83B32D
+:102C900025B3262325BB99270A2E02C09595879533
+:102CA0000A94E2F78170482B440F000085B3872B0C
+:102CB00085BB83B325B3262325BB99270A2E02C0E3
+:102CC000959587950A94E2F78170482B440F000090
+:102CD00085B3872B85BB83B325B3262325BB9927D3
+:102CE0000A2E02C0959587950A94E2F78170482BC9
+:102CF000440F000085B3872B85BB83B399270A2E29
+:102D000002C0959587950A94E2F78170482B552764
+:102D1000242F8091B501813009F00BC147FD07C117
+:102D200084B3812B84BB85B3862385BB95B383B3E2
+:102D3000809598239F2995BB000085B3872B85BB81
+:102D400085B3862385BB95B383B3809598239E294D
+:102D500095BB000085B3872B85BB85B3862385BBD8
+:102D600095B383B380959823902B95BB000085B3D2
+:102D7000872B85BB85B3862385BB95B383B38095AD
+:102D800098239F2B95BB000085B3872B85BB85B30C
+:102D9000862385BB95B383B3809598239E2B95BBE3
+:102DA000000085B3872B85BB85B3862385BB95B390
+:102DB00083B38095982395BB000085B3872B85BB93
+:102DC00085B3862385BB95B383B38095982395BB44
+:102DD000000085B3872B85BB85B3862385BB95B360
+:102DE00083B38095982395BB000085B3872B85BB63
+:102DF00080E090E00000019621E08C329207D1F74C
+:102E000084B3832384BB85B3862385BB000085B34D
+:102E1000872B85BB43B385B3862385BB55270A2EF5
+:102E200002C0559547950A94E2F741705070440FDF
+:102E3000000085B3872B85BB83B325B3262325BB31
+:102E400099270A2E02C0959587950A94E2F781701A
+:102E5000482B440F000085B3872B85BB83B325B374
+:102E6000262325BB99270A2E02C0959587950A949B
+:102E7000E2F78170482B440F000085B3872B85BB98
+:102E800083B325B3262325BB99270A2E02C0959527
+:102E900087950A94E2F78170482B440F000085B3B0
+:102EA000872B85BB83B325B3262325BB99270A2E01
+:102EB00002C0959587950A94E2F78170482B440FDC
+:102EC000000085B3872B85BB83B325B3262325BBA1
+:102ED00099270A2E02C0959587950A94E2F781708A
+:102EE000482B440F000085B3872B85BB83B325B3E4
+:102EF000262325BB99270A2E02C0959587950A940B
+:102F0000E2F78170482B440F000085B3872B85BB07
+:102F100083B399270A2E02C0959587950A94E2F704
+:102F20008170482B842F9927282F87FFF9CE109284
+:102F3000B501822F992787FD90951F910F91FF90E2
+:102F4000EF900895A0E0B0E0E8EAF7E10C94D61D18
+:102F5000FC016A019081923008F41BC1DB018C9165
+:102F6000823080F0943061F4843009F012C1918194
+:102F7000EB018981981709F40CC1E2E0F1E009C185
+:102F8000843011F4FB0105C1823091F4923009F0D4
+:102F900000C1EA01DF0188E00D9009928150E1F75C
+:102FA0008181FB0191818923E6018983F601F1C0CA
+:102FB000923041F362807380EB018A809B80E480D1
+:102FC000F580068117812C813D814E815F815301FF
+:102FD000A818B908C501B7FCABC080970CF457C05E
+:102FE000861497040CF4BEC03401EE24FF2487013C
+:102FF0009181FB018181981709F4A6C0992309F4F6
+:103000009CC02E193F09400B510B57FDB0C0E60183
+:1030100019827B826A82F601248335834683578333
+:10302000E6012C813D814E815F8179018A01DA01BF
+:10303000C9010197A109B1098F5F9F4FAF4FBF43EE
+:10304000F8F4E6016A817B81A8019701220F331F02
+:10305000441F551F6150704079018A01DA01C9018E
+:103060000197A109B1098F5F9F4FAF4FBF4360F335
+:10307000E6017B836A83F601248335834683578385
+:1030800083E0D6018C9357FD39C0F60182C08614C7
+:103090009704B4F4C0E0D0E0DA01C9018170907007
+:1030A000A070B0705695479537952795282B392BEA
+:1030B0004A2B5B2B2196AC16BD0671F78A0C9B1C24
+:1030C000681479040CF094CFC0E0D0E05401A61845
+:1030D000B708D801C70181709070A070B0701695C4
+:1030E0000795F794E794E82AF92A0A2B1B2B2196D7
+:1030F000AC16BD0671F76A0C7B1C7ACFDA01C901E8
+:10310000B695A7959795879521703070407050704F
+:10311000282B392B4A2B5B2BE6012C833D834E83D6
+:103120005F838A819B8101969B838A83F60131C0EC
+:10313000882799278A199B0950CFE21AF30A040BB2
+:10314000150BA801970161CFE60199837B826A8202
+:103150002E0D3F1D401F511FF601248335834683EA
+:1031600057838ECF20E030E040E050E041CF81E057
+:10317000E60189837B826A8250954095309521953E
+:103180003F4F4F4F5F4FF60124833583468357836C
+:1031900047CFCF01EEE0CDB7DEB70C94F21DA0E231
+:1031A000B0E0E5EDF8E10C94DE1D69837A838B8352
+:1031B0009C832D833E834F83588789E1E82EF12C31
+:1031C000EC0EFD1EB701CE0101960E94261C8E0159
+:1031D0000F5E1F4FB801CE0105960E94261C8A89FA
+:1031E00091E089278A8BAE01475F5F4FB801C70125
+:1031F0000E94A2170E94041BE6E0A0960C94FA1D00
+:10320000A0E2B0E0E6E0F9E10C94DE1D69837A8388
+:103210008B839C832D833E834F83588799E1E92ECE
+:10322000F12CEC0EFD1EB701CE0101960E94261C6A
+:103230008E010F5E1F4FB801CE0105960E94261C1D
+:10324000AE01475F5F4FB801C7010E94A2170E94FD
+:10325000041BE6E0A0960C94FA1DA0E2B0E0E3E3C4
+:10326000F9E10C94D21D69837A838B839C832D832F
+:103270003E834F8358878E01075E1F4FB801CE01F2
+:1032800001960E94261CF1E1EF2EF12CEC0EFD1EA2
+:10329000B701CE0105960E94261C898D823078F0F8
+:1032A0009989923040F420E09A8D8A89981321E020
+:1032B0002A8BB701E9C0843051F4923061F020E0EC
+:1032C0009A8D8A89981321E02A8FB801DDC0943045
+:1032D00029F4823041F762E071E0D6C0823079F3A0
+:1032E000923009F32D8D3E8D4F8D58A18D899E8989
+:1032F000AF89B88D222433242101AA24BB2465017F
+:10330000EE24FF24870160E070E00DC06F5F7F4F07
+:103310006032710599F1880F991FAA1FBB1F56953E
+:1033200047953795279520FF19C0280E391E4A1E4C
+:103330005B1E662477244301281639064A065B067D
+:1033400028F4E1E06E2E712C812C912CAE0CBF1C68
+:10335000C01ED11EA60CB71CC81CD91CEE0CFF1C2D
+:10336000001F111FB7FFD2CFE1E06E2E712C812C10
+:10337000912CE628F72808291929C8CF8B8D9C8D18
+:103380002B893C89820F931F02969C878B871A8614
+:103390009A8D8A89981711F081E08A87D7FE17C025
+:1033A0008B859C85A0FE0CC0569447943794279437
+:1033B00020E030E040E050E8222A332A442A552A0F
+:1033C000D694C794B794A79401969C878B8730E0D6
+:1033D000A31630E0B30630E0C30630E4D30618F598
+:1033E0008B859C850EC0220C331C441C551C0197F8
+:1033F00020E0A21620E0B20620E0C20620E4D206B9
+:1034000080F4AA0CBB1CCC1CDD1C57FEECCF31E0B9
+:10341000632E712C812C912CA628B728C828D92876
+:10342000E2CF9C878B87D601C5018F779070A07003
+:10343000B07080349105A105B10551F0AD86BE860E
+:10344000CF86D88A83E08987BE01675F7F4F1CC023
+:10345000A7FCF4CF211431044104510479F380E432
+:1034600090E0A0E0B0E0A80EB91ECA1EDB1E80E806
+:10347000682E8FEF782E8FEF882E8FEF982EA62054
+:10348000B720C820D920DACFCB010E94041BE2E18B
+:10349000A0960C94EE1DA8E0B0E0E1E5FAE10C94F2
+:1034A000E11D9B01AC0183E089831A8257FD51C065
+:1034B000211531054105510539F482E08983CE019A
+:1034C00001960E94041B4CC0EEE1F0E0FC83EB830C
+:1034D0008A818823C9F1203010E0310710E04107CC
+:1034E00010E85107C9F188279927DC01821B930B4B
+:1034F000A40BB50B8D839E83AF83B8872D813E814E
+:103500004F815885203080E0380780E0480780E40C
+:103510005807A8F6EB81FC81DA01C901880F991FD1
+:10352000AA1FBB1F31979C01AD01803010E09107AD
+:1035300010E0A10710E4B10778F3FC83EB838D83DF
+:103540009E83AF83B887BBCF2D833E834F8358873D
+:10355000D5CF81E08A83ACCF60E070E080E09FEC63
+:10356000E3E028960C94FD1DACE0B0E0EAEBFAE154
+:103570000C94E21D69837A838B839C83BE016B5F0D
+:103580007F4FCE0101960E94261C8D81823061F012
+:10359000823050F0843069F48E81882359F52FEF02
+:1035A0003FEF4FEF5FE72AC020E030E040E050E01F
+:1035B00025C02F81388537FDF7CF2F31310564F7CE
+:1035C0008EE190E0821B930B29853A854B855C85C3
+:1035D00004C056954795379527958A95D2F78E81E1
+:1035E000882361F050954095309521953F4F4F4F7E
+:1035F0005F4F04C020E030E040E050E8CA01B9016C
+:10360000E2E02C960C94FE1D4F925F926F927F9297
+:103610008F929F92AF92BF92DF92EF92FF920F93A1
+:103620001F9320E030E040E050E0FC01E480F580B2
+:1036300006811781D1808081823038F4D801C7019A
+:10364000A061AF77B0706FEFD9C0843009F46EC05D
+:10365000823009F471C0E114F1040105110509F487
+:103660006BC0828193816FEF823896070CF06AC03D
+:1036700062E87FEF681B790B6A3171050CF080C03E
+:1036800047015801062E04C0B694A79497948794D6
+:103690000A94D2F744245524320181E090E0A0E05E
+:1036A000B0E004C0880F991FAA1FBB1F6A95D2F70C
+:1036B0000197A109B109E822F9220A231B23E11489
+:1036C000F1040105110529F061E0462E512C612C11
+:1036D000712C85017401E428F52806291729D801E1
+:1036E000C7018F779070A070B07080349105A105EC
+:1036F000B10509F457C0D801C701CF96A11DB11D6E
+:1037000060E070E08030E0E09E07E0E0AE07E0E4DB
+:10371000BE0710F061E070E027E0B695A795979599
+:1037200087952A95D1F7AF77B07068C080E090E0B8
+:10373000A0E0B0E06FEF62C080E090E0A0E0B0E019
+:1037400060E05CC0803891058CF7BC0161587F4F08
+:10375000D801C7018F779070A070B0708034910548
+:10376000A105B105A1F08FE390E0A0E0B0E0E80E84
+:10377000F91E0A1F1B1F17FD28C0D801C701CCCF97
+:1037800060E070E080E090E0A0E0B0E0CCCFE7FE49
+:10379000F2CF80E490E0A0E0B0E0E80EF91E0A1F4E
+:1037A0001B1FE9CFE7FC18C080E090E060E0E61660
+:1037B00060E0F60660E0060760E4160710F081E0BE
+:1037C00090E0BC01D801C701A7CF16950795F794E3
+:1037D000E7946F5F7F4FD1CFD801C701805C9F4FC7
+:1037E000AF4FBF4F60E070E08030E0E09E07E0E068
+:1037F000AE07E0E4BE0708F48FCF8CCF282F392F17
+:103800009A2F9F77842F8078892B962F97959927C9
+:1038100097958F77482F492B6695852F8078862B33
+:10382000D794DD24D7948F77582F5D29CA01B90129
+:103830001F910F91FF90EF90DF90BF90AF909F90FE
+:103840008F907F906F905F904F900895FC01DB0107
+:10385000208131819281492F4F7750E0991F99271C
+:10386000991F8381682F660F692B881F8827881FFF
+:10387000FD018183662309F049C021153105410509
+:10388000510509F470C082E89FEFFD0193838283A4
+:10389000220F331F441F551F220F331F441F551F74
+:1038A000220F331F441F551F220F331F441F551F64
+:1038B000220F331F441F551F220F331F441F551F54
+:1038C000220F331F441F551F83E08C932030F0E0FC
+:1038D0003F07F0E04F07F0E45F0790F482E89FEFC6
+:1038E000220F331F441F551F0197203060E0360719
+:1038F00060E0460760E4560798F3FD0193838283F6
+:10390000FD01248335834683578308956F3F71F10A
+:10391000862F99278F579040FD019383828383E000
+:103920008C93220F331F441F551F220F331F441F38
+:10393000551F220F331F441F551F220F331F441FD3
+:10394000551F220F331F441F551F220F331F441FC3
+:10395000551F220F331F441F551F50642483358386
+:1039600046835783089582E08C930895211531058D
+:103970004105510519F484E08C93089544FD02C07B
+:103980001C92BECF81E08C93BBCFCF93DF93AC0171
+:10399000029710F442E050E0A091B801B091B90153
+:1039A000FD01C0E0D0E020E030E020C080819181C6
+:1039B0008417950769F482819381209719F09B837E
+:1039C0008A8304C09093B9018093B801CF0132C0BB
+:1039D0004817590738F42115310519F08217930754
+:1039E00008F49C01EF010280F381E02D3097F1F69D
+:1039F0002115310589F1C901841B950B049708F441
+:103A0000A901E0E0F0E026C08D919C91119782170A
+:103A10009307E9F44817590779F4ED018A819B81EE
+:103A2000309719F09383828304C09093B9018093F7
+:103A3000B801CD01029649C0841B950BFD01E80F2A
+:103A4000F91F4193519302978D939C933AC0FD01C6
+:103A5000A281B3811097C1F68091B6019091B70110
+:103A6000892B41F480910C0190910D019093B70145
+:103A70008093B60120910E0130910F01211531057F
+:103A800041F42DB73EB780910A0190910B01281B9C
+:103A9000390BE091B601F091B7012E1B3F0B2417B3
+:103AA000350788F0CA0102962817390760F0CF0160
+:103AB000840F951F02969093B7018093B6014193AE
+:103AC0005193CF0102C080E090E0DF91CF91089543
+:103AD000CF93DF93009709F44EC0EC0122971B822D
+:103AE0001A82A091B801B091B901109711F140E08C
+:103AF00050E001C0DC01AC17BD0700F1BB83AA8315
+:103B0000FE0121913191E20FF31FEA17FB0771F4D7
+:103B10002E5F3F4F8D919C911197820F931F998338
+:103B20008883FD01828193819B838A83411551059E
+:103B300059F4D093B901C093B8011DC0FD01828131
+:103B40009381AD010097B1F6FA01D383C28321912D
+:103B50003191E20FF31FEC17FD0769F42E5F3F4F21
+:103B600088819981820F931FFA01918380838A81D2
+:103B70009B8193838283DF91CF910895AA1BBB1B06
+:103B800051E107C0AA1FBB1FA617B70710F0A61B5D
+:103B9000B70B881F991F5A95A9F780959095BC017E
+:103BA000CD0108952F923F924F925F926F927F9234
+:103BB0008F929F92AF92BF92CF92DF92EF92FF923D
+:103BC0000F931F93CF93DF93CDB7DEB7CA1BDB0BE9
+:103BD0000FB6F894DEBF0FBECDBF09942A8839888E
+:103BE00048885F846E847D848C849B84AA84B98495
+:103BF000C884DF80EE80FD800C811B81AA81B981A1
+:103C0000CE0FD11D0FB6F894DEBF0FBECDBFED01B4
+:103C10000895EE0FFF1F0590F491E02D099450E4F4
+:103C200049EC3FE02BED01D013C05F77552319F429
+:103C300044230AF02BC02F933F934F935F93A3D05D
+:103C40005527442759D05F914F913F912F9105CB34
+:103C50001F939F7750EC49E43FE02BEDD1DA10E859
+:103C60009F775FE349EC3FE02BED62177307840712
+:103C7000950720F050EC49E4C3DA112780D0906812
+:103C8000ECE8F0E006D091271F9108959FEF80ECBB
+:103C90000895FF92EF92DF92CF92BF926B017C0169
+:103CA000B59016D0B590BB2069F09F938F937F930A
+:103CB0006F93B601C7010CD02F913F914F915F9147
+:103CC0000E94C31EBF90CF90DF90EF90FF900895A9
+:103CD000A0D002C09601A701EF93FF930E942D1977
+:103CE000FF91EF9196D0EF93FF930E940019FF91FF
+:103CF000EF91BA9479F70895C8D0CF93DF93D52F79
+:103D0000C42F55274427332722279923D9F09F37DB
+:103D1000C8F0F92F88D0592F482F372F262FF63982
+:103D200068F422DCB8DBC030CD0721F069937993C9
+:103D3000899399939058DF91CF9162CA99278827E8
+:103D400077276627C030CD0721F02993399349930F
+:103D50005993DF91CF9167C09F939F77993358F024
+:103D600050E449EC3FE02BED60DF5FEB49EC3FE0D6
+:103D70002BED46DA6DDF5F915078952708959B0112
+:103D8000AC010C942D1967D001D04DC0552359F0CA
+:103D9000992369F09F575F57951B33F442F490388D
+:103DA00011F4915805C072CF91589F3F09F47FC01C
+:103DB000BB27112462177307840730F4660F771F3F
+:103DC000881FBB1F915098F311D00F920FD00F9204
+:103DD0000DD0A0E82617370748071B0609F0A048B2
+:103DE000BA2F602D7F918F9100240895A0E80024C0
+:103DF000621773078407B10528F0621B730B840BED
+:103E0000B1090A2A660F771F881FBB1FA69581F785
+:103E10000895559145913591259108959A95BB0F37
+:103E2000661F771F881F11249923A1F08823B2F7FA
+:103E30009F3F59F0BB0F48F421F4002011F460FFBC
+:103E400004C06F5F7F4F8F4F9F4F881F9795879557
+:103E500097F9089529C0052E092607FA440F551F22
+:103E60005F3F79F0AA27A51708F051E04795880F22
+:103E7000991F9F3F31F0BB27B91708F091E0879554
+:103E800008959F919F91112401CF97FB880F991F4F
+:103E90009F3F31F0BB27B91708F091E0879508954F
+:103EA0009F919F911124F2CE662777278827992723
+:103EB000089510E0C4EBD0E004C0FE010E940B1E88
+:083EC0002296C63BD107C9F7A9
+:103EC800FF0000000000000000002000BA01000010
:00000001FF
diff --git a/source/AVR_Studio/Soccer/default/dep/Soccer.o.d b/source/AVR_Studio/Soccer/default/dep/Soccer.o.d index aaf1496..8bf7346 100755 --- a/source/AVR_Studio/Soccer/default/dep/Soccer.o.d +++ b/source/AVR_Studio/Soccer/default/dep/Soccer.o.d @@ -13,7 +13,9 @@ Soccer.o: ../Soccer.c ../global.h c:/winavr/bin/../avr/include/stdlib.h \ c:/winavr/bin/../avr/include/util/twi.h \
c:/winavr/bin/../avr/include/string.h ../navigation.h \
c:/winavr/bin/../avr/include/math.h ../sensor/sensor.h \
- ../sensor/../hal/board.h ../sensor/ballsensor.h ../sensor/../global.h
+ ../sensor/../hal/board.h ../sensor/ballsensor.h \
+ ../sensor/../hal/maussensor.h ../sensor/../hal/../global.h \
+ ../sensor/../global.h
../global.h:
@@ -63,4 +65,8 @@ c:/winavr/bin/../avr/include/math.h: ../sensor/ballsensor.h:
+../sensor/../hal/maussensor.h:
+
+../sensor/../hal/../global.h:
+
../sensor/../global.h:
diff --git a/source/AVR_Studio/Soccer/default/dep/navigation.o.d b/source/AVR_Studio/Soccer/default/dep/navigation.o.d index 4b0d8e0..0fbda94 100755 --- a/source/AVR_Studio/Soccer/default/dep/navigation.o.d +++ b/source/AVR_Studio/Soccer/default/dep/navigation.o.d @@ -11,7 +11,8 @@ navigation.o: ../navigation.c ../navigation.h \ c:/winavr/bin/../avr/include/stdlib.h \
c:\winavr\bin\../lib/gcc/avr/4.1.1/include/stddef.h ../hal/uart.h \
../sensor/sensor.h ../sensor/../hal/board.h ../sensor/ballsensor.h \
- ../sensor/../global.h ../sensor/../hal/board.h
+ ../sensor/../hal/maussensor.h ../sensor/../hal/../global.h \
+ ../sensor/../hal/../hal/board.h ../sensor/../global.h
../navigation.h:
@@ -47,6 +48,10 @@ c:\winavr\bin\../lib/gcc/avr/4.1.1/include/stddef.h: ../sensor/ballsensor.h:
-../sensor/../global.h:
+../sensor/../hal/maussensor.h:
-../sensor/../hal/board.h:
+../sensor/../hal/../global.h:
+
+../sensor/../hal/../hal/board.h:
+
+../sensor/../global.h:
diff --git a/source/AVR_Studio/Soccer/default/dep/sensor.o.d b/source/AVR_Studio/Soccer/default/dep/sensor.o.d index 89e848a..209d5f9 100755 --- a/source/AVR_Studio/Soccer/default/dep/sensor.o.d +++ b/source/AVR_Studio/Soccer/default/dep/sensor.o.d @@ -9,8 +9,9 @@ sensor.o: ../sensor/sensor.c ../sensor/sensor.h ../sensor/../hal/board.h \ c:/winavr/bin/../avr/include/avr/interrupt.h \
c:/winavr/bin/../avr/include/stdlib.h \
c:\winavr\bin\../lib/gcc/avr/4.1.1/include/stddef.h \
- ../sensor/../hal/uart.h ../sensor/ballsensor.h ../sensor/../global.h \
- ../sensor/../hal/board.h
+ ../sensor/../hal/uart.h ../sensor/ballsensor.h \
+ ../sensor/../hal/maussensor.h ../sensor/../hal/../global.h \
+ ../sensor/../hal/../hal/board.h ../sensor/../global.h
../sensor/sensor.h:
@@ -40,6 +41,10 @@ c:\winavr\bin\../lib/gcc/avr/4.1.1/include/stddef.h: ../sensor/ballsensor.h:
-../sensor/../global.h:
+../sensor/../hal/maussensor.h:
-../sensor/../hal/board.h:
+../sensor/../hal/../global.h:
+
+../sensor/../hal/../hal/board.h:
+
+../sensor/../global.h:
diff --git a/source/AVR_Studio/Soccer/global.h b/source/AVR_Studio/Soccer/global.h index 3f57a8c..4b9339a 100755 --- a/source/AVR_Studio/Soccer/global.h +++ b/source/AVR_Studio/Soccer/global.h @@ -13,12 +13,29 @@ inline void sleep(int sec) }
};
+inline void msleep(int msec)
+{
+ for (int s=0; s<msec; s++) {
+ for (long int i=0; i<1405; i++) {
+ asm volatile("nop");
+ }
+ }
+};
+
void *operator new(size_t sz);
void operator delete(void *p);
+// Typendefinitionen für den CT-Bot-Code
+typedef unsigned char uint8; /*!< vorzeichenlose 8-Bit-Zahl */
+typedef unsigned int word; /*!< vorzeichenlose 16-Bit-Zahl */
+typedef signed char int8; /*!< vorzeichenbehaftete 8-Bit-Zahl */
+typedef short int int16; /*!< vorzeichenbehaftete 16-Bit-Zahl */
+typedef unsigned long uint32; /*!< vorzeichenlose 32-Bit-Zahl */
+typedef signed long int32; /*!< vorzeichenbehaftete 32-Bit-Zahl */
-
+#define uint16 word /*!< Int mit 16 Bit */
+
/* defines for compatibility */
#ifndef cbi
diff --git a/source/AVR_Studio/Soccer/sensor/ballsensor.c b/source/AVR_Studio/Soccer/sensor/ballsensor.c index bf97f99..af9434b 100755 --- a/source/AVR_Studio/Soccer/sensor/ballsensor.c +++ b/source/AVR_Studio/Soccer/sensor/ballsensor.c @@ -1,11 +1,35 @@ #include "ballsensor.h"
-Ballsensor::Ballsensor() {
+Ballsensor::Ballsensor() {
+ // Umrechnungstabelle position i in Winkel
+ winkel[0] = 0;
+ winkel[1] = 30;
+ winkel[2] = 60;
+ winkel[3] = 100;
+ winkel[4] = 180;
+ winkel[5] = 260;
+ winkel[6] = 300;
+ winkel[7] = 330;
}
Ballsensor::~Ballsensor() {
}
int Ballsensor::getBallwinkel() {
- return 0;
+ // Erstelle ein Array für die Sensorwerte
+ int sensor[NUM_BALLSENSOR];
+ int result = 0; // und einer Variable fürs Ergebnis
+ int current = 1024; // Setze aktuellen Wert auf Maximum
+
+ // Analoge Sensoren abfragen und eintragen
+ for(int i=0;i<NUM_BALLSENSOR;i++) sensor[i] = board.GetADC(i);
+
+ // Suche den kleinsten Wert
+ for(int i=0;i<NUM_BALLSENSOR;i++) {
+ // Wenn der Sensorwert kleiner ist ist der Ball näher dran
+ if(sensor[i] < current) result = i; // Ergebnis ist erstmal index
+ }
+
+ // Gebe den Winkel zum index result zurück
+ return winkel[result];
}
diff --git a/source/AVR_Studio/Soccer/sensor/ballsensor.h b/source/AVR_Studio/Soccer/sensor/ballsensor.h index 46daf90..5fa7f08 100755 --- a/source/AVR_Studio/Soccer/sensor/ballsensor.h +++ b/source/AVR_Studio/Soccer/sensor/ballsensor.h @@ -3,11 +3,15 @@ #include "../hal/board.h"
+// Anzahl der Ballsensoren
+#define NUM_BALLSENSOR 8
+
extern Board board;
class Ballsensor
{
private:
+ int winkel[NUM_BALLSENSOR];
public:
Ballsensor();
~Ballsensor();
diff --git a/source/AVR_Studio/Soccer/sensor/sensor.h b/source/AVR_Studio/Soccer/sensor/sensor.h index 25d36c2..afbb3a0 100755 --- a/source/AVR_Studio/Soccer/sensor/sensor.h +++ b/source/AVR_Studio/Soccer/sensor/sensor.h @@ -3,6 +3,7 @@ #include "../hal/board.h"
#include "ballsensor.h"
+#include "../hal/maussensor.h"
#include "../global.h"
extern Board board;
|