20131112-181020

This commit is contained in:
BlubbFish 2013-11-12 17:10:21 +00:00
parent 2ffd4de5f4
commit 0d42ffca71
37 changed files with 18233 additions and 2896 deletions

Binary file not shown.

View File

@ -6,28 +6,46 @@
*/
#include "config.h"
#include "Led.h"
#include "Led.hpp"
#include "uart.hpp"
#include "Spi.hpp"
#include "Output.h"
#include "Can.h"
#include "portc.hpp"
#include "portb.hpp"
#include <util/delay.h>
Led l;
//////////////////// LED //////////////////////////////////////////
typedef Led<avrlib::portc, PINC2, PINC1, PINC0> ledclass;
ledclass l;
///////////////////////// UART ////////////////////////////////////
typedef Uart<9600> uartclass;
uartclass u;
///////////////////////// SPI /////////////////////////////////////
typedef Spi<avrlib::portb, PINB4, PINB6, PINB5, PINB7, 0, uartclass> spiclass;
spiclass s;
Output o;
Can c;
int main(void)
{
l.color(Led::YELLOW);
l.color(l.YELLOW);
u.send("Init done!\r\n");
CANMessage m;
m.id = 0x0123;
m.rtr = 0;
m.length = 2;
m.data[0] = 0xAF;
m.data[1] = 0xFE;
l.fade(Led::YELLOW, Led::RED, 10);
l.fade(l.YELLOW, l.RED, 10);
while(1)
{
u.send("Stuff!\r\n");
o.AudioOn();
c.can_send_message(&m);
_delay_ms(1);

View File

@ -27,14 +27,14 @@
<BootSegment>0</BootSegment>
<AsfFrameworkConfig>
<framework-data xmlns="">
<options />
<configurations />
<files />
<documentation help="" />
<dependencies>
<content-extension eid="atmel.asf" uuidref="Atmel.ASF" version="3.7.2" />
</dependencies>
</framework-data>
<options />
<configurations />
<files />
<documentation help="" />
<dependencies>
<content-extension eid="atmel.asf" uuidref="Atmel.ASF" version="3.7.2" />
</dependencies>
</framework-data>
</AsfFrameworkConfig>
<avrtoolinterface>ISP</avrtoolinterface>
<avrtool>com.atmel.avrdbg.tool.ispmk2</avrtool>
@ -77,80 +77,80 @@
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
<ToolchainSettings>
<AvrGccCpp>
<avrgcc.common.outputfiles.hex>True</avrgcc.common.outputfiles.hex>
<avrgcc.common.outputfiles.lss>True</avrgcc.common.outputfiles.lss>
<avrgcc.common.outputfiles.eep>True</avrgcc.common.outputfiles.eep>
<avrgcc.common.outputfiles.srec>True</avrgcc.common.outputfiles.srec>
<avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>True</avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>
<avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>True</avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>
<avrgcc.compiler.symbols.DefSymbols>
<ListValues>
<Value>NDEBUG</Value>
</ListValues>
</avrgcc.compiler.symbols.DefSymbols>
<avrgcc.compiler.optimization.level>Optimize for size (-Os)</avrgcc.compiler.optimization.level>
<avrgcc.compiler.optimization.PackStructureMembers>True</avrgcc.compiler.optimization.PackStructureMembers>
<avrgcc.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcc.compiler.optimization.AllocateBytesNeededForEnum>
<avrgcc.compiler.warnings.AllWarnings>True</avrgcc.compiler.warnings.AllWarnings>
<avrgcccpp.compiler.general.ChangeDefaultCharTypeUnsigned>True</avrgcccpp.compiler.general.ChangeDefaultCharTypeUnsigned>
<avrgcccpp.compiler.general.ChangeDefaultBitFieldUnsigned>True</avrgcccpp.compiler.general.ChangeDefaultBitFieldUnsigned>
<avrgcccpp.compiler.symbols.DefSymbols>
<ListValues>
<Value>NDEBUG</Value>
</ListValues>
</avrgcccpp.compiler.symbols.DefSymbols>
<avrgcccpp.compiler.optimization.level>Optimize for size (-Os)</avrgcccpp.compiler.optimization.level>
<avrgcccpp.compiler.optimization.PackStructureMembers>True</avrgcccpp.compiler.optimization.PackStructureMembers>
<avrgcccpp.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcccpp.compiler.optimization.AllocateBytesNeededForEnum>
<avrgcccpp.compiler.warnings.AllWarnings>True</avrgcccpp.compiler.warnings.AllWarnings>
<avrgcccpp.linker.libraries.Libraries>
<ListValues>
<Value>libm</Value>
</ListValues>
</avrgcccpp.linker.libraries.Libraries>
<avrgcccpp.linker.memorysettings.Comment>&lt;segmentname&gt;=&lt;address&gt;, for example .boot=0xff</avrgcccpp.linker.memorysettings.Comment>
</AvrGccCpp>
<avrgcc.common.outputfiles.hex>True</avrgcc.common.outputfiles.hex>
<avrgcc.common.outputfiles.lss>True</avrgcc.common.outputfiles.lss>
<avrgcc.common.outputfiles.eep>True</avrgcc.common.outputfiles.eep>
<avrgcc.common.outputfiles.srec>True</avrgcc.common.outputfiles.srec>
<avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>True</avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>
<avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>True</avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>
<avrgcc.compiler.symbols.DefSymbols>
<ListValues>
<Value>NDEBUG</Value>
</ListValues>
</avrgcc.compiler.symbols.DefSymbols>
<avrgcc.compiler.optimization.level>Optimize for size (-Os)</avrgcc.compiler.optimization.level>
<avrgcc.compiler.optimization.PackStructureMembers>True</avrgcc.compiler.optimization.PackStructureMembers>
<avrgcc.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcc.compiler.optimization.AllocateBytesNeededForEnum>
<avrgcc.compiler.warnings.AllWarnings>True</avrgcc.compiler.warnings.AllWarnings>
<avrgcccpp.compiler.general.ChangeDefaultCharTypeUnsigned>True</avrgcccpp.compiler.general.ChangeDefaultCharTypeUnsigned>
<avrgcccpp.compiler.general.ChangeDefaultBitFieldUnsigned>True</avrgcccpp.compiler.general.ChangeDefaultBitFieldUnsigned>
<avrgcccpp.compiler.symbols.DefSymbols>
<ListValues>
<Value>NDEBUG</Value>
</ListValues>
</avrgcccpp.compiler.symbols.DefSymbols>
<avrgcccpp.compiler.optimization.level>Optimize for size (-Os)</avrgcccpp.compiler.optimization.level>
<avrgcccpp.compiler.optimization.PackStructureMembers>True</avrgcccpp.compiler.optimization.PackStructureMembers>
<avrgcccpp.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcccpp.compiler.optimization.AllocateBytesNeededForEnum>
<avrgcccpp.compiler.warnings.AllWarnings>True</avrgcccpp.compiler.warnings.AllWarnings>
<avrgcccpp.linker.libraries.Libraries>
<ListValues>
<Value>libm</Value>
</ListValues>
</avrgcccpp.linker.libraries.Libraries>
<avrgcccpp.linker.memorysettings.Comment>&lt;segmentname&gt;=&lt;address&gt;, for example .boot=0xff</avrgcccpp.linker.memorysettings.Comment>
</AvrGccCpp>
</ToolchainSettings>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<ToolchainSettings>
<AvrGccCpp>
<avrgcc.common.outputfiles.hex>True</avrgcc.common.outputfiles.hex>
<avrgcc.common.outputfiles.lss>True</avrgcc.common.outputfiles.lss>
<avrgcc.common.outputfiles.eep>True</avrgcc.common.outputfiles.eep>
<avrgcc.common.outputfiles.srec>True</avrgcc.common.outputfiles.srec>
<avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>True</avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>
<avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>True</avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>
<avrgcc.compiler.symbols.DefSymbols>
<ListValues>
<Value>DEBUG</Value>
</ListValues>
</avrgcc.compiler.symbols.DefSymbols>
<avrgcc.compiler.optimization.level>Optimize (-O1)</avrgcc.compiler.optimization.level>
<avrgcc.compiler.optimization.PackStructureMembers>True</avrgcc.compiler.optimization.PackStructureMembers>
<avrgcc.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcc.compiler.optimization.AllocateBytesNeededForEnum>
<avrgcc.compiler.optimization.DebugLevel>Default (-g2)</avrgcc.compiler.optimization.DebugLevel>
<avrgcc.compiler.warnings.AllWarnings>True</avrgcc.compiler.warnings.AllWarnings>
<avrgcccpp.compiler.general.ChangeDefaultCharTypeUnsigned>True</avrgcccpp.compiler.general.ChangeDefaultCharTypeUnsigned>
<avrgcccpp.compiler.general.ChangeDefaultBitFieldUnsigned>True</avrgcccpp.compiler.general.ChangeDefaultBitFieldUnsigned>
<avrgcccpp.compiler.symbols.DefSymbols>
<ListValues>
<Value>DEBUG</Value>
</ListValues>
</avrgcccpp.compiler.symbols.DefSymbols>
<avrgcccpp.compiler.optimization.level>Optimize (-O1)</avrgcccpp.compiler.optimization.level>
<avrgcccpp.compiler.optimization.PackStructureMembers>True</avrgcccpp.compiler.optimization.PackStructureMembers>
<avrgcccpp.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcccpp.compiler.optimization.AllocateBytesNeededForEnum>
<avrgcccpp.compiler.optimization.DebugLevel>Default (-g2)</avrgcccpp.compiler.optimization.DebugLevel>
<avrgcccpp.compiler.warnings.AllWarnings>True</avrgcccpp.compiler.warnings.AllWarnings>
<avrgcccpp.linker.libraries.Libraries>
<ListValues>
<Value>libm</Value>
</ListValues>
</avrgcccpp.linker.libraries.Libraries>
<avrgcccpp.linker.memorysettings.Comment>&lt;segmentname&gt;=&lt;address&gt;, for example .boot=0xff</avrgcccpp.linker.memorysettings.Comment>
<avrgcccpp.assembler.debugging.DebugLevel>Default (-Wa,-g)</avrgcccpp.assembler.debugging.DebugLevel>
</AvrGccCpp>
<avrgcc.common.outputfiles.hex>True</avrgcc.common.outputfiles.hex>
<avrgcc.common.outputfiles.lss>True</avrgcc.common.outputfiles.lss>
<avrgcc.common.outputfiles.eep>True</avrgcc.common.outputfiles.eep>
<avrgcc.common.outputfiles.srec>True</avrgcc.common.outputfiles.srec>
<avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>True</avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>
<avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>True</avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>
<avrgcc.compiler.symbols.DefSymbols>
<ListValues>
<Value>DEBUG</Value>
</ListValues>
</avrgcc.compiler.symbols.DefSymbols>
<avrgcc.compiler.optimization.level>Optimize (-O1)</avrgcc.compiler.optimization.level>
<avrgcc.compiler.optimization.PackStructureMembers>True</avrgcc.compiler.optimization.PackStructureMembers>
<avrgcc.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcc.compiler.optimization.AllocateBytesNeededForEnum>
<avrgcc.compiler.optimization.DebugLevel>Default (-g2)</avrgcc.compiler.optimization.DebugLevel>
<avrgcc.compiler.warnings.AllWarnings>True</avrgcc.compiler.warnings.AllWarnings>
<avrgcccpp.compiler.general.ChangeDefaultCharTypeUnsigned>True</avrgcccpp.compiler.general.ChangeDefaultCharTypeUnsigned>
<avrgcccpp.compiler.general.ChangeDefaultBitFieldUnsigned>True</avrgcccpp.compiler.general.ChangeDefaultBitFieldUnsigned>
<avrgcccpp.compiler.symbols.DefSymbols>
<ListValues>
<Value>DEBUG</Value>
</ListValues>
</avrgcccpp.compiler.symbols.DefSymbols>
<avrgcccpp.compiler.optimization.level>Optimize (-O1)</avrgcccpp.compiler.optimization.level>
<avrgcccpp.compiler.optimization.PackStructureMembers>True</avrgcccpp.compiler.optimization.PackStructureMembers>
<avrgcccpp.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcccpp.compiler.optimization.AllocateBytesNeededForEnum>
<avrgcccpp.compiler.optimization.DebugLevel>Default (-g2)</avrgcccpp.compiler.optimization.DebugLevel>
<avrgcccpp.compiler.warnings.AllWarnings>True</avrgcccpp.compiler.warnings.AllWarnings>
<avrgcccpp.linker.libraries.Libraries>
<ListValues>
<Value>libm</Value>
</ListValues>
</avrgcccpp.linker.libraries.Libraries>
<avrgcccpp.linker.memorysettings.Comment>&lt;segmentname&gt;=&lt;address&gt;, for example .boot=0xff</avrgcccpp.linker.memorysettings.Comment>
<avrgcccpp.assembler.debugging.DebugLevel>Default (-Wa,-g)</avrgcccpp.assembler.debugging.DebugLevel>
</AvrGccCpp>
</ToolchainSettings>
</PropertyGroup>
<ItemGroup>
@ -166,10 +166,7 @@
<Compile Include="config.h">
<SubType>compile</SubType>
</Compile>
<Compile Include="Led.cpp">
<SubType>compile</SubType>
</Compile>
<Compile Include="Led.h">
<Compile Include="Led.hpp">
<SubType>compile</SubType>
</Compile>
<Compile Include="mcp2515_defs.h">
@ -181,6 +178,21 @@
<Compile Include="Output.h">
<SubType>compile</SubType>
</Compile>
<Compile Include="pin.hpp">
<SubType>compile</SubType>
</Compile>
<Compile Include="portb.hpp">
<SubType>compile</SubType>
</Compile>
<Compile Include="portc.hpp">
<SubType>compile</SubType>
</Compile>
<Compile Include="Spi.hpp">
<SubType>compile</SubType>
</Compile>
<Compile Include="uart.hpp">
<SubType>compile</SubType>
</Compile>
</ItemGroup>
<Import Project="$(AVRSTUDIO_EXE_PATH)\\Vs\\Compiler.targets" />
</Project>

View File

@ -1,4 +1,5 @@
Button.d Button.o: .././Button.cpp .././config.h .././Led.h \
Button.d Button.o: .././Button.cpp .././config.h .././Led.hpp \
.././pin.hpp \
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/io.h \
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/sfr_defs.h \
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/inttypes.h \
@ -10,15 +11,22 @@ Button.d Button.o: .././Button.cpp .././config.h .././Led.h \
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/version.h \
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/fuse.h \
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/lock.h \
.././Output.h .././Can.h \
.././uart.hpp \
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/stdio.h \
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/include/stdarg.h \
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/include/stddef.h \
.././Spi.hpp \
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/util/delay.h \
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/util/delay_basic.h \
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/math.h \
.././mcp2515_defs.h
.././Output.h .././Can.h .././mcp2515_defs.h .././portc.hpp \
.././portb.hpp
.././config.h:
.././Led.h:
.././Led.hpp:
.././pin.hpp:
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/io.h:
@ -42,9 +50,15 @@ c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/lock.h:
.././Output.h:
.././uart.hpp:
.././Can.h:
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/stdio.h:
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/include/stdarg.h:
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/include/stddef.h:
.././Spi.hpp:
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/util/delay.h:
@ -52,4 +66,12 @@ c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/math.h:
.././Output.h:
.././Can.h:
.././mcp2515_defs.h:
.././portc.hpp:
.././portb.hpp:

Binary file not shown.

View File

@ -1,88 +1,118 @@
:100000000C942B000C9448000C9448000C9448006D
:100010000C9448000C9448000C9448000C94480040
:100020000C9448000C9448000C9448000C94480030
:100030000C9448000C9448000C9448000C94480020
:100040000C9448000C9448000C9448000C94480010
:100050000C944800890011241FBECFE5D8E0DEBF14
:10006000CDBF20E0A0E6B0E001C01D92A336B207EC
:10007000E1F710E0C6E5D0E004C02297FE010E943F
:10008000B102C435D107C9F70E944A000C94B502E9
:100090000C940000CF93DF93CDB7DEB72C970FB64B
:1000A000F894DEBF0FBECDBF66E082E690E00E940E
:1000B000000283E291E09A8389831B8282E08C8331
:1000C0008FEA8D838EEF8E832AE030E044E050E0AB
:1000D00066E070E082E690E00E940B0281E690E02C
:1000E0000E94AD02BE016F5F7F4F80E690E00E94EC
:1000F0005D018FE99FE00197F1F700C0000081E604
:1001000090E00E94AB0265E082E690E00E94690206
:10011000E5CF82E690E00E94FD0181E690E00E943A
:10012000A70280E690E00E944F01089587B3806A9D
:1001300087BB88B38F7188BBBC9AC49A089580E549
:100140008DB981E08EB908956FB9779BFECF8FB1DD
:1001500008950F931F93CF93DF93EC01062F142F75
:10016000C49862E00E94A400602FCE010E94A40007
:10017000612FCE010E94A400C49ADF91CF911F91FC
:100180000F910895FF920F931F93CF93DF93EC018C
:10019000F62E042F122FC49865E00E94A4006F2D44
:1001A000CE010E94A400602FCE010E94A400612F06
:1001B000CE010E94A400C49ADF91CF911F910F91AC
:1001C000FF900895CF93DF93EC01C49860EC0E94F8
:1001D000A4008FE99FE00197F1F700C00000C49AE6
:1001E0008FE39CE90197F1F700C0000047E06AE265
:1001F000CE010E94A90040E969E2CE010E94A90057
:1002000042E068E2CE010E94A90043E06BE2CE0129
:100210000E94A90040E660E6CE010E94A90040E6E7
:1002200060E7CE010E94A90040E060E2CE010E949A
:10023000A90040E061E2CE010E94A90040E062E234
:10024000CE010E94A90040E063E2CE010E94A90015
:1002500040E064E2CE010E94A90040E065E2CE01E8
:100260000E94A90040E066E2CE010E94A90040E0A1
:1002700067E2CE010E94A90040E06CE0CE010E943E
:10028000A90040E06DE0CE010E94A90020E040EE10
:100290006FE0CE010E94C200DF91CF910895CF930D
:1002A000DF93EC010E949600CE010E949F00CE01D8
:1002B0000E94E200DF91CF910895AF92BF92CF925A
:1002C000DF92EF92FF920F931F93CF93DF931F92D2
:1002D000CDB7DEB78C016B01C49860EA0E94A40020
:1002E0006FEFC8010E94A40089836FEFC8010E94CC
:1002F000A400C49A898182FF0AC0898184FF09C051
:10030000898186FD69C06894BB24B2F805C0B12C10
:1003100003C06894BB24B1F8C4986B2D6064C80115
:100320000E94A400F60180819181BC0176956795B9
:100330007695679576956795C8010E94A400F601A9
:1003400060816295660F607EC8010E94A40060E033
:10035000C8010E94A40060E0C8010E94A400F60148
:10036000A380F8E0FA1518F46894AA24A3F8F6011B
:100370008281882331F06A2D6064C8010E94A40044
:1003800019C06A2DC8010E94A400AA2099F0760124
:10039000F4E0EF0EF11CAA948A2D90E00596C80EA9
:1003A000D91EF70161917F01C8010E94A400EC14DD
:1003B000FD04B9F7C49A0000C498B11005C061E803
:1003C000C8010E94A40005C06B2D6068C8010E948E
:1003D000A400C49A81E001C080E00F90DF91CF912A
:1003E0001F910F91FF90EF90DF90CF90BF90AF9053
:1003F000089584B3876084BB08950E94F90108952D
:1004000085B3887F85BB85B3962F9370892B6470E5
:10041000682B65BB08952F923F924F925F926F9227
:100420007F928F929F92AF92BF92CF92DF92EF9284
:10043000FF920F931F93CF93DF935C01862E942E30
:10044000690100E010E0212C312C422C532C2AC0F1
:10045000C62DD72D682DC5010E9400022196CF3FE1
:10046000D105C1F71016110654F4C42DD52D692DF0
:10047000C5010E9400022196C017D107C1F78FEF76
:10048000E81AF80AEC14FD0421F407C07101602E8B
:10049000712E0F3F1105E4F2E5CF0F5F1F4F0F3FA5
:1004A000110521F01C141D048CF3F7CFDF91CF91BF
:1004B0001F910F91FF90EF90DF90CF90BF90AF9082
:1004C0009F908F907F906F905F904F903F902F9074
:1004D00008951F93CF93DF93EC01162F262F30E062
:1004E00046E050E064E070E00E940B02212F30E013
:1004F00042E050E066E070E0CE010E940B02212F46
:1005000030E043E050E062E070E0CE010E940B0278
:10051000212F30E041E050E063E070E0CE010E9426
:100520000B02212F30E045E050E061E070E0CE01A9
:100530000E940B02212F30E044E050E065E070E0C3
:10054000CE010E940B02DF91CF911F91089584B3D9
:10055000806384BB0895AD980895AD9A0895EE0F19
:0E056000FF1F0590F491E02D0994F894FFCF51
:100000000C942B000C9453000C9453000C9453004C
:100010000C9453000C9453000C9453000C94530014
:100020000C9453000C9453000C9453000C94530004
:100030000C9453000C9453000C9453000C945300F4
:100040000C9453000C9453000C9453000C945300E4
:100050000C945300FB0111241FBECFE5D8E0DEBF96
:10006000CDBF10E0A0E6B0E0EAE1F7E002C0059005
:100070000D92A438B107D9F720E0A4E8B0E001C0A0
:100080001D92A938B207E1F710E0C6E5D0E004C040
:100090002297FE010E948703C435D107C9F70E9449
:1000A00055000C948B030C940000CF93DF93CDB7D5
:1000B000DEB72C970FB6F894DEBF0FBECDBFA89861
:1000C000A09AA99AA19AAA9AA29AEAE6F0E089E4EB
:1000D0005D9BFECF8CB981918111FACF83E291E0D3
:1000E0009A8389831B8282E08C838FEA8D838EEFD3
:1000F0008E8340E050E0BAE060E070E023C08F2FD4
:10010000A898A09AA99AA19AAA9AA29A8F5F8F3FBB
:10011000B9F7121613060CF43FC10AC0A898A09AAA
:10012000A998A19AAA9AA29A019682179307B4F362
:10013000A15019F0EF3F19F72FC14F5F5F4F4F3FAD
:10014000510561F0E42F9A01AB2FF42FF3CF5D9BA3
:10015000FECF8CB931960DC0F5010BC0E0E6F0E0A2
:10016000E12CF12C0F2EF5E0DF2EF02D00E010E059
:100170005F0180818111EBCF85E890E00E948303CD
:10018000BE016F5F7F4F84E890E00E94E1028FE93B
:100190009FE00197F1F700C0000085E890E00E9421
:1001A0008103A70123C0872FA898A09AA998A19A94
:1001B000AA9AA29A8F5F8F3FB9F7121613060CF412
:1001C000EDC00AC0A898A09AA99AA19AAA9AA29A40
:1001D000019682179307B4F3E15019F06F3F19F7B6
:1001E000DDC04F5F5F4F4F3F510549F1642F9A01CA
:1001F000ED2D742FF3CF872FA898A09AA99AA19AD2
:10020000AA9AA29A8F5F8F3FB9F7121613060CF4C1
:10021000C7C00AC0A898A09AA99AA19AAA98A29A17
:10022000019682179307B4F3E15019F06F3F19F765
:10023000B7C04F5F5F4F4F3F510511F42AC0A70170
:10024000642F9A01ED2D742FF1CF872FA898A09AD3
:10025000A99AA19AAA98A29A8F5F8F3FB9F712160E
:1002600013060CF49FC00AC0A89AA09AA99AA19A52
:10027000AA98A29A019682179307B4F3E15019F055
:100280006F3F19F78FC04F5F5F4F4F3F510511F41C
:100290002AC0A701642F9A01ED2D742FF1CF872F6B
:1002A000A89AA09AA99AA19AAA98A29A8F5F8F3F1A
:1002B000B9F7121613060CF477C00AC0A89AA09AD0
:1002C000A998A19AAA98A29A019682179307B4F3C3
:1002D000E15019F06F3F19F767C04F5F5F4F4F3F15
:1002E000510511F42AC0A701642F9A01ED2D742F36
:1002F000F1CF872FA89AA09AA998A19AAA98A29A12
:100300008F5F8F3FB9F7121613060CF44FC00AC067
:10031000A89AA09AA998A19AAA9AA29A0196821735
:100320009307B4F3E15019F06F3F19F73FC04F5FE7
:100330005F4F4F3F510511F429C0A701642F9A0167
:10034000ED2D742FF1CF872FA89AA09AA998A19A82
:10035000AA9AA29A8F5F8F3FB9F71216130644F13B
:100360000AC0A898A09AA998A19AAA9AA29A0196B6
:1003700082179307B4F3E15019F06F3F21F718C0CB
:100380004F5F5F4F4F3F510511F4E6CEA701642F39
:100390009A01ED2D742FF1CFCB01C0CEC80112CF41
:1003A000C80138CFC80160CFC80188CFC801B0CF1D
:1003B000C801D7CF86E080BD88E08AB987E689B9D1
:1003C000E7E7F0E085E55D9BFECF8CB98191811177
:1003D000FACFBD9AC598BD9ABF9AC798BF9ABC9AE2
:1003E000C49ABC9ABE98C698C698BE9A80E58DB944
:1003F00081E08EB90895A29AA19AA09A86E080BD64
:1004000088E08AB987E689B9E7E7F0E085E55D9B92
:10041000FECF8CB981918111FACF86E890E00E94DD
:10042000DA0185E890E00E947D0384E890E00E9474
:10043000D302089587B3806A87BB88B38F7188BB66
:10044000BC9AC49A089580E58DB981E08EB908956B
:100450006FB9779BFECF8FB108950F931F93CF9302
:10046000DF93EC01062F142FC49862E00E9428024B
:10047000602FCE010E942802612FCE010E94280227
:10048000C49ADF91CF911F910F910895FF920F931E
:100490001F93CF93DF93EC01F62E042F122FC498F5
:1004A00065E00E9428026F2DCE010E942802602F75
:1004B000CE010E942802612FCE010E942802C49A18
:1004C000DF91CF911F910F91FF900895CF93DF930C
:1004D000EC01C49860EC0E9428028FE99FE001972C
:1004E000F1F700C00000C49A8FE39CE90197F1F78F
:1004F00000C0000047E06AE2CE010E942D0240E900
:1005000069E2CE010E942D0242E068E2CE010E9423
:100510002D0243E06BE2CE010E942D0240E660E630
:10052000CE010E942D0240E660E7CE010E942D021E
:1005300040E060E2CE010E942D0240E061E2CE0187
:100540000E942D0240E062E2CE010E942D0240E0B6
:1005500063E2CE010E942D0240E064E2CE010E94DF
:100560002D0240E065E2CE010E942D0240E066E2ED
:10057000CE010E942D0240E067E2CE010E942D02D2
:1005800040E06CE0CE010E942D0240E06DE0CE0123
:100590000E942D0220E040EE6FE0CE010E94460254
:1005A000DF91CF910895CF93DF93EC010E941A025F
:1005B000CE010E942302CE010E946602DF91CF91FC
:1005C0000895AF92BF92CF92DF92EF92FF920F9376
:1005D0001F93CF93DF931F92CDB7DEB78C016B01D2
:1005E000C49860EA0E9428026FEFC8010E942802A6
:1005F00089836FEFC8010E942802C49A898182FF13
:100600000AC0898184FF09C0898186FD69C0689418
:10061000BB24B2F805C0B12C03C06894BB24B1F868
:10062000C4986B2D6064C8010E942802F601808185
:100630009181BC01769567957695679576956795D6
:10064000C8010E942802F60160816295660F607EF3
:10065000C8010E94280260E0C8010E94280260E0F0
:10066000C8010E942802F601A380F8E0FA1518F4E8
:100670006894AA24A3F8F6018281882331F06A2DB8
:100680006064C8010E94280219C06A2DC8010E9436
:100690002802AA2099F07601F4E0EF0EF11CAA944A
:1006A0008A2D90E00596C80ED91EF70161917F0151
:1006B000C8010E942802EC14FD04B9F7C49A000096
:1006C000C498B11005C061E8C8010E94280205C0A5
:1006D0006B2D6068C8010E942802C49A81E001C0A5
:1006E00080E00F90DF91CF911F910F91FF90EF90DD
:1006F000DF90CF90BF90AF90089584B3806384BBA8
:100700000895AD980895AD9A0895EE0FFF1F0590D6
:0A071000F491E02D0994F894FFCF56
:10071A005374756666210D0A00496E697420646F08
:10072A006E65210D0A005561727420646F6E652131
:04073A000D0A0000A4
:00000001FF

File diff suppressed because it is too large Load Diff

View File

@ -2,6 +2,8 @@ Archive member included because of file (symbol)
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_exit.o)
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5/crtm32a.o (exit)
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_copy_data.o)
Button.o (__do_copy_data)
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_clear_bss.o)
Button.o (__do_clear_bss)
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_ctors.o)
@ -12,6 +14,7 @@ c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-
Discarded input sections
.bss 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5/crtm32a.o
.group 0x00000000 0x8 Button.o
.text 0x00000000 0x0 Button.o
.text 0x00000000 0x0 Can.o
.bss 0x00000000 0x0 Can.o
@ -21,10 +24,6 @@ Discarded input sections
0x00000000 0x2e Can.o
.text._ZN3Can15can_get_messageEP10CANMessage
0x00000000 0x124 Can.o
.text 0x00000000 0x0 Led.o
.bss 0x00000000 0x0 Led.o
.text._ZN3Led6uninitEv
0x00000000 0x2 Led.o
.text 0x00000000 0x0 Output.o
.bss 0x00000000 0x0 Output.o
.text._ZN6Output8MotorOffEv
@ -44,6 +43,19 @@ Discarded input sections
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_exit.o)
.text.libgcc.fmul
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_exit.o)
.text 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_copy_data.o)
.bss 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_copy_data.o)
.text.libgcc.mul
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_copy_data.o)
.text.libgcc.div
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_copy_data.o)
.text.libgcc 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_copy_data.o)
.text.libgcc.prologue
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_copy_data.o)
.text.libgcc.builtins
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_copy_data.o)
.text.libgcc.fmul
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_copy_data.o)
.text 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_clear_bss.o)
.bss 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_clear_bss.o)
.text.libgcc.mul
@ -100,7 +112,6 @@ Linker script and memory map
LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5/crtm32a.o
LOAD Button.o
LOAD Can.o
LOAD Led.o
LOAD Output.o
START GROUP
LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5\libm.a
@ -201,7 +212,7 @@ LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8
.rela.plt
*(.rela.plt)
.text 0x00000000 0x56e
.text 0x00000000 0x71a
*(.vectors)
.vectors 0x00000000 0x54 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5/crtm32a.o
0x00000000 __vector_default
@ -240,110 +251,100 @@ LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8
*(.init3)
*(.init3)
*(.init4)
.init4 0x00000062 0x10 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_clear_bss.o)
0x00000062 __do_clear_bss
.init4 0x00000062 0x16 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_copy_data.o)
0x00000062 __do_copy_data
.init4 0x00000078 0x10 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_clear_bss.o)
0x00000078 __do_clear_bss
*(.init4)
*(.init5)
*(.init5)
*(.init6)
.init6 0x00000072 0x16 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_ctors.o)
0x00000072 __do_global_ctors
.init6 0x00000088 0x16 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_ctors.o)
0x00000088 __do_global_ctors
*(.init6)
*(.init7)
*(.init7)
*(.init8)
*(.init8)
*(.init9)
.init9 0x00000088 0x8 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5/crtm32a.o
.init9 0x0000009e 0x8 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5/crtm32a.o
*(.init9)
*(.text)
.text 0x00000090 0x4 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5/crtm32a.o
0x00000090 __vector_1
0x00000090 __vector_12
0x00000090 __bad_interrupt
0x00000090 __vector_6
0x00000090 __vector_3
0x00000090 __vector_11
0x00000090 __vector_13
0x00000090 __vector_17
0x00000090 __vector_19
0x00000090 __vector_7
0x00000090 __vector_5
0x00000090 __vector_4
0x00000090 __vector_9
0x00000090 __vector_2
0x00000090 __vector_15
0x00000090 __vector_8
0x00000090 __vector_14
0x00000090 __vector_10
0x00000090 __vector_16
0x00000090 __vector_18
0x00000090 __vector_20
0x00000094 . = ALIGN (0x2)
.text 0x000000a6 0x4 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5/crtm32a.o
0x000000a6 __vector_1
0x000000a6 __vector_12
0x000000a6 __bad_interrupt
0x000000a6 __vector_6
0x000000a6 __vector_3
0x000000a6 __vector_11
0x000000a6 __vector_13
0x000000a6 __vector_17
0x000000a6 __vector_19
0x000000a6 __vector_7
0x000000a6 __vector_5
0x000000a6 __vector_4
0x000000a6 __vector_9
0x000000a6 __vector_2
0x000000a6 __vector_15
0x000000a6 __vector_8
0x000000a6 __vector_14
0x000000a6 __vector_10
0x000000a6 __vector_16
0x000000a6 __vector_18
0x000000a6 __vector_20
0x000000aa . = ALIGN (0x2)
*(.text.*)
.text.main 0x00000094 0x7e Button.o
0x00000094 main
.text.main 0x000000aa 0x30a Button.o
0x000000aa main
.text._ZN3SpiIN6avrlib5portbELi4ELi6ELi5ELi7ELi0E4UartILm9600EEEC2Ev
0x000003b4 0x42 Button.o
0x000003b4 _ZN3SpiIN6avrlib5portbELi4ELi6ELi5ELi7ELi0E4UartILm9600EEEC1Ev
0x000003b4 _ZN3SpiIN6avrlib5portbELi4ELi6ELi5ELi7ELi0E4UartILm9600EEEC2Ev
.text._GLOBAL__sub_I_l
0x00000112 0x1a Button.o
0x000003f6 0x3e Button.o
.text._ZN3Can8init_pinEv
0x0000012c 0x12 Can.o
0x0000012c _ZN3Can8init_pinEv
0x00000434 0x12 Can.o
0x00000434 _ZN3Can8init_pinEv
.text._ZN3Can8init_spiEv
0x0000013e 0xa Can.o
0x0000013e _ZN3Can8init_spiEv
0x00000446 0xa Can.o
0x00000446 _ZN3Can8init_spiEv
.text._ZN3Can8spi_putcEh
0x00000148 0xa Can.o
0x00000148 _ZN3Can8spi_putcEh
0x00000450 0xa Can.o
0x00000450 _ZN3Can8spi_putcEh
.text._ZN3Can22mcp2515_write_registerEhh
0x00000152 0x32 Can.o
0x00000152 _ZN3Can22mcp2515_write_registerEhh
0x0000045a 0x32 Can.o
0x0000045a _ZN3Can22mcp2515_write_registerEhh
.text._ZN3Can18mcp2515_bit_modifyEhhh
0x00000184 0x40 Can.o
0x00000184 _ZN3Can18mcp2515_bit_modifyEhhh
0x0000048c 0x40 Can.o
0x0000048c _ZN3Can18mcp2515_bit_modifyEhhh
.text._ZN3Can8init_canEv
0x000001c4 0xda Can.o
0x000001c4 _ZN3Can8init_canEv
0x000004cc 0xda Can.o
0x000004cc _ZN3Can8init_canEv
.text._ZN3CanC2Ev
0x0000029e 0x1c Can.o
0x0000029e _ZN3CanC2Ev
0x0000029e _ZN3CanC1Ev
0x000005a6 0x1c Can.o
0x000005a6 _ZN3CanC2Ev
0x000005a6 _ZN3CanC1Ev
.text._ZN3Can16can_send_messageEP10CANMessage
0x000002ba 0x138 Can.o
0x000002ba _ZN3Can16can_send_messageEP10CANMessage
.text._ZN3Led4initEv
0x000003f2 0x8 Led.o
0x000003f2 _ZN3Led4initEv
.text._ZN3LedC2Ev
0x000003fa 0x6 Led.o
0x000003fa _ZN3LedC1Ev
0x000003fa _ZN3LedC2Ev
.text._ZN3Led5colorEh
0x00000400 0x16 Led.o
0x00000400 _ZN3Led5colorEh
.text._ZN3Led4fadeEiii
0x00000416 0xbc Led.o
0x00000416 _ZN3Led4fadeEiii
.text._ZN3Led7rainbowEh
0x000004d2 0x7c Led.o
0x000004d2 _ZN3Led7rainbowEh
0x000005c2 0x138 Can.o
0x000005c2 _ZN3Can16can_send_messageEP10CANMessage
.text._ZN6OutputC2Ev
0x0000054e 0x8 Output.o
0x0000054e _ZN6OutputC2Ev
0x0000054e _ZN6OutputC1Ev
0x000006fa 0x8 Output.o
0x000006fa _ZN6OutputC2Ev
0x000006fa _ZN6OutputC1Ev
.text._ZN6Output8AudioOffEv
0x00000556 0x4 Output.o
0x00000556 _ZN6Output8AudioOffEv
0x00000702 0x4 Output.o
0x00000702 _ZN6Output8AudioOffEv
.text._ZN6Output7AudioOnEv
0x0000055a 0x4 Output.o
0x0000055a _ZN6Output7AudioOnEv
.text.libgcc 0x0000055e 0xc c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_tablejump.o)
0x0000055e __tablejump2__
0x00000562 __tablejump__
0x0000056a . = ALIGN (0x2)
0x00000706 0x4 Output.o
0x00000706 _ZN6Output7AudioOnEv
.text.libgcc 0x0000070a 0xc c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_tablejump.o)
0x0000070a __tablejump2__
0x0000070e __tablejump__
0x00000716 . = ALIGN (0x2)
*(.fini9)
.fini9 0x0000056a 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_exit.o)
0x0000056a _exit
0x0000056a exit
.fini9 0x00000716 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_exit.o)
0x00000716 _exit
0x00000716 exit
*(.fini9)
*(.fini8)
*(.fini8)
@ -362,49 +363,54 @@ LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8
*(.fini1)
*(.fini1)
*(.fini0)
.fini0 0x0000056a 0x4 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_exit.o)
.fini0 0x00000716 0x4 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_exit.o)
*(.fini0)
0x0000056e _etext = .
0x0000071a _etext = .
.data 0x00800060 0x0 load address 0x0000056e
.data 0x00800060 0x24 load address 0x0000071a
0x00800060 PROVIDE (__data_start, .)
*(.data)
.data 0x00800060 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5/crtm32a.o
.data 0x00800060 0x0 Button.o
.data 0x00800060 0x0 Can.o
.data 0x00800060 0x0 Led.o
.data 0x00800060 0x0 Output.o
.data 0x00800060 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_exit.o)
.data 0x00800060 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_copy_data.o)
.data 0x00800060 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_clear_bss.o)
.data 0x00800060 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_ctors.o)
.data 0x00800060 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_tablejump.o)
*(.data*)
*(.rodata)
*(.rodata*)
.rodata.str1.1
0x00800060 0x23 Button.o
*(.gnu.linkonce.d*)
0x00800060 . = ALIGN (0x2)
0x00800060 _edata = .
0x00800060 PROVIDE (__data_end, .)
0x00800084 . = ALIGN (0x2)
*fill* 0x00800083 0x1
0x00800084 _edata = .
0x00800084 PROVIDE (__data_end, .)
.bss 0x00800060 0x3
0x00800060 PROVIDE (__bss_start, .)
.bss 0x00800084 0x5
0x00800084 PROVIDE (__bss_start, .)
*(.bss)
.bss 0x00800060 0x3 Button.o
0x00800060 c
0x00800061 o
0x00800062 l
.bss 0x00800084 0x5 Button.o
0x00800084 c
0x00800085 o
0x00800086 s
0x00800087 u
0x00800088 l
*(.bss*)
*(COMMON)
0x00800063 PROVIDE (__bss_end, .)
0x0000056e __data_load_start = LOADADDR (.data)
0x0000056e __data_load_end = (__data_load_start + SIZEOF (.data))
0x00800089 PROVIDE (__bss_end, .)
0x0000071a __data_load_start = LOADADDR (.data)
0x0000073e __data_load_end = (__data_load_start + SIZEOF (.data))
.noinit 0x00800063 0x0
0x00800063 PROVIDE (__noinit_start, .)
.noinit 0x00800089 0x0
0x00800089 PROVIDE (__noinit_start, .)
*(.noinit*)
0x00800063 PROVIDE (__noinit_end, .)
0x00800063 _end = .
0x00800063 PROVIDE (__heap_start, .)
0x00800089 PROVIDE (__noinit_end, .)
0x00800089 _end = .
0x00800089 PROVIDE (__heap_start, .)
.eeprom 0x00810000 0x0
*(.eeprom*)
@ -450,7 +456,6 @@ LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8
.comment 0x00000000 0x2f Button.o
0x30 (size before relaxing)
.comment 0x00000000 0x30 Can.o
.comment 0x00000000 0x30 Led.o
.comment 0x00000000 0x30 Output.o
.debug
@ -465,66 +470,57 @@ LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8
.debug_sfnames
*(.debug_sfnames)
.debug_aranges 0x00000000 0x120
.debug_aranges 0x00000000 0xe0
*(.debug_aranges)
.debug_aranges
0x00000000 0x28 Button.o
0x00000000 0x30 Button.o
.debug_aranges
0x00000028 0x70 Can.o
0x00000030 0x70 Can.o
.debug_aranges
0x00000098 0x48 Led.o
.debug_aranges
0x000000e0 0x40 Output.o
0x000000a0 0x40 Output.o
.debug_pubnames
*(.debug_pubnames)
.debug_info 0x00000000 0x1b32
.debug_info 0x00000000 0x40d0
*(.debug_info)
.debug_info 0x00000000 0x6b5 Button.o
.debug_info 0x000006b5 0xdae Can.o
.debug_info 0x00001463 0x4db Led.o
.debug_info 0x0000193e 0x1f4 Output.o
.debug_info 0x00000000 0x312e Button.o
.debug_info 0x0000312e 0xdae Can.o
.debug_info 0x00003edc 0x1f4 Output.o
*(.gnu.linkonce.wi.*)
.debug_abbrev 0x00000000 0x8d3
.debug_abbrev 0x00000000 0x841
*(.debug_abbrev)
.debug_abbrev 0x00000000 0x2d0 Button.o
.debug_abbrev 0x000002d0 0x2fa Can.o
.debug_abbrev 0x000005ca 0x1eb Led.o
.debug_abbrev 0x000007b5 0x11e Output.o
.debug_abbrev 0x00000000 0x429 Button.o
.debug_abbrev 0x00000429 0x2fa Can.o
.debug_abbrev 0x00000723 0x11e Output.o
.debug_line 0x00000000 0x686
.debug_line 0x00000000 0x723
*(.debug_line)
.debug_line 0x00000000 0x1ca Button.o
.debug_line 0x000001ca 0x2ce Can.o
.debug_line 0x00000498 0x165 Led.o
.debug_line 0x000005fd 0x89 Output.o
.debug_line 0x00000000 0x3cc Button.o
.debug_line 0x000003cc 0x2ce Can.o
.debug_line 0x0000069a 0x89 Output.o
.debug_frame 0x00000000 0x324
.debug_frame 0x00000000 0x254
*(.debug_frame)
.debug_frame 0x00000000 0x44 Button.o
.debug_frame 0x00000044 0x19c Can.o
.debug_frame 0x000001e0 0xe0 Led.o
.debug_frame 0x000002c0 0x64 Output.o
.debug_frame 0x00000000 0x54 Button.o
.debug_frame 0x00000054 0x19c Can.o
.debug_frame 0x000001f0 0x64 Output.o
.debug_str 0x00000000 0x4ae
.debug_str 0x00000000 0x10df
*(.debug_str)
.debug_str 0x00000000 0x430 Button.o
0x481 (size before relaxing)
.debug_str 0x00000430 0x3c Can.o
.debug_str 0x00000000 0x108e Button.o
0x10f0 (size before relaxing)
.debug_str 0x0000108e 0x32 Can.o
0x33e (size before relaxing)
.debug_str 0x0000046c 0x23 Led.o
0x17f (size before relaxing)
.debug_str 0x0000048f 0x1f Output.o
.debug_str 0x000010c0 0x1f Output.o
0x150 (size before relaxing)
.debug_loc 0x00000000 0xb79
.debug_loc 0x00000000 0xf51
*(.debug_loc)
.debug_loc 0x00000000 0x47 Button.o
.debug_loc 0x00000047 0x721 Can.o
.debug_loc 0x00000768 0x3eb Led.o
.debug_loc 0x00000b53 0x26 Output.o
.debug_loc 0x00000000 0x80a Button.o
.debug_loc 0x0000080a 0x721 Can.o
.debug_loc 0x00000f2b 0x26 Output.o
.debug_macinfo
*(.debug_macinfo)
@ -532,12 +528,11 @@ LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8
.debug_pubtypes
*(.debug_pubtypes)
.debug_ranges 0x00000000 0x128
.debug_ranges 0x00000000 0x5e0
*(.debug_ranges)
.debug_ranges 0x00000000 0x18 Button.o
.debug_ranges 0x00000018 0x60 Can.o
.debug_ranges 0x00000078 0x80 Led.o
.debug_ranges 0x000000f8 0x30 Output.o
.debug_ranges 0x00000000 0x550 Button.o
.debug_ranges 0x00000550 0x60 Can.o
.debug_ranges 0x000005b0 0x30 Output.o
.debug_macro
*(.debug_macro)

View File

@ -1,89 +1,119 @@
S00E0000427574746F6E2E737265639A
S11300000C942B000C9448000C9448000C94480069
S11300100C9448000C9448000C9448000C9448003C
S11300200C9448000C9448000C9448000C9448002C
S11300300C9448000C9448000C9448000C9448001C
S11300400C9448000C9448000C9448000C9448000C
S11300500C944800890011241FBECFE5D8E0DEBF10
S1130060CDBF20E0A0E6B0E001C01D92A336B207E8
S1130070E1F710E0C6E5D0E004C02297FE010E943B
S1130080B102C435D107C9F70E944A000C94B502E5
S11300900C940000CF93DF93CDB7DEB72C970FB647
S11300A0F894DEBF0FBECDBF66E082E690E00E940A
S11300B0000283E291E09A8389831B8282E08C832D
S11300C08FEA8D838EEF8E832AE030E044E050E0A7
S11300D066E070E082E690E00E940B0281E690E028
S11300E00E94AD02BE016F5F7F4F80E690E00E94E8
S11300F05D018FE99FE00197F1F700C0000081E600
S113010090E00E94AB0265E082E690E00E94690202
S1130110E5CF82E690E00E94FD0181E690E00E9436
S1130120A70280E690E00E944F01089587B3806A99
S113013087BB88B38F7188BBBC9AC49A089580E545
S11301408DB981E08EB908956FB9779BFECF8FB1D9
S113015008950F931F93CF93DF93EC01062F142F71
S1130160C49862E00E94A400602FCE010E94A40003
S1130170612FCE010E94A400C49ADF91CF911F91F8
S11301800F910895FF920F931F93CF93DF93EC0188
S1130190F62E042F122FC49865E00E94A4006F2D40
S11301A0CE010E94A400602FCE010E94A400612F02
S11301B0CE010E94A400C49ADF91CF911F910F91A8
S11301C0FF900895CF93DF93EC01C49860EC0E94F4
S11301D0A4008FE99FE00197F1F700C00000C49AE2
S11301E08FE39CE90197F1F700C0000047E06AE261
S11301F0CE010E94A90040E969E2CE010E94A90053
S113020042E068E2CE010E94A90043E06BE2CE0125
S11302100E94A90040E660E6CE010E94A90040E6E3
S113022060E7CE010E94A90040E060E2CE010E9496
S1130230A90040E061E2CE010E94A90040E062E230
S1130240CE010E94A90040E063E2CE010E94A90011
S113025040E064E2CE010E94A90040E065E2CE01E4
S11302600E94A90040E066E2CE010E94A90040E09D
S113027067E2CE010E94A90040E06CE0CE010E943A
S1130280A90040E06DE0CE010E94A90020E040EE0C
S11302906FE0CE010E94C200DF91CF910895CF9309
S11302A0DF93EC010E949600CE010E949F00CE01D4
S11302B00E94E200DF91CF910895AF92BF92CF9256
S11302C0DF92EF92FF920F931F93CF93DF931F92CE
S11302D0CDB7DEB78C016B01C49860EA0E94A4001C
S11302E06FEFC8010E94A40089836FEFC8010E94C8
S11302F0A400C49A898182FF0AC0898184FF09C04D
S1130300898186FD69C06894BB24B2F805C0B12C0C
S113031003C06894BB24B1F8C4986B2D6064C80111
S11303200E94A400F60180819181BC0176956795B5
S11303307695679576956795C8010E94A400F601A5
S113034060816295660F607EC8010E94A40060E02F
S1130350C8010E94A40060E0C8010E94A400F60144
S1130360A380F8E0FA1518F46894AA24A3F8F60117
S11303708281882331F06A2D6064C8010E94A40040
S113038019C06A2DC8010E94A400AA2099F0760120
S1130390F4E0EF0EF11CAA948A2D90E00596C80EA5
S11303A0D91EF70161917F01C8010E94A400EC14D9
S11303B0FD04B9F7C49A0000C498B11005C061E8FF
S11303C0C8010E94A40005C06B2D6068C8010E948A
S11303D0A400C49A81E001C080E00F90DF91CF9126
S11303E01F910F91FF90EF90DF90CF90BF90AF904F
S11303F0089584B3876084BB08950E94F901089529
S113040085B3887F85BB85B3962F9370892B6470E1
S1130410682B65BB08952F923F924F925F926F9223
S11304207F928F929F92AF92BF92CF92DF92EF9280
S1130430FF920F931F93CF93DF935C01862E942E2C
S1130440690100E010E0212C312C422C532C2AC0ED
S1130450C62DD72D682DC5010E9400022196CF3FDD
S1130460D105C1F71016110654F4C42DD52D692DEC
S1130470C5010E9400022196C017D107C1F78FEF72
S1130480E81AF80AEC14FD0421F407C07101602E87
S1130490712E0F3F1105E4F2E5CF0F5F1F4F0F3FA1
S11304A0110521F01C141D048CF3F7CFDF91CF91BB
S11304B01F910F91FF90EF90DF90CF90BF90AF907E
S11304C09F908F907F906F905F904F903F902F9070
S11304D008951F93CF93DF93EC01162F262F30E05E
S11304E046E050E064E070E00E940B02212F30E00F
S11304F042E050E066E070E0CE010E940B02212F42
S113050030E043E050E062E070E0CE010E940B0274
S1130510212F30E041E050E063E070E0CE010E9422
S11305200B02212F30E045E050E061E070E0CE01A5
S11305300E940B02212F30E044E050E065E070E0BF
S1130540CE010E940B02DF91CF911F91089584B3D5
S1130550806384BB0895AD980895AD9A0895EE0F15
S1110560FF1F0590F491E02D0994F894FFCF4D
S11300000C942B000C9453000C9453000C94530048
S11300100C9453000C9453000C9453000C94530010
S11300200C9453000C9453000C9453000C94530000
S11300300C9453000C9453000C9453000C945300F0
S11300400C9453000C9453000C9453000C945300E0
S11300500C945300FB0111241FBECFE5D8E0DEBF92
S1130060CDBF10E0A0E6B0E0EAE1F7E002C0059001
S11300700D92A438B107D9F720E0A4E8B0E001C09C
S11300801D92A938B207E1F710E0C6E5D0E004C03C
S11300902297FE010E948703C435D107C9F70E9445
S11300A055000C948B030C940000CF93DF93CDB7D1
S11300B0DEB72C970FB6F894DEBF0FBECDBFA8985D
S11300C0A09AA99AA19AAA9AA29AEAE6F0E089E4E7
S11300D05D9BFECF8CB981918111FACF83E291E0CF
S11300E09A8389831B8282E08C838FEA8D838EEFCF
S11300F08E8340E050E0BAE060E070E023C08F2FD0
S1130100A898A09AA99AA19AAA9AA29A8F5F8F3FB7
S1130110B9F7121613060CF43FC10AC0A898A09AA6
S1130120A998A19AAA9AA29A019682179307B4F35E
S1130130A15019F0EF3F19F72FC14F5F5F4F4F3FA9
S1130140510561F0E42F9A01AB2FF42FF3CF5D9B9F
S1130150FECF8CB931960DC0F5010BC0E0E6F0E09E
S1130160E12CF12C0F2EF5E0DF2EF02D00E010E055
S11301705F0180818111EBCF85E890E00E948303C9
S1130180BE016F5F7F4F84E890E00E94E1028FE937
S11301909FE00197F1F700C0000085E890E00E941D
S11301A08103A70123C0872FA898A09AA998A19A90
S11301B0AA9AA29A8F5F8F3FB9F7121613060CF40E
S11301C0EDC00AC0A898A09AA99AA19AAA9AA29A3C
S11301D0019682179307B4F3E15019F06F3F19F7B2
S11301E0DDC04F5F5F4F4F3F510549F1642F9A01C6
S11301F0ED2D742FF3CF872FA898A09AA99AA19ACE
S1130200AA9AA29A8F5F8F3FB9F7121613060CF4BD
S1130210C7C00AC0A898A09AA99AA19AAA98A29A13
S1130220019682179307B4F3E15019F06F3F19F761
S1130230B7C04F5F5F4F4F3F510511F42AC0A7016C
S1130240642F9A01ED2D742FF1CF872FA898A09ACF
S1130250A99AA19AAA98A29A8F5F8F3FB9F712160A
S113026013060CF49FC00AC0A89AA09AA99AA19A4E
S1130270AA98A29A019682179307B4F3E15019F051
S11302806F3F19F78FC04F5F5F4F4F3F510511F418
S11302902AC0A701642F9A01ED2D742FF1CF872F67
S11302A0A89AA09AA99AA19AAA98A29A8F5F8F3F16
S11302B0B9F7121613060CF477C00AC0A89AA09ACC
S11302C0A998A19AAA98A29A019682179307B4F3BF
S11302D0E15019F06F3F19F767C04F5F5F4F4F3F11
S11302E0510511F42AC0A701642F9A01ED2D742F32
S11302F0F1CF872FA89AA09AA998A19AAA98A29A0E
S11303008F5F8F3FB9F7121613060CF44FC00AC063
S1130310A89AA09AA998A19AAA9AA29A0196821731
S11303209307B4F3E15019F06F3F19F73FC04F5FE3
S11303305F4F4F3F510511F429C0A701642F9A0163
S1130340ED2D742FF1CF872FA89AA09AA998A19A7E
S1130350AA9AA29A8F5F8F3FB9F71216130644F137
S11303600AC0A898A09AA998A19AAA9AA29A0196B2
S113037082179307B4F3E15019F06F3F21F718C0C7
S11303804F5F5F4F4F3F510511F4E6CEA701642F35
S11303909A01ED2D742FF1CFCB01C0CEC80112CF3D
S11303A0C80138CFC80160CFC80188CFC801B0CF19
S11303B0C801D7CF86E080BD88E08AB987E689B9CD
S11303C0E7E7F0E085E55D9BFECF8CB98191811173
S11303D0FACFBD9AC598BD9ABF9AC798BF9ABC9ADE
S11303E0C49ABC9ABE98C698C698BE9A80E58DB940
S11303F081E08EB90895A29AA19AA09A86E080BD60
S113040088E08AB987E689B9E7E7F0E085E55D9B8E
S1130410FECF8CB981918111FACF86E890E00E94D9
S1130420DA0185E890E00E947D0384E890E00E9470
S1130430D302089587B3806A87BB88B38F7188BB62
S1130440BC9AC49A089580E58DB981E08EB9089567
S11304506FB9779BFECF8FB108950F931F93CF93FE
S1130460DF93EC01062F142FC49862E00E94280247
S1130470602FCE010E942802612FCE010E94280223
S1130480C49ADF91CF911F910F910895FF920F931A
S11304901F93CF93DF93EC01F62E042F122FC498F1
S11304A065E00E9428026F2DCE010E942802602F71
S11304B0CE010E942802612FCE010E942802C49A14
S11304C0DF91CF911F910F91FF900895CF93DF9308
S11304D0EC01C49860EC0E9428028FE99FE0019728
S11304E0F1F700C00000C49A8FE39CE90197F1F78B
S11304F000C0000047E06AE2CE010E942D0240E9FC
S113050069E2CE010E942D0242E068E2CE010E941F
S11305102D0243E06BE2CE010E942D0240E660E62C
S1130520CE010E942D0240E660E7CE010E942D021A
S113053040E060E2CE010E942D0240E061E2CE0183
S11305400E942D0240E062E2CE010E942D0240E0B2
S113055063E2CE010E942D0240E064E2CE010E94DB
S11305602D0240E065E2CE010E942D0240E066E2E9
S1130570CE010E942D0240E067E2CE010E942D02CE
S113058040E06CE0CE010E942D0240E06DE0CE011F
S11305900E942D0220E040EE6FE0CE010E94460250
S11305A0DF91CF910895CF93DF93EC010E941A025B
S11305B0CE010E942302CE010E946602DF91CF91F8
S11305C00895AF92BF92CF92DF92EF92FF920F9372
S11305D01F93CF93DF931F92CDB7DEB78C016B01CE
S11305E0C49860EA0E9428026FEFC8010E942802A2
S11305F089836FEFC8010E942802C49A898182FF0F
S11306000AC0898184FF09C0898186FD69C0689414
S1130610BB24B2F805C0B12C03C06894BB24B1F864
S1130620C4986B2D6064C8010E942802F601808181
S11306309181BC01769567957695679576956795D2
S1130640C8010E942802F60160816295660F607EEF
S1130650C8010E94280260E0C8010E94280260E0EC
S1130660C8010E942802F601A380F8E0FA1518F4E4
S11306706894AA24A3F8F6018281882331F06A2DB4
S11306806064C8010E94280219C06A2DC8010E9432
S11306902802AA2099F07601F4E0EF0EF11CAA9446
S11306A08A2D90E00596C80ED91EF70161917F014D
S11306B0C8010E942802EC14FD04B9F7C49A000092
S11306C0C498B11005C061E8C8010E94280205C0A1
S11306D06B2D6068C8010E942802C49A81E001C0A1
S11306E080E00F90DF91CF911F910F91FF90EF90D9
S11306F0DF90CF90BF90AF90089584B3806384BBA4
S11307000895AD980895AD9A0895EE0FFF1F0590D2
S10D0710F491E02D0994F894FFCF52
S113071A5374756666210D0A00496E697420646F04
S113072A6E65210D0A005561727420646F6E65212D
S107073A0D0A0000A0
S9030000FC

View File

@ -38,7 +38,6 @@ SUBDIRS :=
C_SRCS += \
../Button.cpp \
../Can.cpp \
../Led.cpp \
../Output.cpp
@ -51,28 +50,24 @@ ASM_SRCS +=
OBJS += \
Button.o \
Can.o \
Led.o \
Output.o
OBJS_AS_ARGS += \
Button.o \
Can.o \
Led.o \
Output.o
C_DEPS += \
Button.d \
Can.d \
Led.d \
Output.d
C_DEPS_AS_ARGS += \
Button.d \
Can.d \
Led.d \
Output.d
@ -94,8 +89,6 @@ LIB_DEP+=
./%.o: .././%.cpp
@echo Building file: $<
@echo Invoking: AVR8/GNU C++ Compiler :

View File

@ -6,7 +6,5 @@ Button.cpp
Can.cpp
Led.cpp
Output.cpp

66
Button/Button/Led.hpp Normal file
View File

@ -0,0 +1,66 @@
/*
* Led.h
*
* Created: 03.11.2013 17:11:58
* Author: BlubbFish
*/
#ifndef LED_H_
#define LED_H_
#include "pin.hpp"
template <typename Port, int pin_red, int pin_green, int pin_blue>
class Led {
public:
Led() {
init();
}
void color(uint8_t mask) {
(mask & (1<<0)) ? blue::make_high() : blue::make_low();
(mask & (1<<1)) ? green::make_high() : green::make_low();
(mask & (1<<2)) ? red::make_high() : red::make_low();
}
void rainbow(uint8_t time) {
fade(RED, YELLOW, time);
fade(YELLOW, GREEN, time);
fade(GREEN, CYAN, time);
fade(CYAN, BLUE, time);
fade(BLUE, MAGENTA, time);
fade(MAGENTA, RED, time);
}
void fade(uint8_t from, uint8_t to, uint8_t dur) {
for (uint8_t i=0;i<0xFF;i++) {
for(uint8_t k=0;k<dur;k++) {
for (uint8_t j=i;j<0xFF;j++) {
color(from);
}
for (int j=0;j<i;j++) {
color(to);
}
}
}
}
static const uint8_t BLACK = 0;
static const uint8_t BLUE = 1;
static const uint8_t GREEN = 2;
static const uint8_t CYAN = 3;
static const uint8_t RED = 4;
static const uint8_t MAGENTA = 5;
static const uint8_t YELLOW = 6;
static const uint8_t WHITE = 7;
private:
void init() {
red::make_output();
green::make_output();
blue::make_output();
}
void uninit();
const typedef avrlib::pin<Port, pin_red> red;
const typedef avrlib::pin<Port, pin_green> green;
const typedef avrlib::pin<Port, pin_blue> blue;
};
#endif /* LED_H_ */

102
Button/Button/Spi.hpp Normal file
View File

@ -0,0 +1,102 @@
/*
* Spi.h
*
* Created: 06.11.2013 15:41:34
* Author: netz
*/
#ifndef SPI_H_
#define SPI_H_
#include "config.h"
#include <avr/io.h>
#include <util/delay.h>
#include "pin.hpp"
template <typename Port, int cspin, int misopin, int mosipin, int sckpin, int mode, typename uart>
class Spi {
public:
Spi() {
init();
}
void CSOn() {
cs::make_low();
}
void CSOff() {
cs::make_high();
}
uint8_t send(uint8_t data) {
char t[50];
sprintf(t, "-> 0x%02x", data);
u.send(t);
uint8_t r;
if(mode == 0) {
r = send_hard(data);
}
r = send_soft(data);
sprintf(t, " <- 0x%02x\r\n", r);
u.send(t);
return r;
}
private:
uart u;
const typedef avrlib::pin<Port, cspin> cs;
const typedef avrlib::pin<Port, misopin> miso;
const typedef avrlib::pin<Port, mosipin> mosi;
const typedef avrlib::pin<Port, sckpin> sck;
void init() {
init_port();
if(mode == 0) {
init_spi();
}
}
void init_port() {
mosi::make_output();
mosi::make_low();
sck::make_output();
sck::make_low();
cs::make_output();
cs::make_high();
miso::make_input();
miso::make_low();
}
void init_spi() {
SPCR = (1<<SPE) | (1<<MSTR);
SPSR = (1<<SPI2X);
}
uint8_t send_soft(uint8_t data) {
uint8_t datain=0;
for (uint8_t a=8; a>0; a--) { //das Byte wird Bitweise nacheinander Gesendet MSB zuerst
datain<<=1; //Schieben um das Richtige Bit zusetzen
sck::make_low(); // Clock auf LOW
if (data & 0x80) { //Ist Bit a in Byte gesetzt
mosi::make_high(); //Set Output High
}
else{
mosi::make_low(); //Set Output Low
}
_delay_us(1);
if(miso::read()) //Lesen des Pegels
{
datain |= 1;
}
_delay_us(1);
sck::make_high(); // Clock auf High
_delay_us(2);
data<<=1; //Schiebe um nächstes Bit zusenden
}
return datain;
}
uint8_t send_hard(uint8_t data) {
// Sendet ein Byte
SPDR = data;
// Wartet bis Byte gesendet wurde
loop_until_bit_is_set(SPSR, SPIF);
return SPDR;
}
};
#endif /* SPI_H_ */

50
Button/Button/pin.hpp Normal file
View File

@ -0,0 +1,50 @@
#ifndef AVRLIB_PIN_HPP
#define AVRLIB_PIN_HPP
#include <avr/io.h>
namespace avrlib {
template <typename Port, uint8_t Pin>
struct pin
{
static void set(bool value = true)
{
if (value)
Port::port(Port::port() | (1<<Pin));
else
Port::port(Port::port() & ~(1<<Pin));
}
static void clear() { set(false); }
static void toggle() { Port::port(Port::port() ^ (1<<Pin)); }
static bool get() { return (Port::port() & (1<<Pin)) != 0; }
static bool value() { return (Port::pin() & (1<<Pin)) != 0; }
static void output(bool value)
{
if (value)
Port::dir(Port::dir() | (1<<Pin));
else
Port::dir(Port::dir() & ~(1<<Pin));
}
static bool output() { return (Port::dir() & (1<<Pin)) != 0; }
static void make_output() { output(true); }
static void make_input() { output(false); clear(); }
static void make_low() { clear(); output(true); }
static void make_high() { set(); output(true); }
static void set_value(bool value) { set(value); }
static void set_high() { set(true); }
static void set_low() { set(false); }
static bool read() { return value(); }
static void pullup() { set_high(); }
};
}
#endif

22
Button/Button/portb.hpp Normal file
View File

@ -0,0 +1,22 @@
#ifndef AVRLIB_PORTB_HPP
#define AVRLIB_PORTB_HPP
#include <avr/io.h>
namespace avrlib {
struct portb
{
static uint8_t port() { return PORTB; }
static void port(uint8_t v) { PORTB = v; }
static uint8_t pin() { return PINB; }
static void pin(uint8_t v) { PINB = v; }
static uint8_t dir() { return DDRB; }
static void dir(uint8_t v) { DDRB = v; }
};
}
#endif

22
Button/Button/portc.hpp Normal file
View File

@ -0,0 +1,22 @@
#ifndef AVRLIB_PORTC_HPP
#define AVRLIB_PORTC_HPP
#include <avr/io.h>
namespace avrlib {
struct portc
{
static uint8_t port() { return PORTC; }
static void port(uint8_t v) { PORTC = v; }
static uint8_t pin() { return PINC; }
static void pin(uint8_t v) { PINC = v; }
static uint8_t dir() { return DDRC; }
static void dir(uint8_t v) { DDRC = v; }
};
}
#endif

45
Button/Button/uart.hpp Normal file
View File

@ -0,0 +1,45 @@
/*
* Rs232.h
*
* Created: 04.11.2013 21:31:09
* Author: netz
*/
#ifndef RS232_H_
#define RS232_H_
#include "config.h"
#include <stdio.h>
#include <avr/io.h>
template <uint32_t baudrate>
class Uart {
public:
Uart() {
init();
send("Uart done!\r\n");
}
void send(const char *text) {
while (*text)
{
uart_putchar(*text);
text++;
}
}
private:
void init() {
UCSRC = (1 << UCSZ1) | (1 << UCSZ0); //8N1
UCSRB = /*(1<<RXEN1) | (1<<RXCIE1) | */ (1<<TXEN); //Enable TXEN im Register UCR TX-Data Enable
UBRRL = (F_CPU / (baudrate * 16L) - 1); //Teiler wird gesetzt
}
uint8_t uart_putchar(uint8_t c) {
loop_until_bit_is_set(UCSRA, UDRE); //Ausgabe des Zeichens
UDR = c;
return 0;
}
};
#endif /* RS232_H_ */

Binary file not shown.

View File

@ -1,11 +1,11 @@
/*
*
* Can.cpp
*
* Created: 03.11.2013 22:09:17
* Author: netz
*/
#include "Can.h"
/* #include "Can.h"
Can::Can(Spi spi) : s(spi) {
init_can();
@ -23,7 +23,7 @@ void Can::init_can() {
// etwas warten bis sich der MCP2515 zurueckgesetzt hat
_delay_ms(10);
/*
/-*
* Einstellen des Bit Timings
*
* Fosc = 16MHz
@ -37,7 +37,7 @@ void Can::init_can() {
*
* Bus speed = 1 / (Total # of TQ) * TQ
* = 1 / 8 * TQ = 125 kHz
*/
*-/
// BRP = 7
mcp2515_write_register( CNF1, (1<<BRP0)|(1<<BRP1)|(1<<BRP2) );
@ -51,9 +51,9 @@ void Can::init_can() {
// Aktivieren der Rx Buffer Interrupts
mcp2515_write_register( CANINTE, (1<<RX1IE)|(1<<RX0IE) );
/*
/-*
* Einstellen der Filter
*/
*-/
// Buffer 0 : Empfangen aller Nachrichten
mcp2515_write_register( RXB0CTRL, (1<<RXM1)|(1<<RXM0) );
@ -73,9 +73,9 @@ void Can::init_can() {
mcp2515_write_register( RXM1EID8, 0 );
mcp2515_write_register( RXM1EID0, 0 );
/*
/-*
* Einstellen der Pin Funktionen
*/
*-/
// Deaktivieren der Pins RXnBF Pins (High Impedance State)
mcp2515_write_register( BFPCTRL, 0 ); return;
@ -145,13 +145,13 @@ uint8_t Can::can_send_message(CANMessage *p_message)
s.send(0xff);
s.CSOff();
/* Statusbyte:
/-* Statusbyte:
*
* Bit Funktion
* 2 TXB0CNTRL.TXREQ
* 4 TXB1CNTRL.TXREQ
* 6 TXB2CNTRL.TXREQ
*/
*-/
if (bit_is_clear(status, 2)) {
address = 0x00;
@ -163,8 +163,8 @@ uint8_t Can::can_send_message(CANMessage *p_message)
address = 0x04;
}
else {
/* Alle Puffer sind belegt,
Nachricht kann nicht verschickt werden */
/-* Alle Puffer sind belegt,
Nachricht kann nicht verschickt werden *-/
return 0;
}
@ -188,8 +188,8 @@ uint8_t Can::can_send_message(CANMessage *p_message)
// Ist die Nachricht ein "Remote Transmit Request" ?
if (p_message->rtr)
{
/* Ein RTR hat zwar eine Laenge,
aber enthaelt keine Daten */
/-* Ein RTR hat zwar eine Laenge,
aber enthaelt keine Daten *-/
// Nachrichten Laenge + RTR einstellen
s.send((1<<RTR) | length);
@ -208,9 +208,9 @@ uint8_t Can::can_send_message(CANMessage *p_message)
asm volatile ("nop");
/* CAN Nachricht verschicken
/-* CAN Nachricht verschicken
die letzten drei Bit im RTS Kommando geben an welcher
Puffer gesendet werden soll */
Puffer gesendet werden soll *-/
s.CSOn(); // CS wieder Low
if (address == 0x00) {
s.send(SPI_RTS | 0x01);
@ -242,7 +242,7 @@ uint8_t Can::can_get_message(CANMessage *p_message)
s.send(SPI_READ_RX | 0x04);
}
else {
/* Fehler: Keine neue Nachricht vorhanden */
/-* Fehler: Keine neue Nachricht vorhanden *-/
return 0xff;
}
@ -298,4 +298,4 @@ uint8_t Can::mcp2515_read_rx_status(void)
s.CSOff();
return data;
}
} */

310
Mainboard/Mainboard/Can.hpp Normal file
View File

@ -0,0 +1,310 @@
/*
* Can.h
*
* Created: 03.11.2013 21:52:03
* Author: netz
*/
#include "config.h"
#include <util/delay.h>
#include "mcp2515_defs.h"
#ifndef CAN_H_
#define CAN_H_
typedef struct
{
uint16_t id;
uint8_t rtr;
uint8_t length;
uint8_t data[8];
} CANMessage;
template <typename spiclass, typename uart>
class Can {
public:
Can() {
init_can();
}
uint8_t can_send_message(CANMessage *p_message) {
uint8_t status, address;
// Status des MCP2515 auslesen
s.CSOn();
s.send(SPI_READ_STATUS);
status = s.send(0xff);
s.send(0xff);
s.CSOff();
/* Statusbyte:
*
* Bit Funktion
* 2 TXB0CNTRL.TXREQ
* 4 TXB1CNTRL.TXREQ
* 6 TXB2CNTRL.TXREQ
*/
if (bit_is_clear(status, 2)) {
address = 0x00;
}
else if (bit_is_clear(status, 4)) {
address = 0x02;
}
else if (bit_is_clear(status, 6)) {
address = 0x04;
}
else {
/* Alle Puffer sind belegt,
Nachricht kann nicht verschickt werden */
return 0;
}
s.CSOn(); // CS Low
s.send(SPI_WRITE_TX | address);
// Standard ID einstellen
s.send((uint8_t) (p_message->id>>3));
s.send((uint8_t) (p_message->id<<5));
// Extended ID
s.send(0x00);
s.send(0x00);
uint8_t length = p_message->length;
if (length > 8) {
length = 8;
}
// Ist die Nachricht ein "Remote Transmit Request" ?
if (p_message->rtr)
{
/* Ein RTR hat zwar eine Laenge,
aber enthaelt keine Daten */
// Nachrichten Laenge + RTR einstellen
s.send((1<<RTR) | length);
}
else
{
// Nachrichten Laenge einstellen
s.send(length);
// Daten
for (uint8_t i=0;i<length;i++) {
s.send(p_message->data[i]);
}
}
s.CSOff(); // CS auf High
asm volatile ("nop");
/* CAN Nachricht verschicken
die letzten drei Bit im RTS Kommando geben an welcher
Puffer gesendet werden soll */
s.CSOn(); // CS wieder Low
if (address == 0x00) {
s.send(SPI_RTS | 0x01);
} else {
s.send(SPI_RTS | address);
}
s.CSOff(); // CS auf High
return 1;
}
uint8_t can_get_message(CANMessage *p_message) {
// Status auslesen
uint8_t status = mcp2515_read_rx_status();
if (bit_is_set(status, 6))
{
// Nachricht in Puffer 0
s.CSOn(); // CS Low
s.send(SPI_READ_RX);
}
else if (bit_is_set(status, 7))
{
// Nachricht in Puffer 1
s.CSOn(); // CS Low
s.send(SPI_READ_RX | 0x04);
}
else {
/* Fehler: Keine neue Nachricht vorhanden */
return 0xff;
}
// Standard ID auslesen
p_message->id = (uint16_t) s.send(0xff) << 3;
p_message->id |= (uint16_t) s.send(0xff) >> 5;
s.send(0xff);
s.send(0xff);
// Laenge auslesen
uint8_t length = s.send(0xff) & 0x0f;
p_message->length = length;
// Daten auslesen
for (uint8_t i=0;i<length;i++) {
p_message->data[i] = s.send(0xff);
}
s.CSOff();
if (bit_is_set(status,3)) {
p_message->rtr = 1;
} else {
p_message->rtr = 0;
}
// Interrupt Flag loeschen
if (bit_is_set(status,6)) {
mcp2515_bit_modify(CANINTF, (1<<RX0IF), 0);
} else {
mcp2515_bit_modify(CANINTF, (1<<RX1IF), 0);
}
return (status & 0x07);
}
private:
spiclass s;
uart u;
void init_can() {
// MCP2515 per Software Reset zuruecksetzten,
// danach ist der MCP2515 im Configuration Mode
s.CSOn();
s.send( SPI_RESET );
_delay_ms(1);
s.CSOff();
// etwas warten bis sich der MCP2515 zurueckgesetzt hat
_delay_ms(10);
/*
* Einstellen des Bit Timings
*
* Fosc = 16MHz
* BRP = 7 (teilen durch 8)
* TQ = 2 * (BRP + 1) / Fosc (=> 1 uS)
*
* Sync Seg = 1TQ
* Prop Seg = (PRSEG + 1) * TQ = 1 TQ
* Phase Seg1 = (PHSEG1 + 1) * TQ = 3 TQ
* Phase Seg2 = (PHSEG2 + 1) * TQ = 3 TQ
*
* Bus speed = 1 / (Total # of TQ) * TQ
* = 1 / 8 * TQ = 125 kHz
*/
// BRP = 7
mcp2515_write_register( CNF1, (1<<BRP0)|(1<<BRP1)|(1<<BRP2) );
// Prop Seg und Phase Seg1 einstellen
mcp2515_write_register( CNF2, (1<<BTLMODE)|(1<<PHSEG11) );
// Wake-up Filter deaktivieren, Phase Seg2 einstellen
mcp2515_write_register( CNF3, (1<<PHSEG21) );
// Aktivieren der Rx Buffer Interrupts
mcp2515_write_register( CANINTE, (1<<RX1IE)|(1<<RX0IE) );
/*
* Einstellen der Filter
*/
// Buffer 0 : Empfangen aller Nachrichten
mcp2515_write_register( RXB0CTRL, (1<<RXM1)|(1<<RXM0) );
// Buffer 1 : Empfangen aller Nachrichten
mcp2515_write_register( RXB1CTRL, (1<<RXM1)|(1<<RXM0) );
// Alle Bits der Empfangsmaske loeschen,
// damit werden alle Nachrichten empfangen
mcp2515_write_register( RXM0SIDH, 0 ); //return;
mcp2515_write_register( RXM0SIDL, 0 ); //return;
mcp2515_write_register( RXM0EID8, 0 );
mcp2515_write_register( RXM0EID0, 0 );
mcp2515_write_register( RXM1SIDH, 0 ); //return;
mcp2515_write_register( RXM1SIDL, 0 ); //return;
mcp2515_write_register( RXM1EID8, 0 );
mcp2515_write_register( RXM1EID0, 0 );
/*
* Einstellen der Pin Funktionen
*/
// Deaktivieren der Pins RXnBF Pins (High Impedance State)
mcp2515_write_register( BFPCTRL, 0 ); return;
// TXnRTS Bits als Inputs schalten
mcp2515_write_register( TXRTSCTRL, 0 );
// Device zurueck in den normalen Modus versetzten
mcp2515_bit_modify( CANCTRL, 0xE0, 0);
}
void mcp2515_write_register( uint8_t adress, uint8_t data ) {
// /CS des MCP2515 auf Low ziehen
s.CSOn();
s.send(SPI_WRITE);
s.send(adress);
s.send(data);
// /CS Leitung wieder freigeben
s.CSOff();
}
uint8_t mcp2515_read_register(uint8_t adress) {
uint8_t data;
// /CS des MCP2515 auf Low ziehen
s.CSOn();
s.send(SPI_READ);
s.send(adress);
data = s.send(0xff);
// /CS Leitung wieder freigeben
s.CSOff();
return data;
}
void mcp2515_bit_modify(uint8_t adress, uint8_t mask, uint8_t data) {
// /CS des MCP2515 auf Low ziehen
s.CSOn();
s.send(SPI_BIT_MODIFY);
s.send(adress);
s.send(mask);
s.send(data);
// /CS Leitung wieder freigeben
s.CSOff();
}
uint8_t mcp2515_read_rx_status(void) {
uint8_t data;
// /CS des MCP2515 auf Low ziehen
s.CSOn();
s.send(SPI_RX_STATUS);
data = s.send(0xff);
// Die Daten werden noch einmal wiederholt gesendet,
// man braucht also nur eins der beiden Bytes auswerten.
s.send(0xff);
// /CS Leitung wieder freigeben
s.CSOff();
return data;
}
};
#endif /* CAN_H_ */

View File

@ -1,5 +1,5 @@
Mainboard.d Mainboard.o: .././Mainboard.cpp .././config.h .././Led.h \
.././portc.hpp \
Mainboard.d Mainboard.o: .././Mainboard.cpp .././config.h .././Led.hpp \
.././pin.hpp \
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/io.h \
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/sfr_defs.h \
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/inttypes.h \
@ -11,21 +11,21 @@ Mainboard.d Mainboard.o: .././Mainboard.cpp .././config.h .././Led.h \
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/version.h \
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/fuse.h \
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/lock.h \
.././pin.hpp .././Rs232.h \
.././Uart.hpp \
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/stdio.h \
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/include/stdarg.h \
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/include/stddef.h \
.././Can.h \
.././Can.hpp \
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/util/delay.h \
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/util/delay_basic.h \
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/math.h \
.././mcp2515_defs.h .././Spi.h .././portb.hpp
.././mcp2515_defs.h .././Spi.hpp .././portb.hpp
.././config.h:
.././Led.h:
.././Led.hpp:
.././portc.hpp:
.././pin.hpp:
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/io.h:
@ -49,9 +49,7 @@ c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/lock.h:
.././pin.hpp:
.././Rs232.h:
.././Uart.hpp:
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/stdio.h:
@ -59,7 +57,7 @@ c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/include/stddef.h:
.././Can.h:
.././Can.hpp:
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/util/delay.h:
@ -69,6 +67,6 @@ c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-
.././mcp2515_defs.h:
.././Spi.h:
.././Spi.hpp:
.././portb.hpp:

View File

@ -5,89 +5,815 @@
:100040000C9463000C9463000C9463000C946300A4
:100050000C9463000C9463000C9463000C94630094
:100060000C9463000C9463000C9463000C94630084
:100070000C946300400211241FBECFEFD4E0DEBF1A
:10008000CDBF11E0A0E0B1E0E4EAF5E002C00590E8
:100090000D92A630B107D9F721E0A6E0B1E001C08A
:1000A0001D92A930B207E1F710E0C6E7D0E004C026
:1000B0002297FE010E94CC02C437D107C9F70E94E3
:1000C000F9010C94D0020C940000FF920F931F933F
:1000D000CF93DF931F92CDB7DEB7F82E092F162FDF
:1000E00049830E949A0262E08F2D902F0E94BE02E7
:1000F000612F8F2D902F0E94BE024981642F8F2D7A
:10010000902F0E94BE028F2D902F0F90DF91CF91E4
:100110001F910F91FF900C949702CF93DF93D82FEC
:10012000C92F0E949A0260EC8D2F9C2F0E94BE0264
:100130008FE99FE00197F1F700C000008D2F9C2F01
:100140000E9497028FE39CE90197F1F700C000003D
:1001500047E06AE28D2F9C2F0E94650040E969E22A
:100160008D2F9C2F0E94650042E068E28D2F9C2F0E
:100170000E94650043E06BE28D2F9C2F0E9465007A
:1001800040E660E68D2F9C2F0E94650040E660E708
:100190008D2F9C2F0E94650040E060E28D2F9C2FE8
:1001A0000E94650040E061E28D2F9C2F0E94650057
:1001B00040E062E28D2F9C2F0E94650040E063E2E8
:1001C0008D2F9C2F0E94650040E064E28D2F9C2FB4
:1001D0000E94650040E065E28D2F9C2F0E94650023
:1001E00040E066E28D2F9C2F0E94650040E067E2B0
:1001F0008D2F9C2F0E94650040E06CE08D2F9C2F7E
:10020000DF91CF910C946500FC0160830C948D000C
:10021000FF920F931F93CF93DF9300D0CDB7DEB73C
:10022000F82E092F162F2A8349830E949A0265E02F
:100230008F2D902F0E94BE02612F8F2D902F0E9434
:10024000BE024981642F8F2D902F0E94BE022A8109
:10025000622F8F2D902F0E94BE028F2D902F0F9016
:100260000F90DF91CF911F910F91FF900C94970207
:100270001F93CF93DF93D82FC92F0E949A0260EB70
:100280008D2F9C2F0E94BE026FEF8D2F9C2F0E94FE
:10029000BE02182F6FEF8D2F9C2F0E94BE028D2F54
:1002A0009C2F0E949702812FDF91CF911F9108957B
:1002B0009F92AF92BF92CF92DF92EF92FF920F93F5
:1002C0001F93CF93DF931F92CDB7DEB75C016B0115
:1002D0000E943801982E8983898186FD11C0898109
:1002E00087FD7FC08FEF0F90DF91CF911F910F910E
:1002F000FF90EF90DF90CF90BF90AF909F900895C8
:10030000C5010E949A0260E9C5010E94BE026FEF1A
:10031000C5010E94BE02282F30E0220F331F220F9A
:10032000331F220F331FF601318320836FEFC50186
:100330000E94BE02482F50E056954795529542952F
:100340004F7045275F704527F60120813181242BAE
:10035000352B318320836FEFC5010E94BE026FEF02
:10036000C5010E94BE026FEFC5010E94BE028F70E0
:10037000F60183838823A1F086010C5F1F4F76016D
:10038000F5E0EF0EF11C8150E80EF11C6FEFC50196
:100390000E94BE02F80181938F01EE15FF05B1F7AF
:1003A000C5010E949702898183FD0EC0F601128269
:1003B000898120E086FF0FC041E06CE2C5010E9408
:1003C0000801892D87708FCF81E0F60182838981B2
:1003D00020E086FDF1CF42E06CE2C5010E940801F9
:1003E000F0CFC5010E949A0264E9C5010E94BE02D5
:1003F0008ECFCF93DF93CDB7DEB72C970FB6F8949F
:10040000DEBF0FBECDBF47983F9A469A3E9A459AA7
:100410003D9A60E071E087E091E00E94660283E22D
:1004200091E09A8389831B8282E08C838FEA8D839B
:100430008EEF8E8309C02FEF83ED90E32150804033
:100440009040E1F700C000002FEF81EE94E02150D2
:1004500080409040E1F700C00000BE016F5F7F4F19
:1004600086E091E00E9458018F3F29F72FEF81EE3F
:1004700094E0215080409040E1F700C00000E4CFBC
:10048000CF93DF931F92CDB7DEB73D9A3E9A3F9A46
:1004900087E091E00E945A0260E0CE0101960E943E
:1004A0009202698186E091E00E9404010F90DF9141
:1004B000CF91089586E08093CA00E9ECF0E0808156
:1004C0008860808387E68093CC000895FB0190814B
:1004D000992351F031968091C80085FFFCCF90930D
:1004E000CE0091919111F7CF0895229A2A98229ADD
:1004F000219A2998219A249A2C9A249A23982B9805
:100500002B98239A0895CF93DF93EC010E947502F4
:100510008881811104C080E58CBD81E08DBDDF91B3
:10052000CF91089521E0FC0120830C9483022C9A42
:10053000249A08952C98249A089598E080E015C094
:100540002A98229A25E02A95F1F700001B998160EC
:1005500025E02A95F1F70000299A219A2AE02A95A8
:10056000F1F700C0660F915041F0880F2998219A49
:1005700067FFE6CF2A9A229AE5CF0895FC012081F1
:10058000211106C06EBD0DB407FEFDCF8EB50895D6
:100590000C949D02EE0FFF1F0590F491E02D09943D
:0405A000F894FFCFFD
:0605A400626C610A000018
:100070000C946300581611241FBECFEFD4E0DEBFEE
:10008000CDBF11E0A0E0B1E0E8ECF2E302C00590E2
:100090000D92A234B107D9F721E0A2E4B1E001C08A
:1000A0001D92A734B207E1F710E0C6E7D0E004C024
:1000B0002297FE010E947C16C437D107C9F70E941F
:1000C00065000C9462190C940000CF93DF93CDB7B8
:1000D000DEB7E4970FB6F894DEBF0FBECDBF2D9804
:1000E000259A2E9A269A2F9A279AE1E0F1E089E440
:1000F0009091C80095FFFCCF8093CE008191811133
:10010000F7CF8E010F5F1F4F9DE1C92E91E0D92ED1
:1001100027E2E22E21E0F22EBB24BA942D98259AF4
:100120002E9A269A2F98279A2AEA36EE46E981E0F7
:100130002150304040408040D9F70000EEE0F1E02F
:100140009EE48091C80085FFFCCF9093CE009191F2
:100150009111F7CF2C98249A1F9280EB8F93DF9206
:10016000CF921F930F930E94801699810F900F904A
:100170000F900F900F900F90992359F0FE01329637
:100180008091C80085FFFCCF9093CE009191911192
:10019000F7CF28E090EB80E015C02A98229A35E04E
:1001A0003A95F1F700001B99816045E04A95F1F717
:1001B0000000299A219A3AE03A95F1F700C0990F88
:1001C000215041F0880F2998219A97FFE6CF2A9A6B
:1001D000229AE5CF1F928F93FF92EF921F930F9376
:1001E0000E94801699810F900F900F900F900F90A2
:1001F0000F90992359F0FE0132968091C80085FF37
:10020000FCCF9093CE0091919111F7CF1F92BF92A6
:10021000DF92CF921F930F930E94801699810F90C7
:100220000F900F900F900F900F90992359F0FE01AF
:1002300032968091C80085FFFCCF9093CE009191BB
:100240009111F7CF98E08FEF20E015C02A98229AFD
:1002500045E04A95F1F700001B99216035E03A9599
:10026000F1F70000299A219A4AE04A95F1F700C077
:10027000880F915041F0220F2998219A87FFE6CFED
:100280002A9A229AE5CF1F922F93FF92EF921F9303
:100290000F932CAB0E94801699810F900F900F90B6
:1002A0000F900F900F902CA9992359F0FE013296D0
:1002B0008091C80085FFFCCF9093CE009191911161
:1002C000F7CF1F92BF92DF92CF921F930F932CAB69
:1002D0000E94801699810F900F900F900F900F90B1
:1002E0000F902CA9992359F0FE0132968091C800F5
:1002F00085FFFCCF9093CE0091919111F7CF38E01C
:100300009FEF80E015C02A98229A45E04A95F1F7C0
:1003100000001B99816045E04A95F1F70000299A99
:10032000219A4AE04A95F1F700C0990F315041F007
:10033000880F2998219A97FFE6CF2A9A229AE5CF2B
:100340001F928F93FF92EF921F930F932CAB0E94FB
:10035000801699810F900F900F900F900F900F9033
:100360002CA9992359F0FE0132968091C80085FF8F
:10037000FCCF9093CE0091919111F7CF2C9A249AB3
:100380002BAB8BA986FD13C08BA987FD69C52D9862
:10039000259A2E98269A2F9A279A3FEF41EE84E0CD
:1003A000315040408040E1F700C00000B7CE2C98AB
:1003B000249A1F9280E98F93DF92CF921F930F931D
:1003C0000E94801699810F900F900F900F900F90C0
:1003D0000F90992359F0FE0132968091C80085FF55
:1003E000FCCF9093CE0091919111F7CF28E090E946
:1003F00080E015C02A98229A35E03A95F1F700007E
:100400001B99816045E04A95F1F70000299A219AED
:100410003AE03A95F1F700C0990F215041F0880F6A
:100420002998219A97FFE6CF2A9A229AE5CF1F9220
:100430008F93FF92EF921F930F930E9480169981E2
:100440000F900F900F900F900F900F90992359F0ED
:10045000FE0132968091C80085FFFCCF9093CE00BC
:1004600091919111F7CF1F92BF92DF92CF921F937C
:100470000F930E94801699810F900F900F900F900C
:100480000F900F90992359F0FE0132968091C80089
:1004900085FFFCCF9093CE0091919111F7CF28E08A
:1004A0009FEF80E015C02A98229A35E03A95F1F73F
:1004B00000001B99816045E04A95F1F70000299AF8
:1004C000219A3AE03A95F1F700C0990F215041F096
:1004D000880F2998219A97FFE6CF2A9A229AE5CF8A
:1004E0001F928F93FF92EF921F930F930E9480169B
:1004F00099810F900F900F900F900F900F9099236C
:1005000059F0FE0132968091C80085FFFCCF909390
:10051000CE0091919111F7CF1F92BF92DF92CF92AF
:100520001F930F930E94801699810F900F900F9048
:100530000F900F900F90992359F0FE013296809101
:10054000C80085FFFCCF9093CE0091919111F7CF19
:1005500028E09FEF80E015C02A98229A45E04A954E
:10056000F1F700001B99816035E03A95F1F7000042
:10057000299A219A4AE04A95F1F700C0990F215033
:1005800041F0880F2998219A97FFE6CF2A9A229A5C
:10059000E5CF1F928F93FF92EF921F930F930E94CC
:1005A000801699810F900F900F900F900F900F90E1
:1005B000992359F0FE0132968091C80085FFFCCF47
:1005C0009093CE0091919111F7CF1F92BF92DF923D
:1005D000CF921F930F930E94801699810F900F90D6
:1005E0000F900F900F900F90992359F0FE013296C3
:1005F0008091C80085FFFCCF9093CE00919191111E
:10060000F7CF28E09FEF80E015C02A98229A35E0C6
:100610003A95F1F700001B99816045E04A95F1F7A2
:100620000000299A219A3AE03A95F1F700C0990F13
:10063000215041F0880F2998219A97FFE6CF2A9AF6
:10064000229AE5CF1F928F93FF92EF921F930F9301
:100650000E94801699810F900F900F900F900F902D
:100660000F90992359F0FE0132968091C80085FFC2
:10067000FCCF9093CE0091919111F7CF1F92BF9232
:10068000DF92CF921F930F930E94801699810F9053
:100690000F900F900F900F900F90992359F0FE013B
:1006A00032968091C80085FFFCCF9093CE00919147
:1006B0009111F7CF28E09FEF80E015C02A98229A89
:1006C00045E04A95F1F700001B99816035E03A95C5
:1006D000F1F70000299A219A4AE04A95F1F700C003
:1006E000990F215041F0880F2998219A97FFE6CF62
:1006F0002A9A229AE5CF1F928F93FF92EF921F932F
:100700000F930E94801699810F900F900F900F9079
:100710000F900F90992359F0FE0132968091C800F6
:1007200085FFFCCF9093CE0091919111F7CF1F924E
:10073000BF92DF92CF921F930F930E9480169981F0
:100740000F900F900F900F900F900F90992359F0EA
:10075000FE0132968091C80085FFFCCF9093CE00B9
:1007600091919111F7CF98E08FEF20E015C02A9872
:10077000229A35E03A95F1F700001B99216045E097
:100780004A95F1F70000299A219A3AE03A95F1F753
:1007900000C0880F915041F0220F2998219A87FFBD
:1007A000E6CF2A9A229AE5CF1F922F93FF92EF92DB
:1007B0001F930F932CAB0E94801699810F900F907E
:1007C0000F900F900F900F902CA9992359F0FE01D4
:1007D00032968091C80085FFFCCF9093CE00919116
:1007E0009111F7CF8FE0982E922209F45DC0A12CD1
:1007F0001F92BF92DF92CF921F930F930E94801699
:1008000099810F900F900F900F900F900F90992358
:1008100059F0FE0132968091C80085FFFCCF90937D
:10082000CE0091919111F7CF28E09FEF80E015C0A5
:100830002A98229A45E04A95F1F700001B998160B9
:1008400035E03A95F1F70000299A219A4AE04A9555
:10085000F1F700C0990F215041F0880F2998219A93
:1008600097FFE6CF2A9A229AE5CF1F928F93FF92A5
:10087000EF921F930F930E94801699810F900F9013
:100880000F900F900F900F90992359F0FE01329620
:100890008091C80085FFFCCF9093CE00919191117B
:1008A000F7CFA394A910A4CF2C9A249A8BA98BA933
:1008B00086FF73C12C98249A1F9285E08F93DF9254
:1008C000CF921F930F930E94801699810F900F90E3
:1008D0000F900F900F900F90992359F0FE013296D0
:1008E0008091C80085FFFCCF9093CE00919191112B
:1008F000F7CF28E095E080E015C02A98229A35E0ED
:100900003A95F1F700001B99816045E04A95F1F7AF
:100910000000299A219A3AE03A95F1F700C0990F20
:10092000215041F0880F2998219A97FFE6CF2A9A03
:10093000229AE5CF1F928F93FF92EF921F930F930E
:100940000E94801699810F900F900F900F900F903A
:100950000F90992359F0FE0132968091C80085FFCF
:10096000FCCF9093CE0091919111F7CF1F928CE222
:100970008F93DF92CF921F930F930E9480169981DD
:100980000F900F900F900F900F900F90992359F0A8
:10099000FE0132968091C80085FFFCCF9093CE0077
:1009A00091919111F7CF28E09CE280E015C02A9840
:1009B000229A45E04A95F1F700001B99816035E0E5
:1009C0003A95F1F70000299A219A4AE04A95F1F701
:1009D00000C0990F215041F0880F2998219A97FF64
:1009E000E6CF2A9A229AE5CF1F928F93FF92EF9239
:1009F0001F930F930E94801699810F900F900F9074
:100A00000F900F900F90992359F0FE01329680912C
:100A1000C80085FFFCCF9093CE0091919111F7CF44
:100A20001F9281E08F93DF92CF921F930F930E94CA
:100A3000801699810F900F900F900F900F900F904C
:100A4000992359F0FE0132968091C80085FFFCCFB2
:100A50009093CE0091919111F7CF28E091E080E042
:100A600015C02A98229A35E03A95F1F700001B99B3
:100A7000816045E04A95F1F70000299A219A3AE011
:100A80003A95F1F700C0990F215041F0880F29984D
:100A9000219A97FFE6CF2A9A229AE5CF1F928F9349
:100AA000FF92EF921F930F930E94801699810F90EF
:100AB0000F900F900F900F900F90992359F0FE0117
:100AC00032968091C80085FFFCCF9093CE00919123
:100AD0009111F7CF1F921F92DF92CF921F930F9326
:100AE0000E94801699810F900F900F900F900F9099
:100AF0000F90992359F0FE0132968091C80085FF2E
:100B0000FCCF9093CE0091919111F7CF98E080E0C7
:100B1000880F2998219A2A98229A45E04A95F1F758
:100B200000001B99816025E02A95F1F70000299AC1
:100B3000219A3AE03A95F1F700C0915049F71F9297
:100B40008F93FF92EF921F930F930E9480169981CB
:100B50000F900F900F900F900F900F90992359F0D6
:100B6000FE0132968091C80085FFFCCF9093CE00A5
:100B700091919111F7CF2C9A249A2D9A259A2E981B
:100B8000269A2F98279A8FEF93ED20E3815090407B
:100B90002040E1F700C00000C1CA2C98249A1F929F
:100BA00085E08F93DF92CF921F930F930E94801660
:100BB00099810F900F900F900F900F900F909923A5
:100BC00059F0FE0132968091C80085FFFCCF9093CA
:100BD000CE0091919111F7CF28E095E080E015C00B
:100BE0002A98229A45E04A95F1F700001B99816006
:100BF00035E03A95F1F70000299A219A4AE04A95A2
:100C0000F1F700C0990F215041F0880F2998219ADF
:100C100097FFE6CF2A9A229AE5CF1F928F93FF92F1
:100C2000EF921F930F930E94801699810F900F905F
:100C30000F900F900F900F90992359F0FE0132966C
:100C40008091C80085FFFCCF9093CE0091919111C7
:100C5000F7CF1F928CE28F93DF92CF921F930F9367
:100C60000E94801699810F900F900F900F900F9017
:100C70000F90992359F0FE0132968091C80085FFAC
:100C8000FCCF9093CE0091919111F7CF28E09CE298
:100C900080E015C02A98229A35E03A95F1F70000D5
:100CA0001B99816045E04A95F1F70000299A219A45
:100CB0003AE03A95F1F700C0990F215041F0880FC2
:100CC0002998219A97FFE6CF2A9A229AE5CF1F9278
:100CD0008F93FF92EF921F930F930E94801699813A
:100CE0000F900F900F900F900F900F90992359F045
:100CF000FE0132968091C80085FFFCCF9093CE0014
:100D000091919111F7CF1F9282E08F93DF92CF9252
:100D10001F930F930E94801699810F900F900F9050
:100D20000F900F900F90992359F0FE013296809109
:100D3000C80085FFFCCF9093CE0091919111F7CF21
:100D400028E092E080E015C02A98229A45E04A9572
:100D5000F1F700001B99816035E03A95F1F700004A
:100D6000299A219A4AE04A95F1F700C0990F21503B
:100D700041F0880F2998219A97FFE6CF2A9A229A64
:100D8000E5CF1F928F93FF92EF921F930F930E94D4
:100D9000801699810F900F900F900F900F900F90E9
:100DA000992359F0FE0132968091C80085FFFCCF4F
:100DB0009093CE0091919111F7CF1F921F92DF92E5
:100DC000CF921F930F930E94801699810F900F90DE
:100DD0000F900F900F900F90992359F0FE013296CB
:100DE0008091C80085FFFCCF9093CE009191911126
:100DF000F7CF98E080E0880F2998219A2A98229AC4
:100E000025E02A95F1F700001B99816035E03A95BD
:100E1000F1F70000299A219A4AE04A95F1F700C0BB
:100E2000915049F71F928F93FF92EF921F930F9368
:100E30000E94801699810F900F900F900F900F9045
:100E40000F90992309F497CEFE0132968091C80045
:100E500085FFFCCF9093CE0091919111F7CF8BCE6F
:100E60002C98249A1F9284E98F93DF92CF921F933C
:100E70000F930E94801699810F900F900F900F9002
:100E80000F900F90992359F0FE0132968091C8007F
:100E900085FFFCCF9093CE0091919111F7CF28E080
:100EA00094E980E015C02A98229A45E04A95F1F726
:100EB00000001B99816035E03A95F1F70000299A0E
:100EC000219A4AE04A95F1F700C0990F215041F06C
:100ED000880F2998219A97FFE6CF2A9A229AE5CF80
:100EE0001F928F93FF92EF921F930F930E94801691
:100EF00099810F900F900F900F900F900F90992362
:100F000009F4B1CAFE0132968091C80085FFFCCF7A
:100F10009093CE0091919111F7CFA5CA86E080936E
:100F2000CA008091C90088608093C90087E68093D9
:100F3000CC00E5E3F1E095E58091C80085FFFCCFAA
:100F40009093CE0091919111F7CF229A2A98229AEC
:100F5000219A2998219A249A2C9A249A23982B989A
:100F60002B98239A08950F931F93CF93DF93CDB7B8
:100F7000DEB7E3970FB6F894DEBF0FBECDBF1F926A
:100F80006F938DE191E09F938F938E010F5F1F4FC1
:100F90001F930F936BAB0E94801699810F900F9057
:100FA0000F900F900F900F906BA9992359F0FE01AD
:100FB00032968091C80085FFFCCF9093CE0091912E
:100FC0009111F7CF88E040E015C02A98229A95E069
:100FD0009A95F1F700001B99416095E09A95F1F719
:100FE0000000299A219A9AE09A95F1F700C0660FBD
:100FF000815041F0440F2998219A67FFE6CF2A9A41
:10100000229AE5CF1F924F9327E231E03F932F932F
:101010001F930F934BAB0E94801629810F900F9066
:101020000F900F900F900F904BA9222359F0FE01C3
:1010300032969091C80095FFFCCF2093CE0021916D
:101040002111F7CF842FE3960FB6F894DEBF0FBEC1
:10105000CDBFDF91CF911F910F910895EF92FF9235
:101060000F931F93CF93DF93CDB7DEB7E2970FB601
:10107000F894DEBF0FBECDBFF82EE92E2C98249A2F
:1010800060EC0E94B3078FE99FE00197F1F700C081
:1010900000002C9A249A8FE39CE90197F1F700C095
:1010A00000002C98249A62E08F2D9E2D0E94B30799
:1010B0001F928AE28F938DE191E09F938F938E012F
:1010C0000F5F1F4F1F930F930E94801699810F90FF
:1010D0000F900F900F900F900F90992359F0FE01F1
:1010E00032968091C80085FFFCCF9093CE009191FD
:1010F0009111F7CF28E09AE280E015C02A98229A51
:1011000035E03A95F1F700001B99816035E03A959A
:10111000F1F70000299A219A3AE03A95F1F700C0D8
:10112000990F215041F0880F2998219A97FFE6CF17
:101130002A9A229AE5CF1F928F9387E291E09F939C
:101140008F931F930F930E94801699810F900F9099
:101150000F900F900F900F90992359F0FE01329647
:101160008091C80085FFFCCF9093CE0091919111A2
:10117000F7CF1F9287E08F938DE191E09F938F933C
:101180001F930F930E94801699810F900F900F90DC
:101190000F900F900F90992359F0FE013296809195
:1011A000C80085FFFCCF9093CE0091919111F7CFAD
:1011B00028E097E080E015C02A98229A35E03A9519
:1011C000F1F700001B99816035E03A95F1F70000D6
:1011D000299A219A3AE03A95F1F700C0990F2150E7
:1011E00041F0880F2998219A97FFE6CF2A9A229AF0
:1011F000E5CF1F928F9387E291E09F938F931F9388
:101200000F930E94801699810F900F900F900F906E
:101210000F900F90992359F0FE0132968091C800EB
:1012200085FFFCCF9093CE0091919111F7CF2C9A2E
:10123000249A2C98249A1F9282E08F938DE191E05A
:101240009F938F931F930F930E94801699810F9005
:101250000F900F900F900F900F90992359F0FE016F
:1012600032968091C80085FFFCCF9093CE0091917B
:101270009111F7CF28E092E080E015C02A98229AD9
:1012800035E03A95F1F700001B99816035E03A9519
:10129000F1F70000299A219A3AE03A95F1F700C057
:1012A000990F215041F0880F2998219A97FFE6CF96
:1012B0002A9A229AE5CF1F928F9387E291E09F931B
:1012C0008F931F930F930E94801699810F900F9018
:1012D0000F900F900F900F90992359F0FE013296C6
:1012E0008091C80085FFFCCF9093CE009191911121
:1012F000F7CF1F9289E28F938DE191E09F938F93B7
:101300001F930F930E94801699810F900F900F905A
:101310000F900F900F90992359F0FE013296809113
:10132000C80085FFFCCF9093CE0091919111F7CF2B
:1013300028E099E280E015C02A98229A35E03A9593
:10134000F1F700001B99816035E03A95F1F7000054
:10135000299A219A3AE03A95F1F700C0990F215065
:1013600041F0880F2998219A97FFE6CF2A9A229A6E
:10137000E5CF1F928F9387E291E09F938F931F9306
:101380000F930E94801699810F900F900F900F90ED
:101390000F900F90992359F0FE0132968091C8006A
:1013A00085FFFCCF9093CE0091919111F7CF1F92C2
:1013B00080E98F938DE191E09F938F931F930F931B
:1013C0000E94801699810F900F900F900F900F90B0
:1013D0000F90992359F0FE0132968091C80085FF45
:1013E000FCCF9093CE0091919111F7CF28E090E936
:1013F00080E015C02A98229A35E03A95F1F700006E
:101400001B99816035E03A95F1F70000299A219AFD
:101410003AE03A95F1F700C0990F215041F0880F5A
:101420002998219A97FFE6CF2A9A229AE5CF1F9210
:101430008F9387E291E09F938F931F930F930E9466
:10144000801699810F900F900F900F900F900F9032
:10145000992359F0FE0132968091C80085FFFCCF98
:101460009093CE0091919111F7CF2C9A249A2C98B9
:10147000249A1F9282E08F938DE191E09F938F9346
:101480001F930F930E94801699810F900F900F90D9
:101490000F900F900F90992359F0FE013296809192
:1014A000C80085FFFCCF9093CE0091919111F7CFAA
:1014B00028E092E080E015C02A98229A35E03A951B
:1014C000F1F700001B99816035E03A95F1F70000D3
:1014D000299A219A3AE03A95F1F700C0990F2150E4
:1014E00041F0880F2998219A97FFE6CF2A9A229AED
:1014F000E5CF1F928F9387E291E09F938F931F9385
:101500000F930E94801699810F900F900F900F906B
:101510000F900F90992359F0FE0132968091C800E8
:1015200085FFFCCF9093CE0091919111F7CF1F9240
:1015300088E28F938DE191E09F938F931F930F9398
:101540000E94801699810F900F900F900F900F902E
:101550000F90992359F0FE0132968091C80085FFC3
:10156000FCCF9093CE0091919111F7CF28E098E2B3
:1015700080E015C02A98229A35E03A95F1F70000EC
:101580001B99816035E03A95F1F70000299A219A7C
:101590003AE03A95F1F700C0990F215041F0880FD9
:1015A0002998219A97FFE6CF2A9A229AE5CF1F928F
:1015B0008F9387E291E09F938F931F930F930E94E5
:1015C000801699810F900F900F900F900F900F90B1
:1015D000992359F0FE0132968091C80085FFFCCF17
:1015E0009093CE0091919111F7CF1F9282E08F934B
:1015F0008DE191E09F938F931F930F930E9480162C
:1016000099810F900F900F900F900F900F9099234A
:1016100059F0FE0132968091C80085FFFCCF90936F
:10162000CE0091919111F7CF28E092E080E015C0B3
:101630002A98229A35E03A95F1F700001B998160CB
:1016400035E03A95F1F70000299A219A3AE03A9567
:10165000F1F700C0990F215041F0880F2998219A85
:1016600097FFE6CF2A9A229AE5CF1F928F9387E2BF
:1016700091E09F938F931F930F930E9480169981FF
:101680000F900F900F900F900F900F90992359F09B
:10169000FE0132968091C80085FFFCCF9093CE006A
:1016A00091919111F7CF2C9A249A2C98249A1F92F9
:1016B00082E08F938DE191E09F938F931F930F931F
:1016C0000E94801699810F900F900F900F900F90AD
:1016D0000F90992359F0FE0132968091C80085FF42
:1016E000FCCF9093CE0091919111F7CF28E092E03A
:1016F00080E015C02A98229A35E03A95F1F700006B
:101700001B99816035E03A95F1F70000299A219AFA
:101710003AE03A95F1F700C0990F215041F0880F57
:101720002998219A97FFE6CF2A9A229AE5CF1F920D
:101730008F9387E291E09F938F931F930F930E9463
:10174000801699810F900F900F900F900F900F902F
:10175000992359F0FE0132968091C80085FFFCCF95
:101760009093CE0091919111F7CF1F928BE28F93BE
:101770008DE191E09F938F931F930F930E948016AA
:1017800099810F900F900F900F900F900F909923C9
:1017900059F0FE0132968091C80085FFFCCF9093EE
:1017A000CE0091919111F7CF28E09BE280E015C027
:1017B0002A98229A35E03A95F1F700001B9981604A
:1017C00035E03A95F1F70000299A219A3AE03A95E6
:1017D000F1F700C0990F215041F0880F2998219A04
:1017E00097FFE6CF2A9A229AE5CF1F928F9387E23E
:1017F00091E09F938F931F930F930E94801699817E
:101800000F900F900F900F900F900F90992359F019
:10181000FE0132968091C80085FFFCCF9093CE00E8
:1018200091919111F7CF1F9283E08F938DE191E019
:101830009F938F931F930F930E94801699810F900F
:101840000F900F900F900F900F90992359F0FE0179
:1018500032968091C80085FFFCCF9093CE00919185
:101860009111F7CF28E093E080E015C02A98229AE2
:1018700035E03A95F1F700001B99816035E03A9523
:10188000F1F70000299A219A3AE03A95F1F700C061
:10189000990F215041F0880F2998219A97FFE6CFA0
:1018A0002A9A229AE5CF1F928F9387E291E09F9325
:1018B0008F931F930F930E94801699810F900F9022
:1018C0000F900F900F900F90992359F0FE013296D0
:1018D0008091C80085FFFCCF9093CE00919191112B
:1018E000F7CF2C9A249A2C98249A1F9282E08F93F7
:1018F0008DE191E09F938F931F930F930E94801629
:1019000099810F900F900F900F900F900F90992347
:1019100059F0FE0132968091C80085FFFCCF90936C
:10192000CE0091919111F7CF28E092E080E015C0B0
:101930002A98229A35E03A95F1F700001B998160C8
:1019400035E03A95F1F70000299A219A3AE03A9564
:10195000F1F700C0990F215041F0880F2998219A82
:1019600097FFE6CF2A9A229AE5CF1F928F9387E2BC
:1019700091E09F938F931F930F930E9480169981FC
:101980000F900F900F900F900F900F90992359F098
:10199000FE0132968091C80085FFFCCF9093CE0067
:1019A00091919111F7CF1F9280E68F938DE191E095
:1019B0009F938F931F930F930E94801699810F908E
:1019C0000F900F900F900F900F90992359F0FE01F8
:1019D00032968091C80085FFFCCF9093CE00919104
:1019E0009111F7CF28E090E680E015C02A98229A5E
:1019F00035E03A95F1F700001B99816035E03A95A2
:101A0000F1F70000299A219A3AE03A95F1F700C0DF
:101A1000990F215041F0880F2998219A97FFE6CF1E
:101A20002A9A229AE5CF1F928F9387E291E09F93A3
:101A30008F931F930F930E94801699810F900F90A0
:101A40000F900F900F900F90992359F0FE0132964E
:101A50008091C80085FFFCCF9093CE0091919111A9
:101A6000F7CF1F9280E68F938DE191E09F938F9344
:101A70001F930F930E94801699810F900F900F90E3
:101A80000F900F900F90992359F0FE01329680919C
:101A9000C80085FFFCCF9093CE0091919111F7CFB4
:101AA00028E090E680E015C02A98229A35E03A9521
:101AB000F1F700001B99816035E03A95F1F70000DD
:101AC000299A219A3AE03A95F1F700C0990F2150EE
:101AD00041F0880F2998219A97FFE6CF2A9A229AF7
:101AE000E5CF1F928F9387E291E09F938F931F938F
:101AF0000F930E94801699810F900F900F900F9076
:101B00000F900F90992359F0FE0132968091C800F2
:101B100085FFFCCF9093CE0091919111F7CF2C9A35
:101B2000249A2C98249A62E08F2D9E2D0E94B30750
:101B30001F9280E78F938DE191E09F938F931F9386
:101B40000F930E94801699810F900F900F900F9025
:101B50000F900F90992359F0FE0132968091C800A2
:101B600085FFFCCF9093CE0091919111F7CF28E0A3
:101B700090E780E015C02A98229A35E03A95F1F76F
:101B800000001B99816035E03A95F1F70000299A31
:101B9000219A3AE03A95F1F700C0990F215041F0AF
:101BA000880F2998219A97FFE6CF2A9A229AE5CFA3
:101BB0001F928F9387E291E09F938F931F930F93D0
:101BC0000E94801699810F900F900F900F900F90A8
:101BD0000F90992359F0FE0132968091C80085FF3D
:101BE000FCCF9093CE0091919111F7CF1F9280E698
:101BF0008F938DE191E09F938F931F930F930E949A
:101C0000801699810F900F900F900F900F900F906A
:101C1000992359F0FE0132968091C80085FFFCCFD0
:101C20009093CE0091919111F7CF28E090E680E05B
:101C300015C02A98229A35E03A95F1F700001B99D1
:101C4000816035E03A95F1F70000299A219A3AE04F
:101C50003A95F1F700C0990F215041F0880F29986B
:101C6000219A97FFE6CF2A9A229AE5CF1F928F9367
:101C700087E291E09F938F931F930F930E948016AA
:101C800099810F900F900F900F900F900F909923C4
:101C900059F0FE0132968091C80085FFFCCF9093E9
:101CA000CE0091919111F7CF2C9A249A2C98249AD6
:101CB00062E08F2D9E2D0E94B30760E28F2D9E2D36
:101CC0000E94B30760E08F2D9E2D0E94B3072C9ACF
:101CD000249A2C98249A62E08F2D9E2D0E94B3079F
:101CE00061E28F2D9E2D0E94B30760E08F2D9E2D07
:101CF0000E94B3072C9A249A2C98249A1F9282E06F
:101D00008F938DE191E09F938F931F930F930E9488
:101D1000801699810F900F900F900F900F900F9059
:101D2000992359F0FE0132968091C80085FFFCCFBF
:101D30009093CE0091919111F7CF28E092E080E04E
:101D400015C02A98229A35E03A95F1F700001B99C0
:101D5000816035E03A95F1F70000299A219A3AE03E
:101D60003A95F1F700C0990F215041F0880F29985A
:101D7000219A97FFE6CF2A9A229AE5CF1F928F9356
:101D800087E291E09F938F931F930F930E94801699
:101D900099810F900F900F900F900F900F909923B3
:101DA00059F0FE0132968091C80085FFFCCF9093D8
:101DB000CE0091919111F7CF1F9282E28F938DE126
:101DC00091E09F938F931F930F930E9480169981A8
:101DD0000F900F900F900F900F900F90992359F044
:101DE000FE0132968091C80085FFFCCF9093CE0013
:101DF00091919111F7CF28E092E280E015C02A98E6
:101E0000229A35E03A95F1F700001B99816035E0A0
:101E10003A95F1F70000299A219A3AE03A95F1F7BC
:101E200000C0990F215041F0880F2998219A97FFFF
:101E3000E6CF2A9A229AE5CF1F928F9387E291E00C
:101E40009F938F931F930F930E94801699810F90F9
:101E50000F900F900F900F900F90992359F0FE0163
:101E600032968091C80085FFFCCF9093CE0091916F
:101E70009111F7CF1F921F928DE191E09F938F9365
:101E80001F930F930E94801699810F900F900F90CF
:101E90000F900F900F90992359F0FE013296809188
:101EA000C80085FFFCCF9093CE0091919111F7CFA0
:101EB00098E080E0880F2998219A2A98229A25E0B4
:101EC0002A95F1F700001B99816035E03A95F1F70A
:101ED0000000299A219A2AE02A95F1F700C0915032
:101EE00049F71F928F9387E291E09F938F931F93FF
:101EF0000F930E94801699810F900F900F900F9072
:101F00000F900F90992359F0FE0132968091C800EE
:101F100085FFFCCF9093CE0091919111F7CF2C9A31
:101F2000249A2C98249A1F9282E08F938DE191E05D
:101F30009F938F931F930F930E94801699810F9008
:101F40000F900F900F900F900F90992359F0FE0172
:101F500032968091C80085FFFCCF9093CE0091917E
:101F60009111F7CF28E092E080E015C02A98229ADC
:101F700035E03A95F1F700001B99816035E03A951C
:101F8000F1F70000299A219A3AE03A95F1F700C05A
:101F9000990F215041F0880F2998219A97FFE6CF99
:101FA0002A9A229AE5CF1F928F9387E291E09F931E
:101FB0008F931F930F930E94801699810F900F901B
:101FC0000F900F900F900F90992359F0FE013296C9
:101FD0008091C80085FFFCCF9093CE009191911124
:101FE000F7CF1F9283E28F938DE191E09F938F93C0
:101FF0001F930F930E94801699810F900F900F905E
:102000000F900F900F90992359F0FE013296809116
:10201000C80085FFFCCF9093CE0091919111F7CF2E
:1020200028E093E280E015C02A98229A35E03A959C
:10203000F1F700001B99816035E03A95F1F7000057
:10204000299A219A3AE03A95F1F700C0990F215068
:1020500041F0880F2998219A97FFE6CF2A9A229A71
:10206000E5CF1F928F9387E291E09F938F931F9309
:102070000F930E94801699810F900F900F900F90F0
:102080000F900F90992359F0FE0132968091C8006D
:1020900085FFFCCF9093CE0091919111F7CF1F92C5
:1020A0001F928DE191E09F938F931F930F930E9456
:1020B000801699810F900F900F900F900F900F90B6
:1020C000992359F0FE0132968091C80085FFFCCF1C
:1020D0009093CE0091919111F7CF98E080E0880F16
:1020E0002998219A2A98229A25E02A95F1F700004A
:1020F0001B99816035E03A95F1F70000299A219A01
:102100002AE02A95F1F700C0915049F71F928F936A
:1021100087E291E09F938F931F930F930E94801605
:1021200099810F900F900F900F900F900F9099231F
:1021300059F0FE0132968091C80085FFFCCF909344
:10214000CE0091919111F7CF2C9A249A2C98249A31
:102150001F9282E08F938DE191E09F938F931F9365
:102160000F930E94801699810F900F900F900F90FF
:102170000F900F90992359F0FE0132968091C8007C
:1021800085FFFCCF9093CE0091919111F7CF28E07D
:1021900092E080E015C02A98229A35E03A95F1F74E
:1021A00000001B99816035E03A95F1F70000299A0B
:1021B000219A3AE03A95F1F700C0990F215041F089
:1021C000880F2998219A97FFE6CF2A9A229AE5CF7D
:1021D0001F928F9387E291E09F938F931F930F93AA
:1021E0000E94801699810F900F900F900F900F9082
:1021F0000F90992359F0FE0132968091C80085FF17
:10220000FCCF9093CE0091919111F7CF1F9284E271
:102210008F938DE191E09F938F931F930F930E9473
:10222000801699810F900F900F900F900F900F9044
:10223000992359F0FE0132968091C80085FFFCCFAA
:102240009093CE0091919111F7CF28E094E280E035
:1022500015C02A98229A35E03A95F1F700001B99AB
:10226000816035E03A95F1F70000299A219A3AE029
:102270003A95F1F700C0990F215041F0880F299845
:10228000219A97FFE6CF2A9A229AE5CF1F928F9341
:1022900087E291E09F938F931F930F930E94801684
:1022A00099810F900F900F900F900F900F9099239E
:1022B00059F0FE0132968091C80085FFFCCF9093C3
:1022C000CE0091919111F7CF1F921F928DE191E075
:1022D0009F938F931F930F930E94801699810F9065
:1022E0000F900F900F900F900F90992359F0FE01CF
:1022F00032968091C80085FFFCCF9093CE009191DB
:102300009111F7CF98E080E0880F2998219A2A98B8
:10231000229A25E02A95F1F700001B99816035E0AB
:102320003A95F1F70000299A219A2AE02A95F1F7C7
:1023300000C0915049F71F928F9387E291E09F93DD
:102340008F931F930F930E94801699810F900F9087
:102350000F900F900F900F90992359F0FE01329635
:102360008091C80085FFFCCF9093CE009191911190
:10237000F7CF2C9A249A2C98249A1F9282E08F935C
:102380008DE191E09F938F931F930F930E9480168E
:1023900099810F900F900F900F900F900F909923AD
:1023A00059F0FE0132968091C80085FFFCCF9093D2
:1023B000CE0091919111F7CF28E092E080E015C016
:1023C0002A98229A35E03A95F1F700001B9981602E
:1023D00035E03A95F1F70000299A219A3AE03A95CA
:1023E000F1F700C0990F215041F0880F2998219AE8
:1023F00097FFE6CF2A9A229AE5CF1F928F9387E222
:1024000091E09F938F931F930F930E948016998161
:102410000F900F900F900F900F900F90992359F0FD
:10242000FE0132968091C80085FFFCCF9093CE00CC
:1024300091919111F7CF1F9285E28F938DE191E0F9
:102440009F938F931F930F930E94801699810F90F3
:102450000F900F900F900F900F90992359F0FE015D
:1024600032968091C80085FFFCCF9093CE00919169
:102470009111F7CF28E095E280E015C02A98229AC2
:1024800035E03A95F1F700001B99816035E03A9507
:10249000F1F70000299A219A3AE03A95F1F700C045
:1024A000990F215041F0880F2998219A97FFE6CF84
:1024B0002A9A229AE5CF1F928F9387E291E09F9309
:1024C0008F931F930F930E94801699810F900F9006
:1024D0000F900F900F900F90992359F0FE013296B4
:1024E0008091C80085FFFCCF9093CE00919191110F
:1024F000F7CF1F921F928DE191E09F938F931F93CF
:102500000F930E94801699810F900F900F900F905B
:102510000F900F90992359F0FE0132968091C800D8
:1025200085FFFCCF9093CE0091919111F7CF98E069
:1025300080E0880F2998219A2A98229A25E02A95E6
:10254000F1F700001B99816035E03A95F1F7000042
:10255000299A219A2AE02A95F1F700C0915049F76B
:102560001F928F9387E291E09F938F931F930F9316
:102570000E94801699810F900F900F900F900F90EE
:102580000F90992359F0FE0132968091C80085FF83
:10259000FCCF9093CE0091919111F7CF2C9A249A71
:1025A0002C98249A1F9282E08F938DE191E09F9363
:1025B0008F931F930F930E94801699810F900F9015
:1025C0000F900F900F900F90992359F0FE013296C3
:1025D0008091C80085FFFCCF9093CE00919191111E
:1025E000F7CF28E092E080E015C02A98229A35E0E3
:1025F0003A95F1F700001B99816035E03A95F1F7C3
:102600000000299A219A3AE03A95F1F700C0990F13
:10261000215041F0880F2998219A97FFE6CF2A9AF6
:10262000229AE5CF1F928F9387E291E09F938F9339
:102630001F930F930E94801699810F900F900F9017
:102640000F900F900F90992359F0FE0132968091D0
:10265000C80085FFFCCF9093CE0091919111F7CFE8
:102660001F9286E28F938DE191E09F938F931F934A
:102670000F930E94801699810F900F900F900F90EA
:102680000F900F90992359F0FE0132968091C80067
:1026900085FFFCCF9093CE0091919111F7CF28E068
:1026A00096E280E015C02A98229A35E03A95F1F733
:1026B00000001B99816035E03A95F1F70000299AF6
:1026C000219A3AE03A95F1F700C0990F215041F074
:1026D000880F2998219A97FFE6CF2A9A229AE5CF68
:1026E0001F928F9387E291E09F938F931F930F9395
:1026F0000E94801699810F900F900F900F900F906D
:102700000F90992359F0FE0132968091C80085FF01
:10271000FCCF9093CE0091919111F7CF1F921F9211
:102720008DE191E09F938F931F930F930E948016EA
:1027300099810F900F900F900F900F900F90992309
:1027400059F0FE0132968091C80085FFFCCF90932E
:10275000CE0091919111F7CF98E080E0880F2998F1
:10276000219A2A98229A25E02A95F1F700001B99D0
:10277000816035E03A95F1F70000299A219A2AE024
:102780002A95F1F700C0915049F71F928F9387E285
:1027900091E09F938F931F930F930E9480169981CE
:1027A0000F900F900F900F900F900F90992359F06A
:1027B000FE0132968091C80085FFFCCF9093CE0039
:1027C00091919111F7CF2C9A249A2C98249A1F92C8
:1027D00082E08F938DE191E09F938F931F930F93EE
:1027E0000E94801699810F900F900F900F900F907C
:1027F0000F90992359F0FE0132968091C80085FF11
:10280000FCCF9093CE0091919111F7CF28E092E008
:1028100080E015C02A98229A35E03A95F1F7000039
:102820001B99816035E03A95F1F70000299A219AC9
:102830003AE03A95F1F700C0990F215041F0880F26
:102840002998219A97FFE6CF2A9A229AE5CF1F92DC
:102850008F9387E291E09F938F931F930F930E9432
:10286000801699810F900F900F900F900F900F90FE
:10287000992359F0FE0132968091C80085FFFCCF64
:102880009093CE0091919111F7CF1F9287E28F9391
:102890008DE191E09F938F931F930F930E94801679
:1028A00099810F900F900F900F900F900F90992398
:1028B00059F0FE0132968091C80085FFFCCF9093BD
:1028C000CE0091919111F7CF28E097E280E015C0FA
:1028D0002A98229A35E03A95F1F700001B99816019
:1028E00035E03A95F1F70000299A219A3AE03A95B5
:1028F000F1F700C0990F215041F0880F2998219AD3
:1029000097FFE6CF2A9A229AE5CF1F928F9387E20C
:1029100091E09F938F931F930F930E94801699814C
:102920000F900F900F900F900F900F90992359F0E8
:10293000FE0132968091C80085FFFCCF9093CE00B7
:1029400091919111F7CF1F921F928DE191E09F938A
:102950008F931F930F930E94801699810F900F9071
:102960000F900F900F900F90992359F0FE0132961F
:102970008091C80085FFFCCF9093CE00919191117A
:10298000F7CF98E080E0880F2998219A2A98229A18
:1029900025E02A95F1F700001B99816035E03A9512
:1029A000F1F70000299A219A2AE02A95F1F700C050
:1029B000915049F71F928F9387E291E09F938F93F5
:1029C0001F930F930E94801699810F900F900F9084
:1029D0000F900F900F90992359F0FE01329680913D
:1029E000C80085FFFCCF9093CE0091919111F7CF55
:1029F0002C9A249A2C98249A1F9282E08F938DE12E
:102A000091E09F938F931F930F930E94801699815B
:102A10000F900F900F900F900F900F90992359F0F7
:102A2000FE0132968091C80085FFFCCF9093CE00C6
:102A300091919111F7CF28E092E080E015C02A989B
:102A4000229A35E03A95F1F700001B99816035E054
:102A50003A95F1F70000299A219A3AE03A95F1F770
:102A600000C0990F215041F0880F2998219A97FFB3
:102A7000E6CF2A9A229AE5CF1F928F9387E291E0C0
:102A80009F938F931F930F930E94801699810F90AD
:102A90000F900F900F900F900F90992359F0FE0117
:102AA00032968091C80085FFFCCF9093CE00919123
:102AB0009111F7CF1F928CE08F938DE191E09F935E
:102AC0008F931F930F930E94801699810F900F9000
:102AD0000F900F900F900F90992359F0FE013296AE
:102AE0008091C80085FFFCCF9093CE009191911109
:102AF000F7CF28E09CE080E015C02A98229A35E0C4
:102B00003A95F1F700001B99816035E03A95F1F7AD
:102B10000000299A219A3AE03A95F1F700C0990FFE
:102B2000215041F0880F2998219A97FFE6CF2A9AE1
:102B3000229AE5CF1F928F9387E291E09F938F9324
:102B40001F930F930E94801699810F900F900F9002
:102B50000F900F900F90992359F0FE0132968091BB
:102B6000C80085FFFCCF9093CE0091919111F7CFD3
:102B70001F921F928DE191E09F938F931F930F936C
:102B80000E94801699810F900F900F900F900F90D8
:102B90000F90992359F0FE0132968091C80085FF6D
:102BA000FCCF9093CE0091919111F7CF98E080E007
:102BB000880F2998219A2A98229A25E02A95F1F7D8
:102BC00000001B99816035E03A95F1F70000299AE1
:102BD000219A2AE02A95F1F700C0915049F71F92F7
:102BE0008F9387E291E09F938F931F930F930E949F
:102BF000801699810F900F900F900F900F900F906B
:102C0000992359F0FE0132968091C80085FFFCCFD0
:102C10009093CE0091919111F7CF2C9A249AE2963D
:102C20000FB6F894DEBF0FBECDBFDF91CF911F91DD
:102C30000F91FF90EF90089526E02093CA00209115
:102C4000C90028602093C90027E62093CC00E5E363
:102C5000F1E0DF0135E52091C80025FFFCCF30937E
:102C6000CE003D913111F7CF229A2A98229A219ACB
:102C70002998219A249A2C9A249A23982B982B9855
:102C8000239A26E02093CA002091C900286020934F
:102C9000C90027E62093CC0035E52091C80025FF28
:102CA000FCCF3093CE0031913111F7CF0C942E0828
:102CB000279A269A259A86E08093CA008091C900B7
:102CC00088608093C90087E68093CC00E5E3F1E05B
:102CD00095E58091C80085FFFCCF9093CE0091913F
:102CE0009111F7CF84E491E00E948E0782E491E095
:102CF0000C941C16EE0FFF1F0590F491E02D099423
:102D0000AEE0B0E0E6E8F6E10C9439190D891E89D1
:102D100086E08C831A8309838FEF9FE79E838D83E0
:102D2000CE014996AC016F89788DCE0101960E9443
:102D3000A216EF81F885E00FF11F10822E96E4E0D5
:102D40000C945519ACE0B0E0E8EAF6E10C942B19CC
:102D50007C016B018A01FC0117821682838181FF4D
:102D6000C8C188248394912C8C0E9D1EF7019381F9
:102D7000F60193FD859193FF81916F01882309F4FA
:102D8000B4C1853239F493FD859193FF81916F0130
:102D9000853229F4B70190E00E949618E7CF512CB4
:102DA000312C20E02032A8F48B3261F028F48032FC
:102DB00051F0833271F40BC08D3239F0803349F415
:102DC00021602AC02260246027C0286025C02061BD
:102DD00023C027FD29C0382F30533A3088F426FF0E
:102DE00007C0852D6AE00E942219582E530E14C088
:102DF000832D6AE00E942219382E330E20620CC007
:102E00008E3221F426FD71C1206406C08C3611F487
:102E1000206802C0883641F4F60193FD859193FF46
:102E200081916F018111BECF982F9554933018F086
:102E30009052933028F40C5F1F4FFFE3F9830DC0CD
:102E4000833631F0833771F0833509F05EC023C0DB
:102E5000F801808189830E5F1F4F44244394512CD5
:102E6000540115C03801F2E06F0E711CF801A0800A
:102E7000B18026FF03C0652D70E002C06FEF7FEFC9
:102E8000C5012C870E948B182C0183012C856FE7CC
:102E9000262E222218C03801F2E06F0E711CF801B4
:102EA000A080B18026FF03C0652D70E002C06FEFE7
:102EB0007FEFC5012C870E9480182C012C8550E8DB
:102EC000252E222A830123FC1CC006C0B70180E204
:102ED00090E00E9496183A94832D90E04816590687
:102EE000A8F30FC0F50127FC859127FE81915F01B2
:102EF000B70190E00E94961831103A94F1E04F1A11
:102F000051084114510471F7EDC0843611F089362F
:102F100041F5F80127FF07C06081718182819381AB
:102F20000C5F1F4F08C060817181882777FD8095F5
:102F3000982F0E5F1F4F4FE6B42EB22297FF09C0A5
:102F400090958095709561957F4F8F4F9F4FF0E8DA
:102F5000BF2A2AE030E0A4010E94C218A82EA818B7
:102F600043C0853731F43FEEB32EB2222AE030E081
:102F700024C099EFB92EB2228F36B9F020F48835EB
:102F800009F0B3C00DC0803721F0883709F0ADC01B
:102F900002C020E1B22AB4FE0BC084E0B82A08C007
:102FA00024FF09C0E6E0BE2A06C028E030E005C0E4
:102FB00020E130E002C020E132E0F801B7FE07C0B6
:102FC00060817181828193810C5F1F4F06C0608197
:102FD000718180E090E00E5F1F4FA4010E94C21833
:102FE000A82EA818FFE7BF22B6FE0BC02B2D2E7F00
:102FF000A51450F4B4FE0AC0B2FC08C02B2D2E7EDE
:1030000005C07A2C2B2D03C07A2C01C0752C24FF0F
:103010000DC0FE01EA0DF11D8081803311F4297E7F
:1030200009C022FF06C07394739404C0822F86786F
:1030300009F0739423FD14C020FF0FC05A2C7314A1
:1030400060F4530C5718732C08C0B70180E290E06D
:103050002C870E94961873942C857314B0F304C0C7
:10306000731410F4371801C0312C24FF12C0B701BB
:1030700080E390E02C870E9496182C8522FF1EC0CA
:1030800021FF03C088E590E002C088E790E0B70127
:103090000CC0822F867891F021FD02C080E201C031
:1030A0008BE227FD8DE2B70190E00E94961806C0E2
:1030B000B70180E390E00E9496185A94A514C0F3DB
:1030C000AA94F401EA0DF11DB701808190E00E94FD
:1030D0009618A110F5CF06C0B70180E290E00E94DB
:1030E00096183A943110F8CF41CEF70126813781F6
:1030F00002C02FEF3FEFC9012C96E2E10C94471973
:10310000FC010590615070400110D8F780959095B2
:103110008E0F9F1F0895FC016150704001900110B7
:10312000D8F7809590958E0F9F1F08950F931F934A
:10313000CF93DF938C01EB018B8181FD03C00FEFF7
:103140001FEF1AC082FF0DC02E813F818C819D81AF
:103150002817390764F4E881F9810193F983E8833A
:1031600006C0E885F985802F0995892B41F78E8166
:103170009F8101969F838E83C801DF91CF911F911C
:103180000F910895FA01AA27283061F1203191F1B9
:10319000E8946F936E7F6E5F7F4F8F4F9F4FAF4F5F
:1031A000B1E040D0B4E03ED0670F781F891F9A1F6E
:1031B000A11D680F791F8A1F911DA11D6A0F711D26
:1031C000811D911DA11D22D009F468943F91062E06
:1031D000000C3019000C000C3019305D3193CEF624
:1031E000CF010895462F4770405D4193B3E00FD063
:1031F000C9F7F6CF462F4F70405D4A3318F0495D4E
:1032000031FD4052419302D0A9F7EACFB4E0A69530
:103210009795879577956795BA95C9F70097610552
:10322000710508959B01AC010A2E069457954795A8
:1032300037952795BA95C9F7620F731F841F951F9D
:10324000A01D0895002480FD060E660F11F08695DE
:10325000D1F7802D08952F923F924F925F926F92F7
:103260007F928F929F92AF92BF92CF92DF92EF9216
:10327000FF920F931F93CF93DF93CDB7DEB7CA1B97
:10328000DB0B0FB6F894DEBF0FBECDBF09942A88C2
:10329000398848885F846E847D848C849B84AA846A
:1032A000B984C884DF80EE80FD800C811B81AA81F7
:1032B000B981CE0FD11D0FB6F894DEBF0FBECDBFC2
:0832C000ED010895F894FFCF21
:1032C800496E697420646F6E65210D0A004E657839
:1032D80074207061636B6167653A0D0A002D3E20AA
:1032E80030782530327800203C2D20307825303257
:1032F800780D0A005561727420646F6E65210D0A9D
:023308000000C3
:00000001FF

File diff suppressed because it is too large Load Diff

View File

@ -10,31 +10,43 @@ c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-
Mainboard.o (__do_global_ctors)
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_tablejump.o)
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_ctors.o) (__tablejump__)
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(sprintf.o)
Mainboard.o (sprintf)
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(vfprintf_std.o)
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(sprintf.o) (vfprintf)
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(strnlen_P.o)
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(vfprintf_std.o) (strnlen_P)
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(strnlen.o)
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(vfprintf_std.o) (strnlen)
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(fputc.o)
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(vfprintf_std.o) (fputc)
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(ultoa_invert.o)
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(vfprintf_std.o) (__ultoa_invert)
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_mulqi3.o)
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(vfprintf_std.o) (__mulqi3)
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_prologue.o)
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(sprintf.o) (__prologue_saves__)
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_epilogue.o)
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(sprintf.o) (__epilogue_restores__)
Discarded input sections
.bss 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35/crtm32u2.o
.text 0x00000000 0x0 Can.o
.bss 0x00000000 0x0 Can.o
.text._ZN3Can21mcp2515_read_registerEh
0x00000000 0x42 Can.o
.text._ZN3Can16can_send_messageEP10CANMessage
0x00000000 0x154 Can.o
.text 0x00000000 0x0 Led.o
.bss 0x00000000 0x0 Led.o
.group 0x00000000 0x8 Mainboard.o
.group 0x00000000 0x8 Mainboard.o
.group 0x00000000 0x8 Mainboard.o
.group 0x00000000 0x8 Mainboard.o
.text 0x00000000 0x0 Mainboard.o
.text 0x00000000 0x0 Rs232.o
.bss 0x00000000 0x0 Rs232.o
.text._ZN5Rs23212uart_putcharEh
0x00000000 0x10 Rs232.o
.text._ZN5Rs2324initEv
0x00000000 0x18 Rs232.o
.text 0x00000000 0x0 Spi.o
.bss 0x00000000 0x0 Spi.o
.text._ZN3Spi8init_spiEv
0x00000000 0xa Spi.o
.text._ZN3Spi9send_hardEh
0x00000000 0xc Spi.o
.text._ZN6avrlib3pinINS_5portbELh5EE3setEb.part.4
0x00000000 0x4 Mainboard.o
.text._ZN6avrlib3pinINS_5portbELh6EE3setEb.part.6
0x00000000 0x4 Mainboard.o
.text._ZN6avrlib3pinINS_5portbELh7EE3setEb.part.9
0x00000000 0x4 Mainboard.o
.text._ZN6avrlib3pinINS_5portbELh4EE3setEb.part.12
0x00000000 0x4 Mainboard.o
.text._ZN6avrlib3pinINS_5portbELh1EE3setEb.part.19
0x00000000 0x4 Mainboard.o
.text 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_exit.o)
.bss 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_exit.o)
.text.libgcc.mul
@ -99,6 +111,51 @@ Discarded input sections
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_tablejump.o)
.text.libgcc.fmul
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_tablejump.o)
.text 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(sprintf.o)
.bss 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(sprintf.o)
.text 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(vfprintf_std.o)
.bss 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(vfprintf_std.o)
.text 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(strnlen_P.o)
.bss 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(strnlen_P.o)
.text 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(strnlen.o)
.bss 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(strnlen.o)
.text 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(fputc.o)
.bss 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(fputc.o)
.text 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(ultoa_invert.o)
.bss 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(ultoa_invert.o)
.text 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_mulqi3.o)
.bss 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_mulqi3.o)
.text.libgcc.div
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_mulqi3.o)
.text.libgcc 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_mulqi3.o)
.text.libgcc.prologue
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_mulqi3.o)
.text.libgcc.builtins
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_mulqi3.o)
.text.libgcc.fmul
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_mulqi3.o)
.text 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_prologue.o)
.bss 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_prologue.o)
.text.libgcc.mul
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_prologue.o)
.text.libgcc.div
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_prologue.o)
.text.libgcc 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_prologue.o)
.text.libgcc.builtins
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_prologue.o)
.text.libgcc.fmul
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_prologue.o)
.text 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_epilogue.o)
.bss 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_epilogue.o)
.text.libgcc.mul
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_epilogue.o)
.text.libgcc.div
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_epilogue.o)
.text.libgcc 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_epilogue.o)
.text.libgcc.builtins
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_epilogue.o)
.text.libgcc.fmul
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_epilogue.o)
Memory Configuration
@ -116,11 +173,7 @@ Linker script and memory map
Address of section .data set to 0x800100
LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35/crtm32u2.o
LOAD Can.o
LOAD Led.o
LOAD Mainboard.o
LOAD Rs232.o
LOAD Spi.o
START GROUP
LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libm.a
END GROUP
@ -220,7 +273,7 @@ LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8
.rela.plt
*(.rela.plt)
.text 0x00000000 0x5a4
.text 0x00000000 0x32c8
*(.vectors)
.vectors 0x00000000 0x74 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35/crtm32u2.o
0x00000000 __vector_default
@ -310,67 +363,60 @@ LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8
0x000000c6 __vector_20
0x000000ca . = ALIGN (0x2)
*(.text.*)
.text._ZN3Can22mcp2515_write_registerEhh
0x000000ca 0x50 Can.o
0x000000ca _ZN3Can22mcp2515_write_registerEhh
.text._ZN3Can8init_canEv
0x0000011a 0xee Can.o
0x0000011a _ZN3Can8init_canEv
.text._ZN3CanC2E3Spi
0x00000208 0x8 Can.o
0x00000208 _ZN3CanC2E3Spi
0x00000208 _ZN3CanC1E3Spi
.text._ZN3Can18mcp2515_bit_modifyEhhh
0x00000210 0x60 Can.o
0x00000210 _ZN3Can18mcp2515_bit_modifyEhhh
.text._ZN3Can22mcp2515_read_rx_statusEv
0x00000270 0x40 Can.o
0x00000270 _ZN3Can22mcp2515_read_rx_statusEv
.text._ZN3Can15can_get_messageEP10CANMessage
0x000002b0 0x142 Can.o
0x000002b0 _ZN3Can15can_get_messageEP10CANMessage
.text.startup.main
0x000003f2 0x8e Mainboard.o
0x000003f2 main
0x000000ca 0xe52 Mainboard.o
0x000000ca main
.text._ZN3SpiIN6avrlib5portbELi4ELi3ELi2ELi1ELi1E4UartILm9600EEEC2Ev
0x00000f1c 0x4a Mainboard.o
0x00000f1c _ZN3SpiIN6avrlib5portbELi4ELi3ELi2ELi1ELi1E4UartILm9600EEEC2Ev
0x00000f1c _ZN3SpiIN6avrlib5portbELi4ELi3ELi2ELi1ELi1E4UartILm9600EEEC1Ev
.text._ZN3SpiIN6avrlib5portbELi4ELi3ELi2ELi1ELi1E4UartILm9600EEE4sendEh
0x00000f66 0xf6 Mainboard.o
0x00000f66 _ZN3SpiIN6avrlib5portbELi4ELi3ELi2ELi1ELi1E4UartILm9600EEE4sendEh
.text._ZN3CanI3SpiIN6avrlib5portbELi4ELi3ELi2ELi1ELi1E4UartILm9600EEES4_E8init_canEv
0x0000105c 0x1bdc Mainboard.o
0x0000105c _ZN3CanI3SpiIN6avrlib5portbELi4ELi3ELi2ELi1ELi1E4UartILm9600EEES4_E8init_canEv
.text._ZN3CanI3SpiIN6avrlib5portbELi4ELi3ELi2ELi1ELi1E4UartILm9600EEES4_EC2Ev
0x00002c38 0x78 Mainboard.o
0x00002c38 _ZN3CanI3SpiIN6avrlib5portbELi4ELi3ELi2ELi1ELi1E4UartILm9600EEES4_EC2Ev
0x00002c38 _ZN3CanI3SpiIN6avrlib5portbELi4ELi3ELi2ELi1ELi1E4UartILm9600EEES4_EC1Ev
.text.startup._GLOBAL__sub_I_l
0x00000480 0x34 Mainboard.o
.text._ZN5Rs232C2Ev
0x000004b4 0x18 Rs232.o
0x000004b4 _ZN5Rs232C2Ev
0x000004b4 _ZN5Rs232C1Ev
.text._ZN5Rs2324sendEPKc
0x000004cc 0x1e Rs232.o
0x000004cc _ZN5Rs2324sendEPKc
.text._ZN3Spi9init_portEv
0x000004ea 0x1c Spi.o
0x000004ea _ZN3Spi9init_portEv
.text._ZN3Spi4initEv
0x00000506 0x1e Spi.o
0x00000506 _ZN3Spi4initEv
.text._ZN3SpiC2Eh
0x00000524 0xa Spi.o
0x00000524 _ZN3SpiC1Eh
0x00000524 _ZN3SpiC2Eh
.text._ZN3Spi5CSOffEv
0x0000052e 0x6 Spi.o
0x0000052e _ZN3Spi5CSOffEv
.text._ZN3Spi4CSOnEv
0x00000534 0x6 Spi.o
0x00000534 _ZN3Spi4CSOnEv
.text._ZN3Spi9send_softEh
0x0000053a 0x42 Spi.o
0x0000053a _ZN3Spi9send_softEh
.text._ZN3Spi4sendEh
0x0000057c 0x18 Spi.o
0x0000057c _ZN3Spi4sendEh
.text.libgcc 0x00000594 0xc c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_tablejump.o)
0x00000594 __tablejump2__
0x00000598 __tablejump__
0x000005a0 . = ALIGN (0x2)
0x00002cb0 0x44 Mainboard.o
.text.libgcc 0x00002cf4 0xc c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_tablejump.o)
0x00002cf4 __tablejump2__
0x00002cf8 __tablejump__
.text.avr-libc
0x00002d00 0x44 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(sprintf.o)
0x00002d00 sprintf
.text.avr-libc
0x00002d44 0x3bc c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(vfprintf_std.o)
0x00002d44 vfprintf
.text.avr-libc
0x00003100 0x16 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(strnlen_P.o)
0x00003100 strnlen_P
.text.avr-libc
0x00003116 0x16 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(strnlen.o)
0x00003116 strnlen
.text.avr-libc
0x0000312c 0x58 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(fputc.o)
0x0000312c fputc
.text.avr-libc
0x00003184 0xc0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(ultoa_invert.o)
0x00003184 __ultoa_invert
.text.libgcc.mul
0x00003244 0x12 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_mulqi3.o)
0x00003244 __mulqi3
.text.libgcc.prologue
0x00003256 0x38 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_prologue.o)
0x00003256 __prologue_saves__
.text.libgcc.prologue
0x0000328e 0x36 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_epilogue.o)
0x0000328e __epilogue_restores__
0x000032c4 . = ALIGN (0x2)
*(.fini9)
.fini9 0x000005a0 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_exit.o)
0x000005a0 _exit
0x000005a0 exit
.fini9 0x000032c4 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_exit.o)
0x000032c4 _exit
0x000032c4 exit
*(.fini9)
*(.fini8)
*(.fini8)
@ -389,54 +435,60 @@ LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8
*(.fini1)
*(.fini1)
*(.fini0)
.fini0 0x000005a0 0x4 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_exit.o)
.fini0 0x000032c4 0x4 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_exit.o)
*(.fini0)
0x000005a4 _etext = .
0x000032c8 _etext = .
.data 0x00800100 0x6 load address 0x000005a4
.data 0x00800100 0x42 load address 0x000032c8
0x00800100 PROVIDE (__data_start, .)
*(.data)
.data 0x00800100 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35/crtm32u2.o
.data 0x00800100 0x0 Can.o
.data 0x00800100 0x0 Led.o
.data 0x00800100 0x0 Mainboard.o
.data 0x00800100 0x0 Rs232.o
.data 0x00800100 0x0 Spi.o
.data 0x00800100 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_exit.o)
.data 0x00800100 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_copy_data.o)
.data 0x00800100 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_clear_bss.o)
.data 0x00800100 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_ctors.o)
.data 0x00800100 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_tablejump.o)
.data 0x00800100 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(sprintf.o)
.data 0x00800100 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(vfprintf_std.o)
.data 0x00800100 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(strnlen_P.o)
.data 0x00800100 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(strnlen.o)
.data 0x00800100 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(fputc.o)
.data 0x00800100 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(ultoa_invert.o)
.data 0x00800100 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_mulqi3.o)
.data 0x00800100 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_prologue.o)
.data 0x00800100 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_epilogue.o)
*(.data*)
*(.rodata)
*(.rodata*)
.rodata.str1.1
0x00800100 0x5 Mainboard.o
0x00800100 0x41 Mainboard.o
*(.gnu.linkonce.d*)
0x00800106 . = ALIGN (0x2)
*fill* 0x00800105 0x1
0x00800106 _edata = .
0x00800106 PROVIDE (__data_end, .)
0x00800142 . = ALIGN (0x2)
*fill* 0x00800141 0x1
0x00800142 _edata = .
0x00800142 PROVIDE (__data_end, .)
.bss 0x00800106 0x3
0x00800106 PROVIDE (__bss_start, .)
.bss 0x00800142 0x5
0x00800142 PROVIDE (__bss_start, .)
*(.bss)
.bss 0x00800106 0x3 Mainboard.o
0x00800106 c
0x00800107 r
0x00800108 l
.bss 0x00800142 0x5 Mainboard.o
0x00800142 c
0x00800144 s
0x00800145 u
0x00800146 l
*(.bss*)
*(COMMON)
0x00800109 PROVIDE (__bss_end, .)
0x000005a4 __data_load_start = LOADADDR (.data)
0x000005aa __data_load_end = (__data_load_start + SIZEOF (.data))
0x00800147 PROVIDE (__bss_end, .)
0x000032c8 __data_load_start = LOADADDR (.data)
0x0000330a __data_load_end = (__data_load_start + SIZEOF (.data))
.noinit 0x00800109 0x0
0x00800109 PROVIDE (__noinit_start, .)
.noinit 0x00800147 0x0
0x00800147 PROVIDE (__noinit_start, .)
*(.noinit*)
0x00800109 PROVIDE (__noinit_end, .)
0x00800109 _end = .
0x00800109 PROVIDE (__heap_start, .)
0x00800147 PROVIDE (__noinit_end, .)
0x00800147 _end = .
0x00800147 PROVIDE (__heap_start, .)
.eeprom 0x00810000 0x0
*(.eeprom*)
@ -457,13 +509,19 @@ LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8
.user_signatures
*(.user_signatures*)
.stab 0x00000000 0x6cc
.stab 0x00000000 0xc9c
*(.stab)
.stab 0x00000000 0x6cc c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35/crtm32u2.o
.stab 0x000006cc 0x9c c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(strnlen_P.o)
0xa8 (size before relaxing)
.stab 0x00000768 0x9c c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(strnlen.o)
0xa8 (size before relaxing)
.stab 0x00000804 0x498 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(ultoa_invert.o)
0x4a4 (size before relaxing)
.stabstr 0x00000000 0x82
.stabstr 0x00000000 0x1aa
*(.stabstr)
.stabstr 0x00000000 0x82 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35/crtm32u2.o
.stabstr 0x00000000 0x1aa c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35/crtm32u2.o
.stab.excl
*(.stab.excl)
@ -479,12 +537,11 @@ LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8
.comment 0x00000000 0x2f
*(.comment)
.comment 0x00000000 0x2f Can.o
.comment 0x00000000 0x2f Mainboard.o
0x30 (size before relaxing)
.comment 0x00000000 0x30 Led.o
.comment 0x00000000 0x30 Mainboard.o
.comment 0x00000000 0x30 Rs232.o
.comment 0x00000000 0x30 Spi.o
.comment 0x00000000 0x30 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(sprintf.o)
.comment 0x00000000 0x30 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(vfprintf_std.o)
.comment 0x00000000 0x30 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(fputc.o)
.debug
*(.debug)
@ -498,73 +555,66 @@ LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8
.debug_sfnames
*(.debug_sfnames)
.debug_aranges 0x00000000 0x130
.debug_aranges 0x00000000 0xd0
*(.debug_aranges)
.debug_aranges
0x00000000 0x58 Can.o
0x00000000 0x70 Mainboard.o
.debug_aranges
0x00000058 0x18 Led.o
0x00000070 0x20 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(sprintf.o)
.debug_aranges
0x00000070 0x28 Mainboard.o
0x00000090 0x20 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(vfprintf_std.o)
.debug_aranges
0x00000098 0x38 Rs232.o
.debug_aranges
0x000000d0 0x60 Spi.o
0x000000b0 0x20 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(fputc.o)
.debug_pubnames
*(.debug_pubnames)
.debug_info 0x00000000 0x31fa
.debug_info 0x00000000 0x15054
*(.debug_info)
.debug_info 0x00000000 0xdec Can.o
.debug_info 0x00000dec 0x5d Led.o
.debug_info 0x00000e49 0xf68 Mainboard.o
.debug_info 0x00001db1 0x27a Rs232.o
.debug_info 0x0000202b 0x11cf Spi.o
.debug_info 0x00000000 0x14793 Mainboard.o
.debug_info 0x00014793 0x204 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(sprintf.o)
.debug_info 0x00014997 0x549 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(vfprintf_std.o)
.debug_info 0x00014ee0 0x174 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(fputc.o)
*(.gnu.linkonce.wi.*)
.debug_abbrev 0x00000000 0xc55
.debug_abbrev 0x00000000 0x909
*(.debug_abbrev)
.debug_abbrev 0x00000000 0x354 Can.o
.debug_abbrev 0x00000354 0x31 Led.o
.debug_abbrev 0x00000385 0x414 Mainboard.o
.debug_abbrev 0x00000799 0x15b Rs232.o
.debug_abbrev 0x000008f4 0x361 Spi.o
.debug_abbrev 0x00000000 0x518 Mainboard.o
.debug_abbrev 0x00000518 0x12a c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(sprintf.o)
.debug_abbrev 0x00000642 0x1d6 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(vfprintf_std.o)
.debug_abbrev 0x00000818 0xf1 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(fputc.o)
.debug_line 0x00000000 0x88d
.debug_line 0x00000000 0x2342
*(.debug_line)
.debug_line 0x00000000 0x2be Can.o
.debug_line 0x000002be 0x2c Led.o
.debug_line 0x000002ea 0x1f6 Mainboard.o
.debug_line 0x000004e0 0x122 Rs232.o
.debug_line 0x00000602 0x28b Spi.o
.debug_line 0x00000000 0x1e1c Mainboard.o
.debug_line 0x00001e1c 0x14e c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(sprintf.o)
.debug_line 0x00001f6a 0x2fe c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(vfprintf_std.o)
.debug_line 0x00002268 0xda c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(fputc.o)
.debug_frame 0x00000000 0x2d8
.debug_frame 0x00000000 0x1c8
*(.debug_frame)
.debug_frame 0x00000000 0x180 Can.o
.debug_frame 0x00000180 0x54 Mainboard.o
.debug_frame 0x000001d4 0x54 Rs232.o
.debug_frame 0x00000228 0xb0 Spi.o
.debug_frame 0x00000000 0x114 Mainboard.o
.debug_frame 0x00000114 0x30 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(sprintf.o)
.debug_frame 0x00000144 0x4c c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(vfprintf_std.o)
.debug_frame 0x00000190 0x38 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(fputc.o)
.debug_str 0x00000000 0xf02
.debug_str 0x00000000 0x143d
*(.debug_str)
.debug_str 0x00000000 0x38b Can.o
0x3e3 (size before relaxing)
.debug_str 0x0000038b 0xd Led.o
0xc7 (size before relaxing)
.debug_str 0x00000398 0x618 Mainboard.o
0x9d0 (size before relaxing)
.debug_str 0x000009b0 0x22 Rs232.o
0x14b (size before relaxing)
.debug_str 0x000009d2 0x530 Spi.o
0x757 (size before relaxing)
.debug_str 0x00000000 0x128e Mainboard.o
0x12fc (size before relaxing)
.debug_str 0x0000128e 0xa3 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(sprintf.o)
0x127 (size before relaxing)
.debug_str 0x00001331 0xbf c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(vfprintf_std.o)
0x198 (size before relaxing)
.debug_str 0x000013f0 0x4d c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(fputc.o)
0xf8 (size before relaxing)
.debug_loc 0x00000000 0xc7f
.debug_loc 0x00000000 0x6e36
*(.debug_loc)
.debug_loc 0x00000000 0x6ea Can.o
.debug_loc 0x000006ea 0xf5 Mainboard.o
.debug_loc 0x000007df 0x8a Rs232.o
.debug_loc 0x00000869 0x416 Spi.o
.debug_loc 0x00000000 0x6807 Mainboard.o
.debug_loc 0x00006807 0x21 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(sprintf.o)
.debug_loc 0x00006828 0x51b c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(vfprintf_std.o)
.debug_loc 0x00006d43 0xf3 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(fputc.o)
.debug_macinfo
*(.debug_macinfo)
@ -572,12 +622,12 @@ LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8
.debug_pubtypes
*(.debug_pubtypes)
.debug_ranges 0x00000000 0x120
.debug_ranges 0x00000000 0x3860
*(.debug_ranges)
.debug_ranges 0x00000000 0x90 Can.o
.debug_ranges 0x00000090 0x18 Mainboard.o
.debug_ranges 0x000000a8 0x28 Rs232.o
.debug_ranges 0x000000d0 0x50 Spi.o
.debug_ranges 0x00000000 0x3830 Mainboard.o
.debug_ranges 0x00003830 0x10 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(sprintf.o)
.debug_ranges 0x00003840 0x10 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(vfprintf_std.o)
.debug_ranges 0x00003850 0x10 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(fputc.o)
.debug_macro
*(.debug_macro)

View File

@ -6,89 +6,815 @@ S11300300C9463000C9463000C9463000C946300B0
S11300400C9463000C9463000C9463000C946300A0
S11300500C9463000C9463000C9463000C94630090
S11300600C9463000C9463000C9463000C94630080
S11300700C946300400211241FBECFEFD4E0DEBF16
S1130080CDBF11E0A0E0B1E0E4EAF5E002C00590E4
S11300900D92A630B107D9F721E0A6E0B1E001C086
S11300A01D92A930B207E1F710E0C6E7D0E004C022
S11300B02297FE010E94CC02C437D107C9F70E94DF
S11300C0F9010C94D0020C940000FF920F931F933B
S11300D0CF93DF931F92CDB7DEB7F82E092F162FDB
S11300E049830E949A0262E08F2D902F0E94BE02E3
S11300F0612F8F2D902F0E94BE024981642F8F2D76
S1130100902F0E94BE028F2D902F0F90DF91CF91E0
S11301101F910F91FF900C949702CF93DF93D82FE8
S1130120C92F0E949A0260EC8D2F9C2F0E94BE0260
S11301308FE99FE00197F1F700C000008D2F9C2FFD
S11301400E9497028FE39CE90197F1F700C0000039
S113015047E06AE28D2F9C2F0E94650040E969E226
S11301608D2F9C2F0E94650042E068E28D2F9C2F0A
S11301700E94650043E06BE28D2F9C2F0E94650076
S113018040E660E68D2F9C2F0E94650040E660E704
S11301908D2F9C2F0E94650040E060E28D2F9C2FE4
S11301A00E94650040E061E28D2F9C2F0E94650053
S11301B040E062E28D2F9C2F0E94650040E063E2E4
S11301C08D2F9C2F0E94650040E064E28D2F9C2FB0
S11301D00E94650040E065E28D2F9C2F0E9465001F
S11301E040E066E28D2F9C2F0E94650040E067E2AC
S11301F08D2F9C2F0E94650040E06CE08D2F9C2F7A
S1130200DF91CF910C946500FC0160830C948D0008
S1130210FF920F931F93CF93DF9300D0CDB7DEB738
S1130220F82E092F162F2A8349830E949A0265E02B
S11302308F2D902F0E94BE02612F8F2D902F0E9430
S1130240BE024981642F8F2D902F0E94BE022A8105
S1130250622F8F2D902F0E94BE028F2D902F0F9012
S11302600F90DF91CF911F910F91FF900C94970203
S11302701F93CF93DF93D82FC92F0E949A0260EB6C
S11302808D2F9C2F0E94BE026FEF8D2F9C2F0E94FA
S1130290BE02182F6FEF8D2F9C2F0E94BE028D2F50
S11302A09C2F0E949702812FDF91CF911F91089577
S11302B09F92AF92BF92CF92DF92EF92FF920F93F1
S11302C01F93CF93DF931F92CDB7DEB75C016B0111
S11302D00E943801982E8983898186FD11C0898105
S11302E087FD7FC08FEF0F90DF91CF911F910F910A
S11302F0FF90EF90DF90CF90BF90AF909F900895C4
S1130300C5010E949A0260E9C5010E94BE026FEF16
S1130310C5010E94BE02282F30E0220F331F220F96
S1130320331F220F331FF601318320836FEFC50182
S11303300E94BE02482F50E056954795529542952B
S11303404F7045275F704527F60120813181242BAA
S1130350352B318320836FEFC5010E94BE026FEFFE
S1130360C5010E94BE026FEFC5010E94BE028F70DC
S1130370F60183838823A1F086010C5F1F4F760169
S1130380F5E0EF0EF11C8150E80EF11C6FEFC50192
S11303900E94BE02F80181938F01EE15FF05B1F7AB
S11303A0C5010E949702898183FD0EC0F601128265
S11303B0898120E086FF0FC041E06CE2C5010E9404
S11303C00801892D87708FCF81E0F60182838981AE
S11303D020E086FDF1CF42E06CE2C5010E940801F5
S11303E0F0CFC5010E949A0264E9C5010E94BE02D1
S11303F08ECFCF93DF93CDB7DEB72C970FB6F8949B
S1130400DEBF0FBECDBF47983F9A469A3E9A459AA3
S11304103D9A60E071E087E091E00E94660283E229
S113042091E09A8389831B8282E08C838FEA8D8397
S11304308EEF8E8309C02FEF83ED90E3215080402F
S11304409040E1F700C000002FEF81EE94E02150CE
S113045080409040E1F700C00000BE016F5F7F4F15
S113046086E091E00E9458018F3F29F72FEF81EE3B
S113047094E0215080409040E1F700C00000E4CFB8
S1130480CF93DF931F92CDB7DEB73D9A3E9A3F9A42
S113049087E091E00E945A0260E0CE0101960E943A
S11304A09202698186E091E00E9404010F90DF913D
S11304B0CF91089586E08093CA00E9ECF0E0808152
S11304C08860808387E68093CC000895FB01908147
S11304D0992351F031968091C80085FFFCCF909309
S11304E0CE0091919111F7CF0895229A2A98229AD9
S11304F0219A2998219A249A2C9A249A23982B9801
S11305002B98239A0895CF93DF93EC010E947502F0
S11305108881811104C080E58CBD81E08DBDDF91AF
S1130520CF91089521E0FC0120830C9483022C9A3E
S1130530249A08952C98249A089598E080E015C090
S11305402A98229A25E02A95F1F700001B998160E8
S113055025E02A95F1F70000299A219A2AE02A95A4
S1130560F1F700C0660F915041F0880F2998219A45
S113057067FFE6CF2A9A229AE5CF0895FC012081ED
S1130580211106C06EBD0DB407FEFDCF8EB50895D2
S11305900C949D02EE0FFF1F0590F491E02D099439
S10705A0F894FFCFF9
S10905A4626C610A000014
S11300700C946300581611241FBECFEFD4E0DEBFEA
S1130080CDBF11E0A0E0B1E0E8ECF2E302C00590DE
S11300900D92A234B107D9F721E0A2E4B1E001C086
S11300A01D92A734B207E1F710E0C6E7D0E004C020
S11300B02297FE010E947C16C437D107C9F70E941B
S11300C065000C9462190C940000CF93DF93CDB7B4
S11300D0DEB7E4970FB6F894DEBF0FBECDBF2D9800
S11300E0259A2E9A269A2F9A279AE1E0F1E089E43C
S11300F09091C80095FFFCCF8093CE00819181112F
S1130100F7CF8E010F5F1F4F9DE1C92E91E0D92ECD
S113011027E2E22E21E0F22EBB24BA942D98259AF0
S11301202E9A269A2F98279A2AEA36EE46E981E0F3
S11301302150304040408040D9F70000EEE0F1E02B
S11301409EE48091C80085FFFCCF9093CE009191EE
S11301509111F7CF2C98249A1F9280EB8F93DF9202
S1130160CF921F930F930E94801699810F900F9046
S11301700F900F900F900F90992359F0FE01329633
S11301808091C80085FFFCCF9093CE00919191118E
S1130190F7CF28E090EB80E015C02A98229A35E04A
S11301A03A95F1F700001B99816045E04A95F1F713
S11301B00000299A219A3AE03A95F1F700C0990F84
S11301C0215041F0880F2998219A97FFE6CF2A9A67
S11301D0229AE5CF1F928F93FF92EF921F930F9372
S11301E00E94801699810F900F900F900F900F909E
S11301F00F90992359F0FE0132968091C80085FF33
S1130200FCCF9093CE0091919111F7CF1F92BF92A2
S1130210DF92CF921F930F930E94801699810F90C3
S11302200F900F900F900F900F90992359F0FE01AB
S113023032968091C80085FFFCCF9093CE009191B7
S11302409111F7CF98E08FEF20E015C02A98229AF9
S113025045E04A95F1F700001B99216035E03A9595
S1130260F1F70000299A219A4AE04A95F1F700C073
S1130270880F915041F0220F2998219A87FFE6CFE9
S11302802A9A229AE5CF1F922F93FF92EF921F93FF
S11302900F932CAB0E94801699810F900F900F90B2
S11302A00F900F900F902CA9992359F0FE013296CC
S11302B08091C80085FFFCCF9093CE00919191115D
S11302C0F7CF1F92BF92DF92CF921F930F932CAB65
S11302D00E94801699810F900F900F900F900F90AD
S11302E00F902CA9992359F0FE0132968091C800F1
S11302F085FFFCCF9093CE0091919111F7CF38E018
S11303009FEF80E015C02A98229A45E04A95F1F7BC
S113031000001B99816045E04A95F1F70000299A95
S1130320219A4AE04A95F1F700C0990F315041F003
S1130330880F2998219A97FFE6CF2A9A229AE5CF27
S11303401F928F93FF92EF921F930F932CAB0E94F7
S1130350801699810F900F900F900F900F900F902F
S11303602CA9992359F0FE0132968091C80085FF8B
S1130370FCCF9093CE0091919111F7CF2C9A249AAF
S11303802BAB8BA986FD13C08BA987FD69C52D985E
S1130390259A2E98269A2F9A279A3FEF41EE84E0C9
S11303A0315040408040E1F700C00000B7CE2C98A7
S11303B0249A1F9280E98F93DF92CF921F930F9319
S11303C00E94801699810F900F900F900F900F90BC
S11303D00F90992359F0FE0132968091C80085FF51
S11303E0FCCF9093CE0091919111F7CF28E090E942
S11303F080E015C02A98229A35E03A95F1F700007A
S11304001B99816045E04A95F1F70000299A219AE9
S11304103AE03A95F1F700C0990F215041F0880F66
S11304202998219A97FFE6CF2A9A229AE5CF1F921C
S11304308F93FF92EF921F930F930E9480169981DE
S11304400F900F900F900F900F900F90992359F0E9
S1130450FE0132968091C80085FFFCCF9093CE00B8
S113046091919111F7CF1F92BF92DF92CF921F9378
S11304700F930E94801699810F900F900F900F9008
S11304800F900F90992359F0FE0132968091C80085
S113049085FFFCCF9093CE0091919111F7CF28E086
S11304A09FEF80E015C02A98229A35E03A95F1F73B
S11304B000001B99816045E04A95F1F70000299AF4
S11304C0219A3AE03A95F1F700C0990F215041F092
S11304D0880F2998219A97FFE6CF2A9A229AE5CF86
S11304E01F928F93FF92EF921F930F930E94801697
S11304F099810F900F900F900F900F900F90992368
S113050059F0FE0132968091C80085FFFCCF90938C
S1130510CE0091919111F7CF1F92BF92DF92CF92AB
S11305201F930F930E94801699810F900F900F9044
S11305300F900F900F90992359F0FE0132968091FD
S1130540C80085FFFCCF9093CE0091919111F7CF15
S113055028E09FEF80E015C02A98229A45E04A954A
S1130560F1F700001B99816035E03A95F1F700003E
S1130570299A219A4AE04A95F1F700C0990F21502F
S113058041F0880F2998219A97FFE6CF2A9A229A58
S1130590E5CF1F928F93FF92EF921F930F930E94C8
S11305A0801699810F900F900F900F900F900F90DD
S11305B0992359F0FE0132968091C80085FFFCCF43
S11305C09093CE0091919111F7CF1F92BF92DF9239
S11305D0CF921F930F930E94801699810F900F90D2
S11305E00F900F900F900F90992359F0FE013296BF
S11305F08091C80085FFFCCF9093CE00919191111A
S1130600F7CF28E09FEF80E015C02A98229A35E0C2
S11306103A95F1F700001B99816045E04A95F1F79E
S11306200000299A219A3AE03A95F1F700C0990F0F
S1130630215041F0880F2998219A97FFE6CF2A9AF2
S1130640229AE5CF1F928F93FF92EF921F930F93FD
S11306500E94801699810F900F900F900F900F9029
S11306600F90992359F0FE0132968091C80085FFBE
S1130670FCCF9093CE0091919111F7CF1F92BF922E
S1130680DF92CF921F930F930E94801699810F904F
S11306900F900F900F900F900F90992359F0FE0137
S11306A032968091C80085FFFCCF9093CE00919143
S11306B09111F7CF28E09FEF80E015C02A98229A85
S11306C045E04A95F1F700001B99816035E03A95C1
S11306D0F1F70000299A219A4AE04A95F1F700C0FF
S11306E0990F215041F0880F2998219A97FFE6CF5E
S11306F02A9A229AE5CF1F928F93FF92EF921F932B
S11307000F930E94801699810F900F900F900F9075
S11307100F900F90992359F0FE0132968091C800F2
S113072085FFFCCF9093CE0091919111F7CF1F924A
S1130730BF92DF92CF921F930F930E9480169981EC
S11307400F900F900F900F900F900F90992359F0E6
S1130750FE0132968091C80085FFFCCF9093CE00B5
S113076091919111F7CF98E08FEF20E015C02A986E
S1130770229A35E03A95F1F700001B99216045E093
S11307804A95F1F70000299A219A3AE03A95F1F74F
S113079000C0880F915041F0220F2998219A87FFB9
S11307A0E6CF2A9A229AE5CF1F922F93FF92EF92D7
S11307B01F930F932CAB0E94801699810F900F907A
S11307C00F900F900F900F902CA9992359F0FE01D0
S11307D032968091C80085FFFCCF9093CE00919112
S11307E09111F7CF8FE0982E922209F45DC0A12CCD
S11307F01F92BF92DF92CF921F930F930E94801695
S113080099810F900F900F900F900F900F90992354
S113081059F0FE0132968091C80085FFFCCF909379
S1130820CE0091919111F7CF28E09FEF80E015C0A1
S11308302A98229A45E04A95F1F700001B998160B5
S113084035E03A95F1F70000299A219A4AE04A9551
S1130850F1F700C0990F215041F0880F2998219A8F
S113086097FFE6CF2A9A229AE5CF1F928F93FF92A1
S1130870EF921F930F930E94801699810F900F900F
S11308800F900F900F900F90992359F0FE0132961C
S11308908091C80085FFFCCF9093CE009191911177
S11308A0F7CFA394A910A4CF2C9A249A8BA98BA92F
S11308B086FF73C12C98249A1F9285E08F93DF9250
S11308C0CF921F930F930E94801699810F900F90DF
S11308D00F900F900F900F90992359F0FE013296CC
S11308E08091C80085FFFCCF9093CE009191911127
S11308F0F7CF28E095E080E015C02A98229A35E0E9
S11309003A95F1F700001B99816045E04A95F1F7AB
S11309100000299A219A3AE03A95F1F700C0990F1C
S1130920215041F0880F2998219A97FFE6CF2A9AFF
S1130930229AE5CF1F928F93FF92EF921F930F930A
S11309400E94801699810F900F900F900F900F9036
S11309500F90992359F0FE0132968091C80085FFCB
S1130960FCCF9093CE0091919111F7CF1F928CE21E
S11309708F93DF92CF921F930F930E9480169981D9
S11309800F900F900F900F900F900F90992359F0A4
S1130990FE0132968091C80085FFFCCF9093CE0073
S11309A091919111F7CF28E09CE280E015C02A983C
S11309B0229A45E04A95F1F700001B99816035E0E1
S11309C03A95F1F70000299A219A4AE04A95F1F7FD
S11309D000C0990F215041F0880F2998219A97FF60
S11309E0E6CF2A9A229AE5CF1F928F93FF92EF9235
S11309F01F930F930E94801699810F900F900F9070
S1130A000F900F900F90992359F0FE013296809128
S1130A10C80085FFFCCF9093CE0091919111F7CF40
S1130A201F9281E08F93DF92CF921F930F930E94C6
S1130A30801699810F900F900F900F900F900F9048
S1130A40992359F0FE0132968091C80085FFFCCFAE
S1130A509093CE0091919111F7CF28E091E080E03E
S1130A6015C02A98229A35E03A95F1F700001B99AF
S1130A70816045E04A95F1F70000299A219A3AE00D
S1130A803A95F1F700C0990F215041F0880F299849
S1130A90219A97FFE6CF2A9A229AE5CF1F928F9345
S1130AA0FF92EF921F930F930E94801699810F90EB
S1130AB00F900F900F900F900F90992359F0FE0113
S1130AC032968091C80085FFFCCF9093CE0091911F
S1130AD09111F7CF1F921F92DF92CF921F930F9322
S1130AE00E94801699810F900F900F900F900F9095
S1130AF00F90992359F0FE0132968091C80085FF2A
S1130B00FCCF9093CE0091919111F7CF98E080E0C3
S1130B10880F2998219A2A98229A45E04A95F1F754
S1130B2000001B99816025E02A95F1F70000299ABD
S1130B30219A3AE03A95F1F700C0915049F71F9293
S1130B408F93FF92EF921F930F930E9480169981C7
S1130B500F900F900F900F900F900F90992359F0D2
S1130B60FE0132968091C80085FFFCCF9093CE00A1
S1130B7091919111F7CF2C9A249A2D9A259A2E9817
S1130B80269A2F98279A8FEF93ED20E38150904077
S1130B902040E1F700C00000C1CA2C98249A1F929B
S1130BA085E08F93DF92CF921F930F930E9480165C
S1130BB099810F900F900F900F900F900F909923A1
S1130BC059F0FE0132968091C80085FFFCCF9093C6
S1130BD0CE0091919111F7CF28E095E080E015C007
S1130BE02A98229A45E04A95F1F700001B99816002
S1130BF035E03A95F1F70000299A219A4AE04A959E
S1130C00F1F700C0990F215041F0880F2998219ADB
S1130C1097FFE6CF2A9A229AE5CF1F928F93FF92ED
S1130C20EF921F930F930E94801699810F900F905B
S1130C300F900F900F900F90992359F0FE01329668
S1130C408091C80085FFFCCF9093CE0091919111C3
S1130C50F7CF1F928CE28F93DF92CF921F930F9363
S1130C600E94801699810F900F900F900F900F9013
S1130C700F90992359F0FE0132968091C80085FFA8
S1130C80FCCF9093CE0091919111F7CF28E09CE294
S1130C9080E015C02A98229A35E03A95F1F70000D1
S1130CA01B99816045E04A95F1F70000299A219A41
S1130CB03AE03A95F1F700C0990F215041F0880FBE
S1130CC02998219A97FFE6CF2A9A229AE5CF1F9274
S1130CD08F93FF92EF921F930F930E948016998136
S1130CE00F900F900F900F900F900F90992359F041
S1130CF0FE0132968091C80085FFFCCF9093CE0010
S1130D0091919111F7CF1F9282E08F93DF92CF924E
S1130D101F930F930E94801699810F900F900F904C
S1130D200F900F900F90992359F0FE013296809105
S1130D30C80085FFFCCF9093CE0091919111F7CF1D
S1130D4028E092E080E015C02A98229A45E04A956E
S1130D50F1F700001B99816035E03A95F1F7000046
S1130D60299A219A4AE04A95F1F700C0990F215037
S1130D7041F0880F2998219A97FFE6CF2A9A229A60
S1130D80E5CF1F928F93FF92EF921F930F930E94D0
S1130D90801699810F900F900F900F900F900F90E5
S1130DA0992359F0FE0132968091C80085FFFCCF4B
S1130DB09093CE0091919111F7CF1F921F92DF92E1
S1130DC0CF921F930F930E94801699810F900F90DA
S1130DD00F900F900F900F90992359F0FE013296C7
S1130DE08091C80085FFFCCF9093CE009191911122
S1130DF0F7CF98E080E0880F2998219A2A98229AC0
S1130E0025E02A95F1F700001B99816035E03A95B9
S1130E10F1F70000299A219A4AE04A95F1F700C0B7
S1130E20915049F71F928F93FF92EF921F930F9364
S1130E300E94801699810F900F900F900F900F9041
S1130E400F90992309F497CEFE0132968091C80041
S1130E5085FFFCCF9093CE0091919111F7CF8BCE6B
S1130E602C98249A1F9284E98F93DF92CF921F9338
S1130E700F930E94801699810F900F900F900F90FE
S1130E800F900F90992359F0FE0132968091C8007B
S1130E9085FFFCCF9093CE0091919111F7CF28E07C
S1130EA094E980E015C02A98229A45E04A95F1F722
S1130EB000001B99816035E03A95F1F70000299A0A
S1130EC0219A4AE04A95F1F700C0990F215041F068
S1130ED0880F2998219A97FFE6CF2A9A229AE5CF7C
S1130EE01F928F93FF92EF921F930F930E9480168D
S1130EF099810F900F900F900F900F900F9099235E
S1130F0009F4B1CAFE0132968091C80085FFFCCF76
S1130F109093CE0091919111F7CFA5CA86E080936A
S1130F20CA008091C90088608093C90087E68093D5
S1130F30CC00E5E3F1E095E58091C80085FFFCCFA6
S1130F409093CE0091919111F7CF229A2A98229AE8
S1130F50219A2998219A249A2C9A249A23982B9896
S1130F602B98239A08950F931F93CF93DF93CDB7B4
S1130F70DEB7E3970FB6F894DEBF0FBECDBF1F9266
S1130F806F938DE191E09F938F938E010F5F1F4FBD
S1130F901F930F936BAB0E94801699810F900F9053
S1130FA00F900F900F900F906BA9992359F0FE01A9
S1130FB032968091C80085FFFCCF9093CE0091912A
S1130FC09111F7CF88E040E015C02A98229A95E065
S1130FD09A95F1F700001B99416095E09A95F1F715
S1130FE00000299A219A9AE09A95F1F700C0660FB9
S1130FF0815041F0440F2998219A67FFE6CF2A9A3D
S1131000229AE5CF1F924F9327E231E03F932F932B
S11310101F930F934BAB0E94801629810F900F9062
S11310200F900F900F900F904BA9222359F0FE01BF
S113103032969091C80095FFFCCF2093CE00219169
S11310402111F7CF842FE3960FB6F894DEBF0FBEBD
S1131050CDBFDF91CF911F910F910895EF92FF9231
S11310600F931F93CF93DF93CDB7DEB7E2970FB6FD
S1131070F894DEBF0FBECDBFF82EE92E2C98249A2B
S113108060EC0E94B3078FE99FE00197F1F700C07D
S113109000002C9A249A8FE39CE90197F1F700C091
S11310A000002C98249A62E08F2D9E2D0E94B30795
S11310B01F928AE28F938DE191E09F938F938E012B
S11310C00F5F1F4F1F930F930E94801699810F90FB
S11310D00F900F900F900F900F90992359F0FE01ED
S11310E032968091C80085FFFCCF9093CE009191F9
S11310F09111F7CF28E09AE280E015C02A98229A4D
S113110035E03A95F1F700001B99816035E03A9596
S1131110F1F70000299A219A3AE03A95F1F700C0D4
S1131120990F215041F0880F2998219A97FFE6CF13
S11311302A9A229AE5CF1F928F9387E291E09F9398
S11311408F931F930F930E94801699810F900F9095
S11311500F900F900F900F90992359F0FE01329643
S11311608091C80085FFFCCF9093CE00919191119E
S1131170F7CF1F9287E08F938DE191E09F938F9338
S11311801F930F930E94801699810F900F900F90D8
S11311900F900F900F90992359F0FE013296809191
S11311A0C80085FFFCCF9093CE0091919111F7CFA9
S11311B028E097E080E015C02A98229A35E03A9515
S11311C0F1F700001B99816035E03A95F1F70000D2
S11311D0299A219A3AE03A95F1F700C0990F2150E3
S11311E041F0880F2998219A97FFE6CF2A9A229AEC
S11311F0E5CF1F928F9387E291E09F938F931F9384
S11312000F930E94801699810F900F900F900F906A
S11312100F900F90992359F0FE0132968091C800E7
S113122085FFFCCF9093CE0091919111F7CF2C9A2A
S1131230249A2C98249A1F9282E08F938DE191E056
S11312409F938F931F930F930E94801699810F9001
S11312500F900F900F900F900F90992359F0FE016B
S113126032968091C80085FFFCCF9093CE00919177
S11312709111F7CF28E092E080E015C02A98229AD5
S113128035E03A95F1F700001B99816035E03A9515
S1131290F1F70000299A219A3AE03A95F1F700C053
S11312A0990F215041F0880F2998219A97FFE6CF92
S11312B02A9A229AE5CF1F928F9387E291E09F9317
S11312C08F931F930F930E94801699810F900F9014
S11312D00F900F900F900F90992359F0FE013296C2
S11312E08091C80085FFFCCF9093CE00919191111D
S11312F0F7CF1F9289E28F938DE191E09F938F93B3
S11313001F930F930E94801699810F900F900F9056
S11313100F900F900F90992359F0FE01329680910F
S1131320C80085FFFCCF9093CE0091919111F7CF27
S113133028E099E280E015C02A98229A35E03A958F
S1131340F1F700001B99816035E03A95F1F7000050
S1131350299A219A3AE03A95F1F700C0990F215061
S113136041F0880F2998219A97FFE6CF2A9A229A6A
S1131370E5CF1F928F9387E291E09F938F931F9302
S11313800F930E94801699810F900F900F900F90E9
S11313900F900F90992359F0FE0132968091C80066
S11313A085FFFCCF9093CE0091919111F7CF1F92BE
S11313B080E98F938DE191E09F938F931F930F9317
S11313C00E94801699810F900F900F900F900F90AC
S11313D00F90992359F0FE0132968091C80085FF41
S11313E0FCCF9093CE0091919111F7CF28E090E932
S11313F080E015C02A98229A35E03A95F1F700006A
S11314001B99816035E03A95F1F70000299A219AF9
S11314103AE03A95F1F700C0990F215041F0880F56
S11314202998219A97FFE6CF2A9A229AE5CF1F920C
S11314308F9387E291E09F938F931F930F930E9462
S1131440801699810F900F900F900F900F900F902E
S1131450992359F0FE0132968091C80085FFFCCF94
S11314609093CE0091919111F7CF2C9A249A2C98B5
S1131470249A1F9282E08F938DE191E09F938F9342
S11314801F930F930E94801699810F900F900F90D5
S11314900F900F900F90992359F0FE01329680918E
S11314A0C80085FFFCCF9093CE0091919111F7CFA6
S11314B028E092E080E015C02A98229A35E03A9517
S11314C0F1F700001B99816035E03A95F1F70000CF
S11314D0299A219A3AE03A95F1F700C0990F2150E0
S11314E041F0880F2998219A97FFE6CF2A9A229AE9
S11314F0E5CF1F928F9387E291E09F938F931F9381
S11315000F930E94801699810F900F900F900F9067
S11315100F900F90992359F0FE0132968091C800E4
S113152085FFFCCF9093CE0091919111F7CF1F923C
S113153088E28F938DE191E09F938F931F930F9394
S11315400E94801699810F900F900F900F900F902A
S11315500F90992359F0FE0132968091C80085FFBF
S1131560FCCF9093CE0091919111F7CF28E098E2AF
S113157080E015C02A98229A35E03A95F1F70000E8
S11315801B99816035E03A95F1F70000299A219A78
S11315903AE03A95F1F700C0990F215041F0880FD5
S11315A02998219A97FFE6CF2A9A229AE5CF1F928B
S11315B08F9387E291E09F938F931F930F930E94E1
S11315C0801699810F900F900F900F900F900F90AD
S11315D0992359F0FE0132968091C80085FFFCCF13
S11315E09093CE0091919111F7CF1F9282E08F9347
S11315F08DE191E09F938F931F930F930E94801628
S113160099810F900F900F900F900F900F90992346
S113161059F0FE0132968091C80085FFFCCF90936B
S1131620CE0091919111F7CF28E092E080E015C0AF
S11316302A98229A35E03A95F1F700001B998160C7
S113164035E03A95F1F70000299A219A3AE03A9563
S1131650F1F700C0990F215041F0880F2998219A81
S113166097FFE6CF2A9A229AE5CF1F928F9387E2BB
S113167091E09F938F931F930F930E9480169981FB
S11316800F900F900F900F900F900F90992359F097
S1131690FE0132968091C80085FFFCCF9093CE0066
S11316A091919111F7CF2C9A249A2C98249A1F92F5
S11316B082E08F938DE191E09F938F931F930F931B
S11316C00E94801699810F900F900F900F900F90A9
S11316D00F90992359F0FE0132968091C80085FF3E
S11316E0FCCF9093CE0091919111F7CF28E092E036
S11316F080E015C02A98229A35E03A95F1F7000067
S11317001B99816035E03A95F1F70000299A219AF6
S11317103AE03A95F1F700C0990F215041F0880F53
S11317202998219A97FFE6CF2A9A229AE5CF1F9209
S11317308F9387E291E09F938F931F930F930E945F
S1131740801699810F900F900F900F900F900F902B
S1131750992359F0FE0132968091C80085FFFCCF91
S11317609093CE0091919111F7CF1F928BE28F93BA
S11317708DE191E09F938F931F930F930E948016A6
S113178099810F900F900F900F900F900F909923C5
S113179059F0FE0132968091C80085FFFCCF9093EA
S11317A0CE0091919111F7CF28E09BE280E015C023
S11317B02A98229A35E03A95F1F700001B99816046
S11317C035E03A95F1F70000299A219A3AE03A95E2
S11317D0F1F700C0990F215041F0880F2998219A00
S11317E097FFE6CF2A9A229AE5CF1F928F9387E23A
S11317F091E09F938F931F930F930E94801699817A
S11318000F900F900F900F900F900F90992359F015
S1131810FE0132968091C80085FFFCCF9093CE00E4
S113182091919111F7CF1F9283E08F938DE191E015
S11318309F938F931F930F930E94801699810F900B
S11318400F900F900F900F900F90992359F0FE0175
S113185032968091C80085FFFCCF9093CE00919181
S11318609111F7CF28E093E080E015C02A98229ADE
S113187035E03A95F1F700001B99816035E03A951F
S1131880F1F70000299A219A3AE03A95F1F700C05D
S1131890990F215041F0880F2998219A97FFE6CF9C
S11318A02A9A229AE5CF1F928F9387E291E09F9321
S11318B08F931F930F930E94801699810F900F901E
S11318C00F900F900F900F90992359F0FE013296CC
S11318D08091C80085FFFCCF9093CE009191911127
S11318E0F7CF2C9A249A2C98249A1F9282E08F93F3
S11318F08DE191E09F938F931F930F930E94801625
S113190099810F900F900F900F900F900F90992343
S113191059F0FE0132968091C80085FFFCCF909368
S1131920CE0091919111F7CF28E092E080E015C0AC
S11319302A98229A35E03A95F1F700001B998160C4
S113194035E03A95F1F70000299A219A3AE03A9560
S1131950F1F700C0990F215041F0880F2998219A7E
S113196097FFE6CF2A9A229AE5CF1F928F9387E2B8
S113197091E09F938F931F930F930E9480169981F8
S11319800F900F900F900F900F900F90992359F094
S1131990FE0132968091C80085FFFCCF9093CE0063
S11319A091919111F7CF1F9280E68F938DE191E091
S11319B09F938F931F930F930E94801699810F908A
S11319C00F900F900F900F900F90992359F0FE01F4
S11319D032968091C80085FFFCCF9093CE00919100
S11319E09111F7CF28E090E680E015C02A98229A5A
S11319F035E03A95F1F700001B99816035E03A959E
S1131A00F1F70000299A219A3AE03A95F1F700C0DB
S1131A10990F215041F0880F2998219A97FFE6CF1A
S1131A202A9A229AE5CF1F928F9387E291E09F939F
S1131A308F931F930F930E94801699810F900F909C
S1131A400F900F900F900F90992359F0FE0132964A
S1131A508091C80085FFFCCF9093CE0091919111A5
S1131A60F7CF1F9280E68F938DE191E09F938F9340
S1131A701F930F930E94801699810F900F900F90DF
S1131A800F900F900F90992359F0FE013296809198
S1131A90C80085FFFCCF9093CE0091919111F7CFB0
S1131AA028E090E680E015C02A98229A35E03A951D
S1131AB0F1F700001B99816035E03A95F1F70000D9
S1131AC0299A219A3AE03A95F1F700C0990F2150EA
S1131AD041F0880F2998219A97FFE6CF2A9A229AF3
S1131AE0E5CF1F928F9387E291E09F938F931F938B
S1131AF00F930E94801699810F900F900F900F9072
S1131B000F900F90992359F0FE0132968091C800EE
S1131B1085FFFCCF9093CE0091919111F7CF2C9A31
S1131B20249A2C98249A62E08F2D9E2D0E94B3074C
S1131B301F9280E78F938DE191E09F938F931F9382
S1131B400F930E94801699810F900F900F900F9021
S1131B500F900F90992359F0FE0132968091C8009E
S1131B6085FFFCCF9093CE0091919111F7CF28E09F
S1131B7090E780E015C02A98229A35E03A95F1F76B
S1131B8000001B99816035E03A95F1F70000299A2D
S1131B90219A3AE03A95F1F700C0990F215041F0AB
S1131BA0880F2998219A97FFE6CF2A9A229AE5CF9F
S1131BB01F928F9387E291E09F938F931F930F93CC
S1131BC00E94801699810F900F900F900F900F90A4
S1131BD00F90992359F0FE0132968091C80085FF39
S1131BE0FCCF9093CE0091919111F7CF1F9280E694
S1131BF08F938DE191E09F938F931F930F930E9496
S1131C00801699810F900F900F900F900F900F9066
S1131C10992359F0FE0132968091C80085FFFCCFCC
S1131C209093CE0091919111F7CF28E090E680E057
S1131C3015C02A98229A35E03A95F1F700001B99CD
S1131C40816035E03A95F1F70000299A219A3AE04B
S1131C503A95F1F700C0990F215041F0880F299867
S1131C60219A97FFE6CF2A9A229AE5CF1F928F9363
S1131C7087E291E09F938F931F930F930E948016A6
S1131C8099810F900F900F900F900F900F909923C0
S1131C9059F0FE0132968091C80085FFFCCF9093E5
S1131CA0CE0091919111F7CF2C9A249A2C98249AD2
S1131CB062E08F2D9E2D0E94B30760E28F2D9E2D32
S1131CC00E94B30760E08F2D9E2D0E94B3072C9ACB
S1131CD0249A2C98249A62E08F2D9E2D0E94B3079B
S1131CE061E28F2D9E2D0E94B30760E08F2D9E2D03
S1131CF00E94B3072C9A249A2C98249A1F9282E06B
S1131D008F938DE191E09F938F931F930F930E9484
S1131D10801699810F900F900F900F900F900F9055
S1131D20992359F0FE0132968091C80085FFFCCFBB
S1131D309093CE0091919111F7CF28E092E080E04A
S1131D4015C02A98229A35E03A95F1F700001B99BC
S1131D50816035E03A95F1F70000299A219A3AE03A
S1131D603A95F1F700C0990F215041F0880F299856
S1131D70219A97FFE6CF2A9A229AE5CF1F928F9352
S1131D8087E291E09F938F931F930F930E94801695
S1131D9099810F900F900F900F900F900F909923AF
S1131DA059F0FE0132968091C80085FFFCCF9093D4
S1131DB0CE0091919111F7CF1F9282E28F938DE122
S1131DC091E09F938F931F930F930E9480169981A4
S1131DD00F900F900F900F900F900F90992359F040
S1131DE0FE0132968091C80085FFFCCF9093CE000F
S1131DF091919111F7CF28E092E280E015C02A98E2
S1131E00229A35E03A95F1F700001B99816035E09C
S1131E103A95F1F70000299A219A3AE03A95F1F7B8
S1131E2000C0990F215041F0880F2998219A97FFFB
S1131E30E6CF2A9A229AE5CF1F928F9387E291E008
S1131E409F938F931F930F930E94801699810F90F5
S1131E500F900F900F900F900F90992359F0FE015F
S1131E6032968091C80085FFFCCF9093CE0091916B
S1131E709111F7CF1F921F928DE191E09F938F9361
S1131E801F930F930E94801699810F900F900F90CB
S1131E900F900F900F90992359F0FE013296809184
S1131EA0C80085FFFCCF9093CE0091919111F7CF9C
S1131EB098E080E0880F2998219A2A98229A25E0B0
S1131EC02A95F1F700001B99816035E03A95F1F706
S1131ED00000299A219A2AE02A95F1F700C091502E
S1131EE049F71F928F9387E291E09F938F931F93FB
S1131EF00F930E94801699810F900F900F900F906E
S1131F000F900F90992359F0FE0132968091C800EA
S1131F1085FFFCCF9093CE0091919111F7CF2C9A2D
S1131F20249A2C98249A1F9282E08F938DE191E059
S1131F309F938F931F930F930E94801699810F9004
S1131F400F900F900F900F900F90992359F0FE016E
S1131F5032968091C80085FFFCCF9093CE0091917A
S1131F609111F7CF28E092E080E015C02A98229AD8
S1131F7035E03A95F1F700001B99816035E03A9518
S1131F80F1F70000299A219A3AE03A95F1F700C056
S1131F90990F215041F0880F2998219A97FFE6CF95
S1131FA02A9A229AE5CF1F928F9387E291E09F931A
S1131FB08F931F930F930E94801699810F900F9017
S1131FC00F900F900F900F90992359F0FE013296C5
S1131FD08091C80085FFFCCF9093CE009191911120
S1131FE0F7CF1F9283E28F938DE191E09F938F93BC
S1131FF01F930F930E94801699810F900F900F905A
S11320000F900F900F90992359F0FE013296809112
S1132010C80085FFFCCF9093CE0091919111F7CF2A
S113202028E093E280E015C02A98229A35E03A9598
S1132030F1F700001B99816035E03A95F1F7000053
S1132040299A219A3AE03A95F1F700C0990F215064
S113205041F0880F2998219A97FFE6CF2A9A229A6D
S1132060E5CF1F928F9387E291E09F938F931F9305
S11320700F930E94801699810F900F900F900F90EC
S11320800F900F90992359F0FE0132968091C80069
S113209085FFFCCF9093CE0091919111F7CF1F92C1
S11320A01F928DE191E09F938F931F930F930E9452
S11320B0801699810F900F900F900F900F900F90B2
S11320C0992359F0FE0132968091C80085FFFCCF18
S11320D09093CE0091919111F7CF98E080E0880F12
S11320E02998219A2A98229A25E02A95F1F7000046
S11320F01B99816035E03A95F1F70000299A219AFD
S11321002AE02A95F1F700C0915049F71F928F9366
S113211087E291E09F938F931F930F930E94801601
S113212099810F900F900F900F900F900F9099231B
S113213059F0FE0132968091C80085FFFCCF909340
S1132140CE0091919111F7CF2C9A249A2C98249A2D
S11321501F9282E08F938DE191E09F938F931F9361
S11321600F930E94801699810F900F900F900F90FB
S11321700F900F90992359F0FE0132968091C80078
S113218085FFFCCF9093CE0091919111F7CF28E079
S113219092E080E015C02A98229A35E03A95F1F74A
S11321A000001B99816035E03A95F1F70000299A07
S11321B0219A3AE03A95F1F700C0990F215041F085
S11321C0880F2998219A97FFE6CF2A9A229AE5CF79
S11321D01F928F9387E291E09F938F931F930F93A6
S11321E00E94801699810F900F900F900F900F907E
S11321F00F90992359F0FE0132968091C80085FF13
S1132200FCCF9093CE0091919111F7CF1F9284E26D
S11322108F938DE191E09F938F931F930F930E946F
S1132220801699810F900F900F900F900F900F9040
S1132230992359F0FE0132968091C80085FFFCCFA6
S11322409093CE0091919111F7CF28E094E280E031
S113225015C02A98229A35E03A95F1F700001B99A7
S1132260816035E03A95F1F70000299A219A3AE025
S11322703A95F1F700C0990F215041F0880F299841
S1132280219A97FFE6CF2A9A229AE5CF1F928F933D
S113229087E291E09F938F931F930F930E94801680
S11322A099810F900F900F900F900F900F9099239A
S11322B059F0FE0132968091C80085FFFCCF9093BF
S11322C0CE0091919111F7CF1F921F928DE191E071
S11322D09F938F931F930F930E94801699810F9061
S11322E00F900F900F900F900F90992359F0FE01CB
S11322F032968091C80085FFFCCF9093CE009191D7
S11323009111F7CF98E080E0880F2998219A2A98B4
S1132310229A25E02A95F1F700001B99816035E0A7
S11323203A95F1F70000299A219A2AE02A95F1F7C3
S113233000C0915049F71F928F9387E291E09F93D9
S11323408F931F930F930E94801699810F900F9083
S11323500F900F900F900F90992359F0FE01329631
S11323608091C80085FFFCCF9093CE00919191118C
S1132370F7CF2C9A249A2C98249A1F9282E08F9358
S11323808DE191E09F938F931F930F930E9480168A
S113239099810F900F900F900F900F900F909923A9
S11323A059F0FE0132968091C80085FFFCCF9093CE
S11323B0CE0091919111F7CF28E092E080E015C012
S11323C02A98229A35E03A95F1F700001B9981602A
S11323D035E03A95F1F70000299A219A3AE03A95C6
S11323E0F1F700C0990F215041F0880F2998219AE4
S11323F097FFE6CF2A9A229AE5CF1F928F9387E21E
S113240091E09F938F931F930F930E94801699815D
S11324100F900F900F900F900F900F90992359F0F9
S1132420FE0132968091C80085FFFCCF9093CE00C8
S113243091919111F7CF1F9285E28F938DE191E0F5
S11324409F938F931F930F930E94801699810F90EF
S11324500F900F900F900F900F90992359F0FE0159
S113246032968091C80085FFFCCF9093CE00919165
S11324709111F7CF28E095E280E015C02A98229ABE
S113248035E03A95F1F700001B99816035E03A9503
S1132490F1F70000299A219A3AE03A95F1F700C041
S11324A0990F215041F0880F2998219A97FFE6CF80
S11324B02A9A229AE5CF1F928F9387E291E09F9305
S11324C08F931F930F930E94801699810F900F9002
S11324D00F900F900F900F90992359F0FE013296B0
S11324E08091C80085FFFCCF9093CE00919191110B
S11324F0F7CF1F921F928DE191E09F938F931F93CB
S11325000F930E94801699810F900F900F900F9057
S11325100F900F90992359F0FE0132968091C800D4
S113252085FFFCCF9093CE0091919111F7CF98E065
S113253080E0880F2998219A2A98229A25E02A95E2
S1132540F1F700001B99816035E03A95F1F700003E
S1132550299A219A2AE02A95F1F700C0915049F767
S11325601F928F9387E291E09F938F931F930F9312
S11325700E94801699810F900F900F900F900F90EA
S11325800F90992359F0FE0132968091C80085FF7F
S1132590FCCF9093CE0091919111F7CF2C9A249A6D
S11325A02C98249A1F9282E08F938DE191E09F935F
S11325B08F931F930F930E94801699810F900F9011
S11325C00F900F900F900F90992359F0FE013296BF
S11325D08091C80085FFFCCF9093CE00919191111A
S11325E0F7CF28E092E080E015C02A98229A35E0DF
S11325F03A95F1F700001B99816035E03A95F1F7BF
S11326000000299A219A3AE03A95F1F700C0990F0F
S1132610215041F0880F2998219A97FFE6CF2A9AF2
S1132620229AE5CF1F928F9387E291E09F938F9335
S11326301F930F930E94801699810F900F900F9013
S11326400F900F900F90992359F0FE0132968091CC
S1132650C80085FFFCCF9093CE0091919111F7CFE4
S11326601F9286E28F938DE191E09F938F931F9346
S11326700F930E94801699810F900F900F900F90E6
S11326800F900F90992359F0FE0132968091C80063
S113269085FFFCCF9093CE0091919111F7CF28E064
S11326A096E280E015C02A98229A35E03A95F1F72F
S11326B000001B99816035E03A95F1F70000299AF2
S11326C0219A3AE03A95F1F700C0990F215041F070
S11326D0880F2998219A97FFE6CF2A9A229AE5CF64
S11326E01F928F9387E291E09F938F931F930F9391
S11326F00E94801699810F900F900F900F900F9069
S11327000F90992359F0FE0132968091C80085FFFD
S1132710FCCF9093CE0091919111F7CF1F921F920D
S11327208DE191E09F938F931F930F930E948016E6
S113273099810F900F900F900F900F900F90992305
S113274059F0FE0132968091C80085FFFCCF90932A
S1132750CE0091919111F7CF98E080E0880F2998ED
S1132760219A2A98229A25E02A95F1F700001B99CC
S1132770816035E03A95F1F70000299A219A2AE020
S11327802A95F1F700C0915049F71F928F9387E281
S113279091E09F938F931F930F930E9480169981CA
S11327A00F900F900F900F900F900F90992359F066
S11327B0FE0132968091C80085FFFCCF9093CE0035
S11327C091919111F7CF2C9A249A2C98249A1F92C4
S11327D082E08F938DE191E09F938F931F930F93EA
S11327E00E94801699810F900F900F900F900F9078
S11327F00F90992359F0FE0132968091C80085FF0D
S1132800FCCF9093CE0091919111F7CF28E092E004
S113281080E015C02A98229A35E03A95F1F7000035
S11328201B99816035E03A95F1F70000299A219AC5
S11328303AE03A95F1F700C0990F215041F0880F22
S11328402998219A97FFE6CF2A9A229AE5CF1F92D8
S11328508F9387E291E09F938F931F930F930E942E
S1132860801699810F900F900F900F900F900F90FA
S1132870992359F0FE0132968091C80085FFFCCF60
S11328809093CE0091919111F7CF1F9287E28F938D
S11328908DE191E09F938F931F930F930E94801675
S11328A099810F900F900F900F900F900F90992394
S11328B059F0FE0132968091C80085FFFCCF9093B9
S11328C0CE0091919111F7CF28E097E280E015C0F6
S11328D02A98229A35E03A95F1F700001B99816015
S11328E035E03A95F1F70000299A219A3AE03A95B1
S11328F0F1F700C0990F215041F0880F2998219ACF
S113290097FFE6CF2A9A229AE5CF1F928F9387E208
S113291091E09F938F931F930F930E948016998148
S11329200F900F900F900F900F900F90992359F0E4
S1132930FE0132968091C80085FFFCCF9093CE00B3
S113294091919111F7CF1F921F928DE191E09F9386
S11329508F931F930F930E94801699810F900F906D
S11329600F900F900F900F90992359F0FE0132961B
S11329708091C80085FFFCCF9093CE009191911176
S1132980F7CF98E080E0880F2998219A2A98229A14
S113299025E02A95F1F700001B99816035E03A950E
S11329A0F1F70000299A219A2AE02A95F1F700C04C
S11329B0915049F71F928F9387E291E09F938F93F1
S11329C01F930F930E94801699810F900F900F9080
S11329D00F900F900F90992359F0FE013296809139
S11329E0C80085FFFCCF9093CE0091919111F7CF51
S11329F02C9A249A2C98249A1F9282E08F938DE12A
S1132A0091E09F938F931F930F930E948016998157
S1132A100F900F900F900F900F900F90992359F0F3
S1132A20FE0132968091C80085FFFCCF9093CE00C2
S1132A3091919111F7CF28E092E080E015C02A9897
S1132A40229A35E03A95F1F700001B99816035E050
S1132A503A95F1F70000299A219A3AE03A95F1F76C
S1132A6000C0990F215041F0880F2998219A97FFAF
S1132A70E6CF2A9A229AE5CF1F928F9387E291E0BC
S1132A809F938F931F930F930E94801699810F90A9
S1132A900F900F900F900F900F90992359F0FE0113
S1132AA032968091C80085FFFCCF9093CE0091911F
S1132AB09111F7CF1F928CE08F938DE191E09F935A
S1132AC08F931F930F930E94801699810F900F90FC
S1132AD00F900F900F900F90992359F0FE013296AA
S1132AE08091C80085FFFCCF9093CE009191911105
S1132AF0F7CF28E09CE080E015C02A98229A35E0C0
S1132B003A95F1F700001B99816035E03A95F1F7A9
S1132B100000299A219A3AE03A95F1F700C0990FFA
S1132B20215041F0880F2998219A97FFE6CF2A9ADD
S1132B30229AE5CF1F928F9387E291E09F938F9320
S1132B401F930F930E94801699810F900F900F90FE
S1132B500F900F900F90992359F0FE0132968091B7
S1132B60C80085FFFCCF9093CE0091919111F7CFCF
S1132B701F921F928DE191E09F938F931F930F9368
S1132B800E94801699810F900F900F900F900F90D4
S1132B900F90992359F0FE0132968091C80085FF69
S1132BA0FCCF9093CE0091919111F7CF98E080E003
S1132BB0880F2998219A2A98229A25E02A95F1F7D4
S1132BC000001B99816035E03A95F1F70000299ADD
S1132BD0219A2AE02A95F1F700C0915049F71F92F3
S1132BE08F9387E291E09F938F931F930F930E949B
S1132BF0801699810F900F900F900F900F900F9067
S1132C00992359F0FE0132968091C80085FFFCCFCC
S1132C109093CE0091919111F7CF2C9A249AE29639
S1132C200FB6F894DEBF0FBECDBFDF91CF911F91D9
S1132C300F91FF90EF90089526E02093CA00209111
S1132C40C90028602093C90027E62093CC00E5E35F
S1132C50F1E0DF0135E52091C80025FFFCCF30937A
S1132C60CE003D913111F7CF229A2A98229A219AC7
S1132C702998219A249A2C9A249A23982B982B9851
S1132C80239A26E02093CA002091C900286020934B
S1132C90C90027E62093CC0035E52091C80025FF24
S1132CA0FCCF3093CE0031913111F7CF0C942E0824
S1132CB0279A269A259A86E08093CA008091C900B3
S1132CC088608093C90087E68093CC00E5E3F1E057
S1132CD095E58091C80085FFFCCF9093CE0091913B
S1132CE09111F7CF84E491E00E948E0782E491E091
S1132CF00C941C16EE0FFF1F0590F491E02D09941F
S1132D00AEE0B0E0E6E8F6E10C9439190D891E89CD
S1132D1086E08C831A8309838FEF9FE79E838D83DC
S1132D20CE014996AC016F89788DCE0101960E943F
S1132D30A216EF81F885E00FF11F10822E96E4E0D1
S1132D400C945519ACE0B0E0E8EAF6E10C942B19C8
S1132D507C016B018A01FC0117821682838181FF49
S1132D60C8C188248394912C8C0E9D1EF7019381F5
S1132D70F60193FD859193FF81916F01882309F4F6
S1132D80B4C1853239F493FD859193FF81916F012C
S1132D90853229F4B70190E00E949618E7CF512CB0
S1132DA0312C20E02032A8F48B3261F028F48032F8
S1132DB051F0833271F40BC08D3239F0803349F411
S1132DC021602AC02260246027C0286025C02061B9
S1132DD023C027FD29C0382F30533A3088F426FF0A
S1132DE007C0852D6AE00E942219582E530E14C084
S1132DF0832D6AE00E942219382E330E20620CC003
S1132E008E3221F426FD71C1206406C08C3611F483
S1132E10206802C0883641F4F60193FD859193FF42
S1132E2081916F018111BECF982F9554933018F082
S1132E309052933028F40C5F1F4FFFE3F9830DC0C9
S1132E40833631F0833771F0833509F05EC023C0D7
S1132E50F801808189830E5F1F4F44244394512CD1
S1132E60540115C03801F2E06F0E711CF801A08006
S1132E70B18026FF03C0652D70E002C06FEF7FEFC5
S1132E80C5012C870E948B182C0183012C856FE7C8
S1132E90262E222218C03801F2E06F0E711CF801B0
S1132EA0A080B18026FF03C0652D70E002C06FEFE3
S1132EB07FEFC5012C870E9480182C012C8550E8D7
S1132EC0252E222A830123FC1CC006C0B70180E200
S1132ED090E00E9496183A94832D90E04816590683
S1132EE0A8F30FC0F50127FC859127FE81915F01AE
S1132EF0B70190E00E94961831103A94F1E04F1A0D
S1132F0051084114510471F7EDC0843611F089362B
S1132F1041F5F80127FF07C06081718182819381A7
S1132F200C5F1F4F08C060817181882777FD8095F1
S1132F30982F0E5F1F4F4FE6B42EB22297FF09C0A1
S1132F4090958095709561957F4F8F4F9F4FF0E8D6
S1132F50BF2A2AE030E0A4010E94C218A82EA818B3
S1132F6043C0853731F43FEEB32EB2222AE030E07D
S1132F7024C099EFB92EB2228F36B9F020F48835E7
S1132F8009F0B3C00DC0803721F0883709F0ADC017
S1132F9002C020E1B22AB4FE0BC084E0B82A08C003
S1132FA024FF09C0E6E0BE2A06C028E030E005C0E0
S1132FB020E130E002C020E132E0F801B7FE07C0B2
S1132FC060817181828193810C5F1F4F06C0608193
S1132FD0718180E090E00E5F1F4FA4010E94C2182F
S1132FE0A82EA818FFE7BF22B6FE0BC02B2D2E7FFC
S1132FF0A51450F4B4FE0AC0B2FC08C02B2D2E7EDA
S113300005C07A2C2B2D03C07A2C01C0752C24FF0B
S11330100DC0FE01EA0DF11D8081803311F4297E7B
S113302009C022FF06C07394739404C0822F86786B
S113303009F0739423FD14C020FF0FC05A2C73149D
S113304060F4530C5718732C08C0B70180E290E069
S11330502C870E94961873942C857314B0F304C0C3
S1133060731410F4371801C0312C24FF12C0B701B7
S113307080E390E02C870E9496182C8522FF1EC0C6
S113308021FF03C088E590E002C088E790E0B70123
S11330900CC0822F867891F021FD02C080E201C02D
S11330A08BE227FD8DE2B70190E00E94961806C0DE
S11330B0B70180E390E00E9496185A94A514C0F3D7
S11330C0AA94F401EA0DF11DB701808190E00E94F9
S11330D09618A110F5CF06C0B70180E290E00E94D7
S11330E096183A943110F8CF41CEF70126813781F2
S11330F002C02FEF3FEFC9012C96E2E10C9447196F
S1133100FC010590615070400110D8F780959095AE
S11331108E0F9F1F0895FC016150704001900110B3
S1133120D8F7809590958E0F9F1F08950F931F9346
S1133130CF93DF938C01EB018B8181FD03C00FEFF3
S11331401FEF1AC082FF0DC02E813F818C819D81AB
S11331502817390764F4E881F9810193F983E88336
S113316006C0E885F985802F0995892B41F78E8162
S11331709F8101969F838E83C801DF91CF911F9118
S11331800F910895FA01AA27283061F1203191F1B5
S1133190E8946F936E7F6E5F7F4F8F4F9F4FAF4F5B
S11331A0B1E040D0B4E03ED0670F781F891F9A1F6A
S11331B0A11D680F791F8A1F911DA11D6A0F711D22
S11331C0811D911DA11D22D009F468943F91062E02
S11331D0000C3019000C000C3019305D3193CEF620
S11331E0CF010895462F4770405D4193B3E00FD05F
S11331F0C9F7F6CF462F4F70405D4A3318F0495D4A
S113320031FD4052419302D0A9F7EACFB4E0A6952C
S11332109795879577956795BA95C9F7009761054E
S1133220710508959B01AC010A2E069457954795A4
S113323037952795BA95C9F7620F731F841F951F99
S1133240A01D0895002480FD060E660F11F08695DA
S1133250D1F7802D08952F923F924F925F926F92F3
S11332607F928F929F92AF92BF92CF92DF92EF9212
S1133270FF920F931F93CF93DF93CDB7DEB7CA1B93
S1133280DB0B0FB6F894DEBF0FBECDBF09942A88BE
S1133290398848885F846E847D848C849B84AA8466
S11332A0B984C884DF80EE80FD800C811B81AA81F3
S11332B0B981CE0FD11D0FB6F894DEBF0FBECDBFBE
S10B32C0ED010895F894FFCF1D
S11332C8496E697420646F6E65210D0A004E657835
S11332D874207061636B6167653A0D0A002D3E20A6
S11332E830782530327800203C2D20307825303253
S11332F8780D0A005561727420646F6E65210D0A99
S10533080000BF
S9030000FC

View File

@ -36,11 +36,7 @@ SUBDIRS :=
# Add inputs and outputs from these tool invocations to the build variables
C_SRCS += \
../Can.cpp \
../Led.cpp \
../Mainboard.cpp \
../Rs232.cpp \
../Spi.cpp
../Mainboard.cpp
PREPROCESSING_SRCS +=
@ -50,35 +46,19 @@ ASM_SRCS +=
OBJS += \
Can.o \
Led.o \
Mainboard.o \
Rs232.o \
Spi.o
Mainboard.o
OBJS_AS_ARGS += \
Can.o \
Led.o \
Mainboard.o \
Rs232.o \
Spi.o
Mainboard.o
C_DEPS += \
Can.d \
Led.d \
Mainboard.d \
Rs232.d \
Spi.d
Mainboard.d
C_DEPS_AS_ARGS += \
Can.d \
Led.d \
Mainboard.d \
Rs232.d \
Spi.d
Mainboard.d
OUTPUT_FILE_PATH +=Mainboard.elf
@ -95,14 +75,6 @@ LIB_DEP+=
./%.o: .././%.cpp
@echo Building file: $<
@echo Invoking: AVR8/GNU C++ Compiler :

View File

@ -2,13 +2,5 @@
# Automatically-generated file. Do not edit or delete the file
################################################################################
Can.cpp
Led.cpp
Mainboard.cpp
Rs232.cpp
Spi.cpp

View File

@ -5,37 +5,37 @@
* Author: netz
*/
#include "Led.h"
/*#include "Led.h"
/*Led::Led() {
Led::Led() {
init();
}*/
}
/*void Led::init() {
void Led::init() {
red::make_output();
green::make_output();
blue::make_output();
}*/
}
/*void Led::uninit() {
}*/
void Led::uninit() {
}
/*void Led::color(uint8_t mask) {
void Led::color(uint8_t mask) {
(mask & (1<<0)) ? blue::make_high() : blue::make_low();
(mask & (1<<1)) ? green::make_high() : green::make_low();
(mask & (1<<2)) ? red::make_high() : red::make_low();
}*/
}
/*void Led::rainbow(uint8_t time) {
void Led::rainbow(uint8_t time) {
fade(RED, YELLOW, time);
fade(YELLOW, GREEN, time);
fade(GREEN, CYAN, time);
fade(CYAN, BLUE, time);
fade(BLUE, MAGENTA, time);
fade(MAGENTA, RED, time);
}*/
}
/*void Led::fade(int from, int to, int dur) {
void Led::fade(int from, int to, int dur) {
for (int i=0;i<0xFF;i++) {
for(int k=0;k<dur;k++) {
for (int j=i;j<0xFF;j++) {

View File

@ -0,0 +1,66 @@
/*
* Led.h
*
* Created: 03.11.2013 17:11:58
* Author: BlubbFish
*/
#ifndef LED_H_
#define LED_H_
#include "pin.hpp"
template <typename Port, int pin_red, int pin_green, int pin_blue>
class Led {
public:
Led() {
init();
}
void color(uint8_t mask) {
(mask & (1<<0)) ? blue::make_high() : blue::make_low();
(mask & (1<<1)) ? green::make_high() : green::make_low();
(mask & (1<<2)) ? red::make_high() : red::make_low();
}
void rainbow(uint8_t time) {
fade(RED, YELLOW, time);
fade(YELLOW, GREEN, time);
fade(GREEN, CYAN, time);
fade(CYAN, BLUE, time);
fade(BLUE, MAGENTA, time);
fade(MAGENTA, RED, time);
}
void fade(uint8_t from, uint8_t to, uint8_t dur) {
for (uint8_t i=0;i<0xFF;i++) {
for(uint8_t k=0;k<dur;k++) {
for (uint8_t j=i;j<0xFF;j++) {
color(from);
}
for (int j=0;j<i;j++) {
color(to);
}
}
}
}
static const uint8_t BLACK = 0;
static const uint8_t BLUE = 1;
static const uint8_t GREEN = 2;
static const uint8_t CYAN = 3;
static const uint8_t RED = 4;
static const uint8_t MAGENTA = 5;
static const uint8_t YELLOW = 6;
static const uint8_t WHITE = 7;
private:
void init() {
red::make_output();
green::make_output();
blue::make_output();
}
void uninit();
const typedef avrlib::pin<Port, pin_red> red;
const typedef avrlib::pin<Port, pin_green> green;
const typedef avrlib::pin<Port, pin_blue> blue;
};
#endif /* LED_H_ */

View File

@ -6,31 +6,32 @@
*/
#include "config.h"
#include "Led.h"
#include "Rs232.h"
#include "Can.h"
#include "Spi.h"
#include "portc.hpp"
#include "portb.hpp";
#include "Led.hpp"
#include "Uart.hpp"
#include "Can.hpp"
#include "Spi.hpp"
#include "portb.hpp"
#include <util/delay.h>
//////////////////// LED ///////////////////////////////
typedef Led<avrlib::portc, PINC5, PINC6, PINC7> ledclass;
//////////////////// LED //////////////////////////////////////////
typedef Led<avrlib::portb, PINB7, PINB6, PINB5> ledclass;
ledclass l;
typedef Spi<avrlib::portb, PINB4, PINB3, PINB2, PINB1, 0> spiclass;
///////////////////////// UART ////////////////////////////////////
typedef Uart<9600> uartclass;
uartclass u;
///////////////////////// SPI /////////////////////////////////////
typedef Spi<avrlib::portb, PINB4, PINB3, PINB2, PINB1, 1, uartclass> spiclass;
spiclass s;
typedef Rs232<9600> rs232class;
rs232class r;
Rs232 r;
Can c(s);
///////////////////////// CAN /////////////////////////////////////
typedef Can<spiclass, uartclass> canclass;
canclass c;
int main(void)
{
l.color(l.YELLOW);
r.send("bla\n");
u.send("Init done!\r\n");
CANMessage m;
m.id = 0x0123;
m.rtr = 0;
@ -39,21 +40,21 @@ int main(void)
m.data[1] = 0xFE;
while(1)
{
//l.color(Led::GREEN);
_delay_ms(100);
//r.send("Text\n");
//_delay_ms(500);
//c.can_send_message(&m);
//l.color(Led::BLACK);
//_delay_ms(100);
//l.color(Led::GREEN);
//c.can_send_message(&m);
l.color(l.GREEN);
_delay_ms(10000);
u.send("Next package:\r\n");
/*r.send("0xAFFE\r\n");
c.can_send_message(&m);
_delay_ms(500);
l.color(l.BLACK);
_delay_ms(100);*/
uint8_t r = c.can_get_message(&m);
if(r == 0xFF) {
//l.color(Led::RED);
l.color(l.RED);
_delay_ms(100);
} else {
//l.color(Led::BLUE);
l.color(l.BLUE);
_delay_ms(1000);
}
}

View File

@ -18,8 +18,7 @@
<ToolchainFlavour>Native</ToolchainFlavour>
<KeepTimersRunning>true</KeepTimersRunning>
<OverrideVtor>false</OverrideVtor>
<OverrideVtorValue>
</OverrideVtorValue>
<OverrideVtorValue>exception_table</OverrideVtorValue>
<eraseonlaunchrule>0</eraseonlaunchrule>
<ProgFlashFromRam>true</ProgFlashFromRam>
<RamSnippetAddress>0x20000000</RamSnippetAddress>
@ -105,58 +104,52 @@
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<ToolchainSettings>
<AvrGccCpp>
<avrgcc.common.outputfiles.hex>True</avrgcc.common.outputfiles.hex>
<avrgcc.common.outputfiles.lss>True</avrgcc.common.outputfiles.lss>
<avrgcc.common.outputfiles.eep>True</avrgcc.common.outputfiles.eep>
<avrgcc.common.outputfiles.srec>True</avrgcc.common.outputfiles.srec>
<avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>True</avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>
<avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>True</avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>
<avrgcc.compiler.symbols.DefSymbols>
<ListValues>
<Value>DEBUG</Value>
</ListValues>
</avrgcc.compiler.symbols.DefSymbols>
<avrgcc.compiler.optimization.level>Optimize (-O1)</avrgcc.compiler.optimization.level>
<avrgcc.compiler.optimization.PackStructureMembers>True</avrgcc.compiler.optimization.PackStructureMembers>
<avrgcc.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcc.compiler.optimization.AllocateBytesNeededForEnum>
<avrgcc.compiler.optimization.DebugLevel>Default (-g2)</avrgcc.compiler.optimization.DebugLevel>
<avrgcc.compiler.warnings.AllWarnings>True</avrgcc.compiler.warnings.AllWarnings>
<avrgcccpp.compiler.general.ChangeDefaultCharTypeUnsigned>True</avrgcccpp.compiler.general.ChangeDefaultCharTypeUnsigned>
<avrgcccpp.compiler.general.ChangeDefaultBitFieldUnsigned>True</avrgcccpp.compiler.general.ChangeDefaultBitFieldUnsigned>
<avrgcccpp.compiler.symbols.DefSymbols>
<ListValues>
<Value>DEBUG</Value>
</ListValues>
</avrgcccpp.compiler.symbols.DefSymbols>
<avrgcccpp.compiler.optimization.level>Optimize more (-O2)</avrgcccpp.compiler.optimization.level>
<avrgcccpp.compiler.optimization.PackStructureMembers>True</avrgcccpp.compiler.optimization.PackStructureMembers>
<avrgcccpp.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcccpp.compiler.optimization.AllocateBytesNeededForEnum>
<avrgcccpp.compiler.optimization.DebugLevel>Default (-g2)</avrgcccpp.compiler.optimization.DebugLevel>
<avrgcccpp.compiler.warnings.AllWarnings>True</avrgcccpp.compiler.warnings.AllWarnings>
<avrgcccpp.linker.libraries.Libraries>
<ListValues>
<Value>libm</Value>
</ListValues>
</avrgcccpp.linker.libraries.Libraries>
<avrgcccpp.linker.memorysettings.Comment>&lt;segmentname&gt;=&lt;address&gt;, for example .boot=0xff</avrgcccpp.linker.memorysettings.Comment>
<avrgcccpp.assembler.debugging.DebugLevel>Default (-Wa,-g)</avrgcccpp.assembler.debugging.DebugLevel>
</AvrGccCpp>
<avrgcc.common.outputfiles.hex>True</avrgcc.common.outputfiles.hex>
<avrgcc.common.outputfiles.lss>True</avrgcc.common.outputfiles.lss>
<avrgcc.common.outputfiles.eep>True</avrgcc.common.outputfiles.eep>
<avrgcc.common.outputfiles.srec>True</avrgcc.common.outputfiles.srec>
<avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>True</avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>
<avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>True</avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>
<avrgcc.compiler.symbols.DefSymbols>
<ListValues>
<Value>DEBUG</Value>
</ListValues>
</avrgcc.compiler.symbols.DefSymbols>
<avrgcc.compiler.optimization.level>Optimize (-O1)</avrgcc.compiler.optimization.level>
<avrgcc.compiler.optimization.PackStructureMembers>True</avrgcc.compiler.optimization.PackStructureMembers>
<avrgcc.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcc.compiler.optimization.AllocateBytesNeededForEnum>
<avrgcc.compiler.optimization.DebugLevel>Default (-g2)</avrgcc.compiler.optimization.DebugLevel>
<avrgcc.compiler.warnings.AllWarnings>True</avrgcc.compiler.warnings.AllWarnings>
<avrgcccpp.compiler.general.ChangeDefaultCharTypeUnsigned>True</avrgcccpp.compiler.general.ChangeDefaultCharTypeUnsigned>
<avrgcccpp.compiler.general.ChangeDefaultBitFieldUnsigned>True</avrgcccpp.compiler.general.ChangeDefaultBitFieldUnsigned>
<avrgcccpp.compiler.symbols.DefSymbols>
<ListValues>
<Value>DEBUG</Value>
</ListValues>
</avrgcccpp.compiler.symbols.DefSymbols>
<avrgcccpp.compiler.optimization.level>Optimize more (-O2)</avrgcccpp.compiler.optimization.level>
<avrgcccpp.compiler.optimization.PackStructureMembers>True</avrgcccpp.compiler.optimization.PackStructureMembers>
<avrgcccpp.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcccpp.compiler.optimization.AllocateBytesNeededForEnum>
<avrgcccpp.compiler.optimization.DebugLevel>Default (-g2)</avrgcccpp.compiler.optimization.DebugLevel>
<avrgcccpp.compiler.warnings.AllWarnings>True</avrgcccpp.compiler.warnings.AllWarnings>
<avrgcccpp.linker.libraries.Libraries>
<ListValues>
<Value>libm</Value>
</ListValues>
</avrgcccpp.linker.libraries.Libraries>
<avrgcccpp.linker.memorysettings.Comment>&lt;segmentname&gt;=&lt;address&gt;, for example .boot=0xff</avrgcccpp.linker.memorysettings.Comment>
<avrgcccpp.assembler.debugging.DebugLevel>Default (-Wa,-g)</avrgcccpp.assembler.debugging.DebugLevel>
</AvrGccCpp>
</ToolchainSettings>
</PropertyGroup>
<ItemGroup>
<Compile Include="Can.cpp">
<SubType>compile</SubType>
</Compile>
<Compile Include="Can.h">
<Compile Include="Can.hpp">
<SubType>compile</SubType>
</Compile>
<Compile Include="config.h">
<SubType>compile</SubType>
</Compile>
<Compile Include="Led.cpp">
<SubType>compile</SubType>
</Compile>
<Compile Include="Led.h">
<Compile Include="Led.hpp">
<SubType>compile</SubType>
</Compile>
<Compile Include="Mainboard.cpp">
@ -174,16 +167,10 @@
<Compile Include="portc.hpp">
<SubType>compile</SubType>
</Compile>
<Compile Include="Rs232.cpp">
<Compile Include="uart.hpp">
<SubType>compile</SubType>
</Compile>
<Compile Include="Rs232.h">
<SubType>compile</SubType>
</Compile>
<Compile Include="Spi.cpp">
<SubType>compile</SubType>
</Compile>
<Compile Include="Spi.h">
<Compile Include="Spi.hpp">
<SubType>compile</SubType>
</Compile>
</ItemGroup>

View File

@ -21,7 +21,7 @@ uint8_t Rs232::uart_putchar(uint8_t c)
void Rs232::init()
{
UCSR1C = (1 << UCSZ11) |(1 << UCSZ10); //8N1
UCSR1B |= /*(1<<RXEN1) | (1<<RXCIE1) | *-/ (1<<TXEN1); //Enable TXEN im Register UCR TX-Data Enable
UCSR1B |= /-*(1<<RXEN1) | (1<<RXCIE1) | *-/ (1<<TXEN1); //Enable TXEN im Register UCR TX-Data Enable
UBRR1L = (F_CPU / (BAUD_RATE * 16L) - 1); //Teiler wird gesetzt
}

View File

@ -7,7 +7,7 @@
/* #include "Spi.h"
Spi::Spi(uint8_t index) : mode(1) { //, canport(&PORTB) /* : m_index (index) {} *-/ {
Spi::Spi(uint8_t index) : mode(1) { //, canport(&PORTB) /-* : m_index (index) {} *-/ {
init();
}
@ -18,7 +18,7 @@ void Spi::init() {
}
}
/*#define CANDDR_SPI DDRB
/-*#define CANDDR_SPI DDRB
#define CANPORT_SPI PORTB
#define CANPIN_SPI PINB
#define CANP_MISO PINB3
@ -89,7 +89,7 @@ uint8_t Spi::send_soft(uint8_t data) {
data<<=1; //Schiebe um nächstes Bit zusenden
}
return datain;
/*uint8_t werti = 0;
/-*uint8_t werti = 0;
for (uint8_t i = 8; i != 0; i--) {
CANPORT_SPI = (CANPORT_SPI & (~(1 << CANP_MOSI))) | ((data & 1) << CANP_MOSI);

View File

@ -1,7 +1,102 @@
/*
* Spi.hpp
* Spi.h
*
* Created: 11.11.2013 18:01:21
* Created: 06.11.2013 15:41:34
* Author: netz
*/
#ifndef SPI_H_
#define SPI_H_
#include "config.h"
#include <avr/io.h>
#include <util/delay.h>
#include "pin.hpp"
template <typename Port, int cspin, int misopin, int mosipin, int sckpin, int mode, typename uart>
class Spi {
public:
Spi() {
init();
}
void CSOn() {
cs::make_low();
}
void CSOff() {
cs::make_high();
}
uint8_t send(uint8_t data) {
char t[50];
sprintf(t, "-> 0x%02x", data);
u.send(t);
uint8_t r;
if(mode == 0) {
r = send_hard(data);
}
r = send_soft(data);
sprintf(t, " <- 0x%02x\r\n", r);
u.send(t);
return r;
}
private:
uart u;
const typedef avrlib::pin<Port, cspin> cs;
const typedef avrlib::pin<Port, misopin> miso;
const typedef avrlib::pin<Port, mosipin> mosi;
const typedef avrlib::pin<Port, sckpin> sck;
void init() {
init_port();
if(mode == 0) {
init_spi();
}
}
void init_port() {
mosi::make_output();
mosi::make_low();
sck::make_output();
sck::make_low();
cs::make_output();
cs::make_high();
miso::make_input();
miso::make_low();
}
void init_spi() {
SPCR = (1<<SPE) | (1<<MSTR);
SPSR = (1<<SPI2X);
}
uint8_t send_soft(uint8_t data) {
uint8_t datain=0;
for (uint8_t a=8; a>0; a--) { //das Byte wird Bitweise nacheinander Gesendet MSB zuerst
datain<<=1; //Schieben um das Richtige Bit zusetzen
sck::make_low(); // Clock auf LOW
if (data & 0x80) { //Ist Bit a in Byte gesetzt
mosi::make_high(); //Set Output High
}
else{
mosi::make_low(); //Set Output Low
}
_delay_us(1);
if(miso::read()) //Lesen des Pegels
{
datain |= 1;
}
_delay_us(1);
sck::make_high(); // Clock auf High
_delay_us(2);
data<<=1; //Schiebe um nächstes Bit zusenden
}
return datain;
}
uint8_t send_hard(uint8_t data) {
// Sendet ein Byte
SPDR = data;
// Wartet bis Byte gesendet wurde
loop_until_bit_is_set(SPSR, SPIF);
return SPDR;
}
};
#endif /* SPI_H_ */

View File

@ -1,6 +1,8 @@
#ifndef AVRLIB_PIN_HPP
#define AVRLIB_PIN_HPP
#include <avr/io.h>
namespace avrlib {
template <typename Port, uint8_t Pin>

View File

@ -0,0 +1,45 @@
/*
* Rs232.h
*
* Created: 04.11.2013 21:31:09
* Author: netz
*/
#ifndef RS232_H_
#define RS232_H_
#include "config.h"
#include <stdio.h>
#include <avr/io.h>
template <uint32_t baudrate>
class Uart {
public:
Uart() {
init();
send("Uart done!\r\n");
}
void send(const char *text) {
while (*text)
{
uart_putchar(*text);
text++;
}
}
private:
void init() {
UCSR1C = (1 << UCSZ11) |(1 << UCSZ10); //8N1
UCSR1B |= /*(1<<RXEN1) | (1<<RXCIE1) | */ (1<<TXEN1); //Enable TXEN im Register UCR TX-Data Enable
UBRR1L = (F_CPU / (baudrate * 16L) - 1); //Teiler wird gesetzt
}
uint8_t uart_putchar(uint8_t c) {
loop_until_bit_is_set(UCSR1A, UDRE1); //Ausgabe des Zeichens
UDR1 = c;
return 0;
}
};
#endif /* RS232_H_ */