selbsttest funktion hinzugefuegt

This commit is contained in:
Tristan Krause 2019-03-25 16:15:00 +01:00
parent f55fd367ee
commit b7b3fa6327
10 changed files with 193 additions and 77 deletions

View file

@ -1 +1 @@
<AVRStudio><MANAGEMENT><ProjectName>B15F</ProjectName><Created>22-Mar-2019 14:29:54</Created><LastEdit>25-Mar-2019 12:57:42</LastEdit><ICON>241</ICON><ProjectType>0</ProjectType><Created>22-Mar-2019 14:29:54</Created><Version>4</Version><Build>4, 19, 0, 730</Build><ProjectTypeName>AVR GCC</ProjectTypeName></MANAGEMENT><CODE_CREATION><ObjectFile>B15F.elf</ObjectFile><EntryFile></EntryFile><SaveFolder>F:\</SaveFolder></CODE_CREATION><DEBUG_TARGET><CURRENT_TARGET>JTAGICE mkII</CURRENT_TARGET><CURRENT_PART>ATmega1284.xml</CURRENT_PART><BREAKPOINTS></BREAKPOINTS><IO_EXPAND><HIDE>false</HIDE></IO_EXPAND><REGISTERNAMES><Register>R00</Register><Register>R01</Register><Register>R02</Register><Register>R03</Register><Register>R04</Register><Register>R05</Register><Register>R06</Register><Register>R07</Register><Register>R08</Register><Register>R09</Register><Register>R10</Register><Register>R11</Register><Register>R12</Register><Register>R13</Register><Register>R14</Register><Register>R15</Register><Register>R16</Register><Register>R17</Register><Register>R18</Register><Register>R19</Register><Register>R20</Register><Register>R21</Register><Register>R22</Register><Register>R23</Register><Register>R24</Register><Register>R25</Register><Register>R26</Register><Register>R27</Register><Register>R28</Register><Register>R29</Register><Register>R30</Register><Register>R31</Register></REGISTERNAMES><COM>Auto</COM><COMType>0</COMType><WATCHNUM>0</WATCHNUM><WATCHNAMES><Pane0></Pane0><Pane1></Pane1><Pane2></Pane2><Pane3></Pane3></WATCHNAMES><BreakOnTrcaeFull>0</BreakOnTrcaeFull></DEBUG_TARGET><Debugger><Triggers></Triggers></Debugger><AVRGCCPLUGIN><FILES><SOURCEFILE>spi.cpp</SOURCEFILE><SOURCEFILE>main.cpp</SOURCEFILE><SOURCEFILE>Makefile</SOURCEFILE><SOURCEFILE>mcp23s17.cpp</SOURCEFILE><HEADERFILE>spi.h</HEADERFILE><HEADERFILE>mcp23s17.h</HEADERFILE><OTHERFILE>default\B15F.lss</OTHERFILE><OTHERFILE>default\B15F.map</OTHERFILE></FILES><CONFIGS><CONFIG><NAME>c++</NAME><USESEXTERNALMAKEFILE>NO</USESEXTERNALMAKEFILE><EXTERNALMAKEFILE></EXTERNALMAKEFILE><PART>atmega128</PART><HEX>1</HEX><LIST>1</LIST><MAP>1</MAP><OUTPUTFILENAME>B15F.elf</OUTPUTFILENAME><OUTPUTDIR>c++\</OUTPUTDIR><ISDIRTY>0</ISDIRTY><OPTIONS/><INCDIRS/><LIBDIRS/><LIBS/><LINKOBJECTS/><OPTIONSFORALL>-Wall -gdwarf-2 -Os -std=gnu99 -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums</OPTIONSFORALL><LINKEROPTIONS></LINKEROPTIONS><SEGMENTS/></CONFIG><CONFIG><NAME>default</NAME><USESEXTERNALMAKEFILE>YES</USESEXTERNALMAKEFILE><EXTERNALMAKEFILE>Makefile</EXTERNALMAKEFILE><PART>atmega1284</PART><HEX>1</HEX><LIST>1</LIST><MAP>1</MAP><OUTPUTFILENAME>B15F.elf</OUTPUTFILENAME><OUTPUTDIR>default\</OUTPUTDIR><ISDIRTY>1</ISDIRTY><OPTIONS><OPTION><FILE>main.c</FILE><OPTIONLIST></OPTIONLIST></OPTION><OPTION><FILE>spi.cpp</FILE><OPTIONLIST></OPTIONLIST></OPTION></OPTIONS><INCDIRS><INCLUDE>C:\avr8-gnu-toolchain-win32_x86\avr\include\</INCLUDE></INCDIRS><LIBDIRS><LIBDIR>C:\avr8-gnu-toolchain-win32_x86\avr\lib\</LIBDIR></LIBDIRS><LIBS><LIB>libc.a</LIB></LIBS><LINKOBJECTS/><OPTIONSFORALL>-Wall -gdwarf-2 -DF_CPU=20000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums</OPTIONSFORALL><LINKEROPTIONS></LINKEROPTIONS><SEGMENTS/></CONFIG></CONFIGS><LASTCONFIG>default</LASTCONFIG><USES_WINAVR>0</USES_WINAVR><GCC_LOC>C:\avr8-gnu-toolchain-win32_x86\bin\avr-g++.exe</GCC_LOC><MAKE_LOC>C:\WinAVR-20100110\utils\bin\make.exe</MAKE_LOC></AVRGCCPLUGIN><ProjectFiles><Files><Name>F:\spi.h</Name><Name>F:\mcp23s17.h</Name><Name>F:\spi.cpp</Name><Name>F:\main.cpp</Name><Name>F:\Makefile</Name><Name>F:\mcp23s17.cpp</Name></Files></ProjectFiles><IOView><usergroups/><sort sorted="0" column="0" ordername="1" orderaddress="1" ordergroup="1"/></IOView><Files><File00000><FileId>00000</FileId><FileName>main.cpp</FileName><Status>1</Status></File00000><File00001><FileId>00001</FileId><FileName>Makefile</FileName><Status>1</Status></File00001><File00002><FileId>00002</FileId><FileName>spi.h</FileName><Status>1</Status></File00002><File00003><FileId>00003</FileId><FileName>spi.cpp</FileName><Status>1</Status></File00003><File00004><FileId>00004</FileId><FileName>mcp23s17.h</FileName><Status>1</Status></File00004><File00005><FileId>00005</FileId><FileName>mcp23s17.cpp</FileName><Status>1</Status></File00005></Files><Events><Bookmarks></Bookmarks></Events><Trace><Filters></Filters></Trace></AVRStudio>
<AVRStudio><MANAGEMENT><ProjectName>B15F</ProjectName><Created>22-Mar-2019 14:29:54</Created><LastEdit>25-Mar-2019 16:14:23</LastEdit><ICON>241</ICON><ProjectType>0</ProjectType><Created>22-Mar-2019 14:29:54</Created><Version>4</Version><Build>4, 19, 0, 730</Build><ProjectTypeName>AVR GCC</ProjectTypeName></MANAGEMENT><CODE_CREATION><ObjectFile>B15F.elf</ObjectFile><EntryFile></EntryFile><SaveFolder>F:\</SaveFolder></CODE_CREATION><DEBUG_TARGET><CURRENT_TARGET>JTAGICE mkII</CURRENT_TARGET><CURRENT_PART>ATmega1284.xml</CURRENT_PART><BREAKPOINTS></BREAKPOINTS><IO_EXPAND><HIDE>false</HIDE></IO_EXPAND><REGISTERNAMES><Register>R00</Register><Register>R01</Register><Register>R02</Register><Register>R03</Register><Register>R04</Register><Register>R05</Register><Register>R06</Register><Register>R07</Register><Register>R08</Register><Register>R09</Register><Register>R10</Register><Register>R11</Register><Register>R12</Register><Register>R13</Register><Register>R14</Register><Register>R15</Register><Register>R16</Register><Register>R17</Register><Register>R18</Register><Register>R19</Register><Register>R20</Register><Register>R21</Register><Register>R22</Register><Register>R23</Register><Register>R24</Register><Register>R25</Register><Register>R26</Register><Register>R27</Register><Register>R28</Register><Register>R29</Register><Register>R30</Register><Register>R31</Register></REGISTERNAMES><COM>Auto</COM><COMType>0</COMType><WATCHNUM>0</WATCHNUM><WATCHNAMES><Pane0></Pane0><Pane1></Pane1><Pane2></Pane2><Pane3></Pane3></WATCHNAMES><BreakOnTrcaeFull>0</BreakOnTrcaeFull></DEBUG_TARGET><Debugger><Triggers></Triggers></Debugger><AVRGCCPLUGIN><FILES><SOURCEFILE>spi.cpp</SOURCEFILE><SOURCEFILE>main.cpp</SOURCEFILE><SOURCEFILE>Makefile</SOURCEFILE><SOURCEFILE>mcp23s17.cpp</SOURCEFILE><SOURCEFILE>TLC5615.cpp</SOURCEFILE><SOURCEFILE>adu.cpp</SOURCEFILE><SOURCEFILE>selftest.cpp</SOURCEFILE><SOURCEFILE>vars.cpp</SOURCEFILE><HEADERFILE>spi.h</HEADERFILE><HEADERFILE>mcp23s17.h</HEADERFILE><HEADERFILE>TLC5615.h</HEADERFILE><HEADERFILE>adu.h</HEADERFILE><HEADERFILE>selftest.h</HEADERFILE><HEADERFILE>vars.h</HEADERFILE><OTHERFILE>default\B15F.lss</OTHERFILE><OTHERFILE>default\B15F.map</OTHERFILE></FILES><CONFIGS><CONFIG><NAME>c++</NAME><USESEXTERNALMAKEFILE>NO</USESEXTERNALMAKEFILE><EXTERNALMAKEFILE></EXTERNALMAKEFILE><PART>atmega128</PART><HEX>1</HEX><LIST>1</LIST><MAP>1</MAP><OUTPUTFILENAME>B15F.elf</OUTPUTFILENAME><OUTPUTDIR>c++\</OUTPUTDIR><ISDIRTY>0</ISDIRTY><OPTIONS/><INCDIRS/><LIBDIRS/><LIBS/><LINKOBJECTS/><OPTIONSFORALL>-Wall -gdwarf-2 -Os -std=gnu99 -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums</OPTIONSFORALL><LINKEROPTIONS></LINKEROPTIONS><SEGMENTS/></CONFIG><CONFIG><NAME>default</NAME><USESEXTERNALMAKEFILE>YES</USESEXTERNALMAKEFILE><EXTERNALMAKEFILE>Makefile</EXTERNALMAKEFILE><PART>atmega1284</PART><HEX>1</HEX><LIST>1</LIST><MAP>1</MAP><OUTPUTFILENAME>B15F.elf</OUTPUTFILENAME><OUTPUTDIR>default\</OUTPUTDIR><ISDIRTY>0</ISDIRTY><OPTIONS><OPTION><FILE>main.c</FILE><OPTIONLIST></OPTIONLIST></OPTION><OPTION><FILE>spi.cpp</FILE><OPTIONLIST></OPTIONLIST></OPTION></OPTIONS><INCDIRS><INCLUDE>C:\avr8-gnu-toolchain-win32_x86\avr\include\</INCLUDE></INCDIRS><LIBDIRS><LIBDIR>C:\avr8-gnu-toolchain-win32_x86\avr\lib\</LIBDIR></LIBDIRS><LIBS><LIB>libc.a</LIB></LIBS><LINKOBJECTS/><OPTIONSFORALL>-Wall -gdwarf-2 -DF_CPU=20000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums</OPTIONSFORALL><LINKEROPTIONS></LINKEROPTIONS><SEGMENTS/></CONFIG></CONFIGS><LASTCONFIG>default</LASTCONFIG><USES_WINAVR>0</USES_WINAVR><GCC_LOC>C:\avr8-gnu-toolchain-win32_x86\bin\avr-g++.exe</GCC_LOC><MAKE_LOC>C:\WinAVR-20100110\utils\bin\make.exe</MAKE_LOC></AVRGCCPLUGIN><IOView><usergroups/><sort sorted="0" column="0" ordername="1" orderaddress="1" ordergroup="1"/></IOView><Files><File00000><FileId>00000</FileId><FileName>main.cpp</FileName><Status>1</Status></File00000><File00001><FileId>00001</FileId><FileName>Makefile</FileName><Status>1</Status></File00001><File00002><FileId>00002</FileId><FileName>selftest.h</FileName><Status>1</Status></File00002><File00003><FileId>00003</FileId><FileName>selftest.cpp</FileName><Status>1</Status></File00003><File00004><FileId>00004</FileId><FileName>vars.h</FileName><Status>1</Status></File00004></Files><Events><Bookmarks></Bookmarks></Events><Trace><Filters></Filters></Trace></AVRStudio>

BIN
B15F.elf

Binary file not shown.

139
B15F.hex
View file

@ -6,62 +6,93 @@
:100050000C9464000C9464000C9464000C94640090
:100060000C9464000C9464000C9464000C94640080
:100070000C9464000C9464000C9464000C94640070
:100080000C9464000C9464000C946400E801112446
:100080000C9464000C9464000C946400D10211245C
:100090001FBECFEFD0E4DEBFCDBF21E0A0E0B1E0D6
:1000A00001C01D92AB30B207E1F710E0C7E4D0E029
:1000B00004C02197FE010E940102C634D107C9F78E
:1000C0000E94BE010C940A020C9400001F920F9231
:1000A00001C01D92A131B207E1F710E0C7E4D0E032
:1000B00004C02197FE010E94F802C634D107C9F797
:1000C0000E94CC020C9401030C9400001F920F922A
:1000D0000FB60F921124289A2FEF84E39CE0215051
:1000E00080409040E1F700C0000028982FEF84E3A3
:1000F0009CE0215080409040E1F700C00000EBCF31
:100100000895249A259A2698279A529A539A549A8F
:1001100080E58CBD81E08DBD5A985B985C985A9AB9
:100120005B9A5C9A08955A985B985C9860FD5A9A1D
:1001300061FD5B9A62FD5C9A08956EBD0DB407FE89
:10014000FDCF8EB50895FC017183608342830895CD
:100150001F93CF93DF93EC01162F6A8188819981D9
:100160000E94930060E4888199810E949D0060E074
:10017000888199810E949D00612F888199810E94C8
:100180009D0067E088819981DF91CF911F910C9448
:1001900093001F93CF93DF93EC01162F6A81888120
:1001A00099810E94930060E4888199810E949D005A
:1001B00061E0888199810E949D00612F88819981E9
:1001C0000E949D0067E088819981DF91CF911F9106
:1001D0000C9493001F93CF93DF93EC01162F6A8149
:1001E000888199810E94930060E4888199810E94AE
:1001F0009D0062E1888199810E949D00612F888124
:1002000099810E949D0067E088819981DF91CF915B
:100210001F910C9493001F93CF93DF93EC01162F43
:100220006A81888199810E94930060E48881998124
:100230000E949D0063E1888199810E949D00612F49
:10024000888199810E949D0067E088819981DF9172
:10025000CF911F910C9493001F93CF93DF93EC01E8
:100260006A81888199810E94930061E488819981E3
:100270000E949D0062E1888199810E949D0060E05A
:10028000888199810E949D00182F67E0888199815B
:100290000E949300812FDF91CF911F9108951F93AA
:1002A000CF93DF93EC016A81888199810E9493004A
:1002B00061E4888199810E949D0063E18881998130
:1002C0000E949D0060E0888199810E949D00182F06
:1002D00067E0888199810E949300812FDF91CF91FF
:1002E0001F910895FC01428308950F931F93CF93AC
:1002F000DF93EC018B016A81888199810E949300D0
:10030000B8010024660F771F001C660F771F001CC2
:10031000672F702D888199810E949D00602F660F44
:10032000660F888199810E949D0067E0888199818C
:10033000DF91CF911F910F910C94930010927C004C
:1003400087E880937A00089580917C00807E682BF6
:1003500060937C0080917A00806480937A0083EAC5
:1003600091E00197F1F700C0000080917A0086FDCE
:10037000FCCF8091780090917900089581E6809378
:100380006000209A2898A89578948AE091E00E94CD
:10039000810060E087E091E00E94A8006FEF87E0B5
:1003A00091E00E94C9006FEF84E091E00E94C900D3
:1003B00080E091E00E949E0166E080E091E00E9472
:1003C000A401BC0181E091E00E947501A895F4CFE1
:1003D0008AE091E00E94800042E06AE071E087E0FC
:1003E00091E00E94A30045E06AE071E084E091E0C2
:1003F0000E94A30040E06AE071E081E091E00C948B
:100400007201EE0FFF1F0024001C0BBE0790F69137
:08041000E02D0994F894FFCFE0
:1001000080E191E00E94A20060E08DE091E00E9419
:10011000C9006FEF8DE091E00E94EA0060E08AE0A4
:1001200091E00E94C9006FEF8AE091E00E94EA002E
:100130006FEF87E091E00E94EA0080E091E00C948C
:10014000BF010895249A259A2698279A529A539A7D
:10015000549A80E58CBD81E08DBD5A985B985C987F
:100160005A9A5B9A5C9A08955A985B985C9860FDDD
:100170005A9A61FD5B9A62FD5C9A08956EBD0DB45A
:1001800007FEFDCF8EB50895FC0171836083428325
:1001900008951F93CF93DF93EC01162F6A81888116
:1001A00099810E94B40060E4888199810E94BE0018
:1001B00060E0888199810E94BE00612F88819981C9
:1001C0000E94BE0067E088819981DF91CF911F91E5
:1001D0000C94B4001F93CF93DF93EC01162F6A8128
:1001E000888199810E94B40060E4888199810E948D
:1001F000BE0061E0888199810E94BE00612F8881E4
:1002000099810E94BE0067E088819981DF91CF913A
:100210001F910C94B4001F93CF93DF93EC01162F22
:100220006A81888199810E94B40060E48881998103
:100230000E94BE0062E1888199810E94BE00612F08
:10024000888199810E94BE0067E088819981DF9151
:10025000CF911F910C94B4001F93CF93DF93EC01C7
:10026000162F6A81888199810E94B40060E4888198
:1002700099810E94BE0063E1888199810E94BE003D
:10028000612F888199810E94BE0067E088819981F1
:10029000DF91CF911F910C94B4001F93CF93DF9304
:1002A000EC016A81888199810E94B40061E48881AF
:1002B00099810E94BE0062E1888199810E94BE00FE
:1002C00060E0888199810E94BE00182F67E08881D4
:1002D00099810E94B400812FDF91CF911F910895E1
:1002E0001F93CF93DF93EC016A81888199810E94EB
:1002F000B40061E4888199810E94BE0063E1888135
:1003000099810E94BE0060E0888199810E94BE00B0
:10031000182F67E0888199810E94B400812FDF91B6
:10032000CF911F910895FC01428308950F931F936D
:10033000CF93DF93EC018B016A81888199810E94C0
:10034000B400B8010024660F771F001C660F771FEA
:10035000001C672F702D888199810E94BE00602F3C
:10036000660F660F888199810E94BE0067E08881D0
:100370009981DF91CF911F910F910C94B40010924D
:100380007C0087E880937A00089580917C00807ECD
:10039000682B60937C0080917A00806480937A005F
:1003A00083EA91E00197F1F700C0000080917A00A4
:1003B00086FDFCCF809178009091790008950F938D
:1003C0001F93CF93DF9361E08DE091E00E940B01DA
:1003D000C1E0D0E001E010E02FEF84E39CE0215089
:1003E00080409040E1F700C00000B8010C2E01C031
:1003F000660F0A94EAF78DE091E00E940B012196C6
:10040000C930D10549F761E08AE091E00E940B0113
:10041000C1E0D0E001E010E08FEF94E32CE08150E8
:1004200090402040E1F700C00000B8010C2E01C050
:10043000660F0A94EAF78AE091E00E940B01219688
:10044000C930D10549F7C0E0D0E0BE0184E091E0B9
:100450000E94960187E893E10197F1F700C0000040
:100460002196C11594E0D90781F7C0E0D0E0BE0124
:1004700081E091E00E94960187E893E10197F1F70E
:1004800000C000002196C11594E0D90781F7DF91E3
:10049000CF911F910F9108950F931F93CF93DF93E7
:1004A00061E08DE091E00E940B01C1E0D0E001E04D
:1004B00010E02FEF84E39CE0215080409040E1F772
:1004C00000C00000B8010C2E01C0660F0A94EAF7C4
:1004D0008DE091E00E940B012196C930D10549F7CA
:1004E000DF91CF911F910F9108950F931F93CF9399
:1004F000DF9361E08AE091E00E940B01C1E0D0E06F
:1005000001E010E02FEF84E39CE021508040904018
:10051000E1F700C00000B8010C2E01C0660F0A947C
:10052000EAF78AE091E00E940B012196C930D105DB
:1005300049F7DF91CF911F910F910895CF93DF93EA
:10054000C0E0D0E0BE0184E091E00E94960187E81F
:1005500093E10197F1F700C000002196C11594E0E6
:10056000D90781F7DF91CF910895CF93DF93C0E052
:10057000D0E0BE0181E091E00E94960187E893E11E
:100580000197F1F700C000002196C11594E0D9074A
:1005900081F7DF91CF9108950E9480000E94DF01D2
:1005A000FDCF80E191E00E94A10042E060E171E0B6
:1005B0008DE091E00E94C40043E060E171E08AE0D8
:1005C00091E00E94C40045E060E171E087E091E0C5
:1005D0000E94C40040E060E171E084E091E00E948C
:1005E000930141E060E171E081E091E00C949301BE
:1005F000EE0FFF1F0024001C0BBE0790F691E02DAC
:060600000994F894FFCFFD
:00000001FF

View file

@ -12,7 +12,7 @@ OUTPUT = B15F.elf
HEX = B15F.hex
CFLAGS = -std=c++14 -O3 -mmcu=atmega1284 -DF_CPU=20000000 -DPIO_DISABLE_I2C
LDFLAGS =
OBJECTS = main.o spi.o mcp23s17.o tlc5615.o adu.o
OBJECTS = main.o spi.o mcp23s17.o tlc5615.o adu.o selftest.o vars.o
COMPILE = $(COMPILER_PATH) $(CFLAGS)

View file

@ -1 +1 @@
<AVRWorkspace><IOSettings><CurrentRegisters/></IOSettings><part name="ATMEGA1284"/><Files><File00000 Name="F:\spi.h" Position="262 71 1501 573" LineCol="11 14" State="Maximized"/><File00001 Name="F:\main.cpp" Position="310 159 1427 478" LineCol="3 12" State="Maximized"/><File00002 Name="F:\Makefile" Position="332 188 1449 507" LineCol="16 0" State="Maximized"/><File00003 Name="F:\spi.cpp" Position="354 217 1475 540" LineCol="0 0" State="Maximized"/></Files></AVRWorkspace>
<AVRWorkspace><IOSettings><CurrentRegisters/></IOSettings><part name="ATMEGA1284"/><Files><File00000 Name="F:\main.cpp" Position="267 101 1369 495" LineCol="29 6" State="Maximized"/><File00001 Name="F:\Makefile" Position="289 130 1383 494" LineCol="14 67" State="Maximized"/><File00002 Name="F:\selftest.h" Position="263 71 1501 647" LineCol="9 13" State="Maximized"/><File00003 Name="F:\selftest.cpp" Position="333 188 1427 552" LineCol="32 13" State="Maximized"/><File00004 Name="F:\vars.h" Position="355 217 1449 581" LineCol="12 19" State="Maximized"/></Files></AVRWorkspace>

View file

@ -2,19 +2,12 @@
#include <avr/interrupt.h>
#include <util/delay.h>
#include <avr/wdt.h>
#include "mcp23s17.h"
#include "tlc5615.h"
#include "adu.h"
#include "vars.h"
#include "selftest.h"
#define LED B0
SPI spi;
MCP23S17 beba0(spi, SPIADR::BEBA0);
MCP23S17 sw(spi, SPIADR::SWITCH);
TLC5615 dac0(spi, SPIADR::AA0);
ADU adu;
ISR(WDT_vect)
{
while(1)
@ -27,26 +20,32 @@ ISR(WDT_vect)
WDTCSR |= _BV(WDIE);
}
int main()
void initAll()
{
WDTCSR = _BV(WDIE) | _BV(WDP3) | _BV(WDP0);
dMode(LED, OUT);
dWrite(LED, LOW);
wdt_reset();
sei();
spi.init();
beba0.setDirA(0x00); // alle Ausgang
beba0.setDirB(0xFF); // alle Eingang
beba1.setDirA(0x00); // alle Ausgang
beba1.setDirB(0xFF); // alle Eingang
sw.setDirB(0xFF); // alle Eingang
adu.init();
}
int main()
{
/*WDTCSR = _BV(WDIE) | _BV(WDP3) | _BV(WDP0);
dMode(LED, OUT);
dWrite(LED, LOW);
wdt_reset();
sei();*/
initAll();
while(1)
{
dac0.setValue(adu.getValue(6));
wdt_reset();
testAll();
}
return 0;

49
selftest.cpp Normal file
View file

@ -0,0 +1,49 @@
#include "selftest.h"
void testAll(void)
{
testBEBA0();
testBEBA1();
testDAC0();
testDAC1();
}
void testBEBA0(void)
{
for(uint8_t i = 0; i < 9; i++)
{
beba0.writePortA(_BV(i));
if(i < 8)
_delay_ms(200);
}
}
void testBEBA1(void)
{
for(uint8_t i = 0; i < 9; i++)
{
beba1.writePortA(_BV(i));
if(i < 8)
_delay_ms(200);
}
}
void testDAC0(void)
{
for(uint16_t i = 0; i < 1024; i++)
{
dac0.setValue(i);
_delay_ms(1);
}
}
void testDAC1(void)
{
for(uint16_t i = 0; i < 1024; i++)
{
dac1.setValue(i);
_delay_ms(1);
}
}

12
selftest.h Normal file
View file

@ -0,0 +1,12 @@
#ifndef SELFTEST_H
#define SELFTEST_H
#include "vars.h"
void testAll(void);
void testBEBA0(void);
void testBEBA1(void);
void testDAC0(void);
void testDAC1(void);
#endif // SELFTEST_H

9
vars.cpp Normal file
View file

@ -0,0 +1,9 @@
#include "vars.h"
SPI spi;
MCP23S17 beba0(spi, SPIADR::BEBA0);
MCP23S17 beba1(spi, SPIADR::BEBA1);
MCP23S17 sw(spi, SPIADR::SWITCH);
TLC5615 dac0(spi, SPIADR::AA0);
TLC5615 dac1(spi, SPIADR::AA1);
ADU adu;

16
vars.h Normal file
View file

@ -0,0 +1,16 @@
#ifndef VARS_H
#define VARS_H
#include "mcp23s17.h"
#include "tlc5615.h"
#include "adu.h"
extern SPI spi;
extern MCP23S17 beba0;
extern MCP23S17 beba1;
extern MCP23S17 sw;
extern TLC5615 dac0;
extern TLC5615 dac1;
extern ADU adu;
#endif // VARS_H