diff --git a/B15F.aps b/B15F.aps
index e608e9b..f16887a 100644
--- a/B15F.aps
+++ b/B15F.aps
@@ -1 +1 @@
-B15F22-Mar-2019 14:29:5426-Mar-2019 15:02:47241022-Mar-2019 14:29:5444, 19, 0, 730AVR GCCB15F.elfF:\JTAGICE mkIIATmega1284.xmlfalseR00R01R02R03R04R05R06R07R08R09R10R11R12R13R14R15R16R17R18R19R20R21R22R23R24R25R26R27R28R29R30R31Auto000spi.cppmain.cppMakefilemcp23s17.cppTLC5615.cppadu.cppselftest.cppglobal_vars.cppusart.cpprequests.cppspi.hmcp23s17.hTLC5615.hadu.hselftest.hglobal_vars.husart.hrequests.hdefault\B15F.lssdefault\B15F.mapc++NOatmega12811
B15F.elfc++\0-Wall -gdwarf-2 -Os -std=gnu99 -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enumsdefaultYESMakefileatmega128411
B15F.elfdefault\1C:\avr8-gnu-toolchain-win32_x86\avr\include\C:\avr8-gnu-toolchain-win32_x86\avr\lib\libc.a-Wall -gdwarf-2 -DF_CPU=20000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enumsdefault0C:\avr8-gnu-toolchain-win32_x86\bin\avr-g++.exeC:\WinAVR-20100110\utils\bin\make.exeF:\spi.hF:\mcp23s17.hF:\TLC5615.hF:\adu.hF:\selftest.hF:\global_vars.hF:\usart.hF:\requests.hF:\spi.cppF:\main.cppF:\MakefileF:\mcp23s17.cppF:\TLC5615.cppF:\adu.cppF:\selftest.cppF:\global_vars.cppF:\usart.cppF:\requests.cpp00000Makefile100001main.cpp100002requests.h100003requests.cpp100004usart.cpp1
+B15F22-Mar-2019 14:29:5426-Mar-2019 15:54:13241022-Mar-2019 14:29:5444, 19, 0, 730AVR GCCB15F.elfF:\JTAGICE mkIIATmega1284.xmlfalseR00R01R02R03R04R05R06R07R08R09R10R11R12R13R14R15R16R17R18R19R20R21R22R23R24R25R26R27R28R29R30R31Auto000spi.cppmain.cppMakefilemcp23s17.cppTLC5615.cppadu.cppselftest.cppglobal_vars.cppusart.cpprequests.cppspi.hmcp23s17.hTLC5615.hadu.hselftest.hglobal_vars.husart.hrequests.hdefault\B15F.lssdefault\B15F.mapc++NOatmega12811
B15F.elfc++\0-Wall -gdwarf-2 -Os -std=gnu99 -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enumsdefaultYESMakefileatmega128411
B15F.elfdefault\1C:\avr8-gnu-toolchain-win32_x86\avr\include\C:\avr8-gnu-toolchain-win32_x86\avr\lib\libc.a-Wall -gdwarf-2 -DF_CPU=20000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enumsdefault0C:\avr8-gnu-toolchain-win32_x86\bin\avr-g++.exeC:\WinAVR-20100110\utils\bin\make.exeF:\spi.hF:\mcp23s17.hF:\TLC5615.hF:\adu.hF:\selftest.hF:\global_vars.hF:\usart.hF:\requests.hF:\spi.cppF:\main.cppF:\MakefileF:\mcp23s17.cppF:\TLC5615.cppF:\adu.cppF:\selftest.cppF:\global_vars.cppF:\usart.cppF:\requests.cpp00000Makefile100001main.cpp100002requests.h100003requests.cpp100004usart.cpp100005global_vars.cpp100006global_vars.h100007adu.h1
diff --git a/B15F.elf b/B15F.elf
index eb23975..5b9b132 100644
Binary files a/B15F.elf and b/B15F.elf differ
diff --git a/B15F.hex b/B15F.hex
index b59e8ef..f6ef084 100644
--- a/B15F.hex
+++ b/B15F.hex
@@ -1,112 +1,145 @@
-:100000000C9447000C9464000C9464000C946400FD
-:100010000C9464000C9464000C9464000C946400D0
-:100020000C9466000C9464000C9464000C946400BE
-:100030000C9464000C9464000C9464000C946400B0
-:100040000C9464000C9464000C9464000C946400A0
-:100050000C9464000C9464000C9464000C94640090
-:100060000C9464000C9464000C9464000C94640080
-:100070000C9464000C9464000C9464000C94640070
-:100080000C9464000C9464000C94640043031124E9
-:100090001FBECFEFD0E4DEBFCDBF21E0A0E0B1E0D6
-:1000A00001C01D92A231B207E1F710E0C7E4D0E031
-:1000B00004C02197FE010E946A03C634D107C9F724
-:1000C0000E9429030C9473030C9400001F920F925A
-:1000D0000FB60F92112491E085B1892785B92FEFD2
-:1000E00034E38CE0215030408040E1F700C0000054
-:1000F000F3CF81E191E00E94B00060E08EE091E0FA
-:100100000E94F3006FEF8EE091E00E94140160E026
-:100110008BE091E00E94F3006FEF8BE091E00E9492
-:1001200014016FEF88E091E00E94140181E091E0FA
-:100130000E94E90180E091E00C94D60280E091E019
-:100140000E94F202823049F0833029F0813009F0B8
-:1001500008950C940A030C941C030C941B0308953B
-:1001600084B1806B84B926988AB18C618AB980E5A4
-:100170008CBD81E08DBD8BB1837E8BB95A9A5B9A21
-:100180005C9A08958BB1837E8BB98BB160FD10C0F2
-:1001900090E0892B8BB98BB161FD10C090E0892B69
-:1001A0008BB98BB162FD10C090E0892B8BB908959B
-:1001B00094E0892B8BB98BB161FFF0CF98E0892B4C
-:1001C0008BB98BB162FFF0CF90E1892B8BB9089589
-:1001D0006EBD0DB407FEFDCF8EB50895FC01718391
-:1001E0006083428308951F93CF93DF93EC01162F12
-:1001F0006A81888199810E94C20060E48881998126
-:100200000E94E80060E0888199810E94E800612FE7
-:10021000888199810E94E80067E088819981DF9157
-:10022000CF911F910C94C2001F93CF93DF93EC01E9
-:10023000162F6A81888199810E94C20060E48881BA
-:1002400099810E94E80061E0888199810E94E8001C
-:10025000612F888199810E94E80067E088819981F7
-:10026000DF91CF911F910C94C2001F93CF93DF9326
-:10027000EC01162F6A81888199810E94C20060E496
-:10028000888199810E94E80062E1888199810E94B9
-:10029000E800612F888199810E94E80067E08881E9
-:1002A0009981DF91CF911F910C94C2001F93CF933E
-:1002B000DF93EC01162F6A81888199810E94C20028
-:1002C00060E4888199810E94E80063E188819981D6
-:1002D0000E94E800612F888199810E94E80067E010
-:1002E00088819981DF91CF911F910C94C2001F9357
-:1002F000CF93DF93EC016A81888199810E94C200CB
-:1003000061E4888199810E94E80062E18881998195
-:100310000E94E80060E0888199810E94E800182F1F
-:1003200067E0888199810E94C200812FDF91CF917F
-:100330001F9108951F93CF93DF93EC016A81888109
-:1003400099810E94C20061E4888199810E94E8003D
-:1003500063E1888199810E94E80060E08881998149
-:100360000E94E800182F67E0888199810E94C200EE
-:10037000812FDF91CF911F910895FC014283089551
-:100380000F931F93CF93DF93EC018B016A818881D8
-:1003900099810E94C200B8010024660F771F001CDB
-:1003A000660F771F001C672F702D888199810E942E
-:1003B000E800602F660F660F888199810E94E8002F
-:1003C00067E088819981DF91CF911F910F910C9403
-:1003D000C20010927C0087E880937A000895809193
-:1003E0007C00807E682B60937C0080917A00806422
-:1003F00080937A0083EA91E00197F1F700C0000052
-:1004000080917A0086FDFCCF8091780090917900F0
-:1004100008950F931F93CF93DF9361E08EE091E0F7
-:100420000E943501C1E0D0E001E010E02FEF84E34D
-:100430009CE0215080409040E1F700C00000B801EE
-:100440000C2E01C0660F0A94EAF78EE091E00E943C
-:1004500035012196C930D10549F7DF91CF911F9120
-:100460000F9108950F931F93CF93DF9361E08BE07B
-:1004700091E00E943501C1E0D0E001E010E02FEFF3
-:1004800084E39CE0215080409040E1F700C00000F0
-:10049000B8010C2E01C0660F0A94EAF78BE091E0D8
-:1004A0000E9435012196C930D10549F7DF91CF91DE
-:1004B0001F910F910895CF93DF93C0E0D0E0BE016C
-:1004C00085E091E00E94C00187E893E10197F1F790
-:1004D00000C000002196C11594E0D90781F72FE7ED
-:1004E0008AE196E0215080409040E1F700C0000092
-:1004F00060E070E085E091E0DF91CF910C94C00165
-:10050000CF93DF93C0E0D0E0BE0182E091E00E9493
-:10051000C00187E893E10197F1F700C00000219640
-:10052000C11594E0D90781F72FE78AE196E02150C1
-:1005300080409040E1F700C0000060E070E082E0A1
-:1005400091E0DF91CF910C94C00160E081E091E0F7
-:100550000E94EF01BC0185E091E00E94C00161E0D2
-:1005600081E091E00E94EF01BC0182E091E00E94F5
-:10057000C0018EE091E00E949A01682F8EE091E028
-:100580000E94350188E091E00E949A01682F8BE07B
-:1005900091E00E943501D9CF0E9409020E943202E7
-:1005A0000E945B020E9480020E94A50288E1809363
-:1005B000C10086E08093C2001092C5008FE1809355
-:1005C000C40008956093C6008091C00086FFFCCFF0
-:1005D00008956093C6007093C6008091C00086FFA6
-:1005E000FCCF08958091C00087FFFCCF8091C600AA
-:1005F00008958091C00087FFFCCF2091C60030E0B5
-:100600009091C00097FFFCCF8091C600A901582BA4
-:10061000CA010895CF9380E091E00E94F202C82FB2
-:100620006FEF80E091E00E94E2026C2F80E091E0A9
-:10063000CF910C94E202089580E091E00E94F902CB
-:10064000BC01660F771F680F791F80E091E00C9462
-:10065000E9020E94790080E091E00E94F20282307B
-:1006600061F0833069F08130B1F70E940A0380E0C5
-:1006700091E00E94F2028230A1F70E941B03EBCFAF
-:100680000E941C03E8CF81E191E00E94AF0042E0AC
-:1006900061E171E08EE091E00E94EE0043E061E1F3
-:1006A00071E08BE091E00E94EE0045E061E171E0D5
-:1006B00088E091E00E94EE0040E061E171E085E0B9
-:1006C00091E00E94BD0141E061E171E082E091E0D2
-:1006D0000C94BD01EE0FFF1F0024001C0BBE079001
-:0A06E000F691E02D0994F894FFCF85
+:100000000C945D000C9487000C9487000C9487007E
+:100010000C9487000C9487000C9487000C94870044
+:100020000C9489000C9487000C9487000C94870032
+:100030000C9487000C9487000C9487000C94870024
+:100040000C9487000C9487000C9487000C94870014
+:100050000C9487000C9487000C9487000C94870004
+:100060000C9487000C9487000C9487000C948700F4
+:100070000C9487000C9487000C9487000C948700E4
+:100080000C9487000C9487000C948700E600E8002D
+:10009000EA00E100EC00EE00F000F200F400F600EF
+:1000A000F80040043C0438041E04340430042C04DA
+:1000B0002804240420041C04440411241FBECFEF90
+:1000C000D0E4DEBFCDBF11E0A0E0B1E0ECEEF8E09F
+:1000D00000E00BBF02C007900D92A230B107D9F724
+:1000E00021E0A2E0B1E001C01D92A431B207E1F726
+:1000F00010E0CDE5D0E004C02197FE010E946B0422
+:10010000CC35D107C9F70E94EB030C9474040C940E
+:1001100000001F920F920FB60F9211240BB60F9290
+:100120008F93EF93FF93E0E6F0E08081806480831B
+:10013000FF91EF918F910F900BBE0F900FBE0F901C
+:100140001F90189580E4809360009EE088E10FB6D0
+:10015000F894A895809360000FBE90936000A895D6
+:1001600083E191E00E94FB0060E080E191E00E9469
+:100170003E016FEF80E191E00E945F0160E08DE061
+:1001800091E00E943E016FEF8DE091E00E945F01DF
+:100190006FEF8AE091E00E945F0183E091E00E94AE
+:1001A000340282E091E00E942C037894089582E06A
+:1001B00091E00E94480390E0FC013197EB30F1059B
+:1001C00008F00895EA5BFF4F0C946B040C946003F5
+:1001D0000C9471030C9472030C947F030C9492039F
+:1001E0000C94A5030C94AE030C94B7030C94CA03AF
+:1001F0000C94DD03089584B1806B84B926988AB18C
+:100200008C618AB980E58CBD81E08DBD8BB1837E28
+:100210008BB95A9A5B9A5C9A08958BB1837E8BB99D
+:100220008BB160FD10C090E0892B8BB98BB161FD63
+:1002300010C090E0892B8BB98BB162FD10C090E0AB
+:10024000892B8BB9089594E0892B8BB98BB161FF11
+:10025000F0CF98E0892B8BB98BB162FFF0CF90E1A2
+:10026000892B8BB908956EBD0DB407FEFDCF8EB5F9
+:100270000895FC0171836083428308951F93CF9397
+:10028000DF93EC01162F6A81888199810E940D010C
+:1002900060E4888199810E94330160E088819981BE
+:1002A0000E943301612F888199810E94330167E0A8
+:1002B00088819981DF91CF911F910C940D011F933B
+:1002C000CF93DF93EC01162F6A81888199810E9478
+:1002D0000D0160E4888199810E94330161E0888189
+:1002E00099810E943301612F888199810E94330195
+:1002F00067E088819981DF91CF911F910C940D0166
+:100300001F93CF93DF93EC01162F6A818881998127
+:100310000E940D0160E4888199810E94330162E1AD
+:10032000888199810E943301612F888199810E947F
+:10033000330167E088819981DF91CF911F910C94FF
+:100340000D011F93CF93DF93EC01162F6A818881F3
+:1003500099810E940D0160E4888199810E94330196
+:1003600063E1888199810E943301612F888199819D
+:100370000E94330167E088819981DF91CF911F91BD
+:100380000C940D011F93CF93DF93EC016A81888158
+:1003900099810E940D0161E4888199810E94330155
+:1003A00062E1888199810E94330160E088819981AE
+:1003B0000E943301182F67E0888199810E940D0106
+:1003C000812FDF91CF911F9108951F93CF93DF93DA
+:1003D000EC016A81888199810E940D0161E4888124
+:1003E00099810E94330163E1888199810E943301E0
+:1003F00060E0888199810E943301182F67E088812D
+:1004000099810E940D01812FDF91CF911F91089555
+:10041000FC01428308950F931F93CF93DF93EC0168
+:100420008B016A81888199810E940D01B8010024A5
+:10043000660F771F001C660F771F001C672F702D3B
+:10044000888199810E943301602F660F660F888131
+:1004500099810E94330167E088819981DF91CF9172
+:100460001F910F910C940D0110927C0087E88093EE
+:100470007A00089580917C00807E682B60937C00D8
+:1004800080917A00806480937A0083EA91E00197FA
+:10049000F1F700C0000080917A0086FDFCCF8091CA
+:1004A00078009091790008950F931F93CF93DF9375
+:1004B00061E080E191E00E948001C1E0D0E001E0D4
+:1004C00010E02FEF84E39CE0215080409040E1F762
+:1004D00000C00000B8010C2E01C0660F0A94EAF7B4
+:1004E00080E191E00E9480012196C930D10549F751
+:1004F000DF91CF911F910F9108950F931F93CF9389
+:10050000DF9361E08DE091E00E948001C1E0D0E0E6
+:1005100001E010E02FEF84E39CE021508040904008
+:10052000E1F700C00000B8010C2E01C0660F0A946C
+:10053000EAF78DE091E00E9480012196C930D10553
+:1005400049F7DF91CF911F910F910895CF93DF93DA
+:10055000C0E0D0E0BE0187E091E00E940B0287E896
+:1005600093E10197F1F700C000002196C11594E0D6
+:10057000D90781F72FE78AE196E02150804090402B
+:10058000E1F700C0000060E070E087E091E0DF91FB
+:10059000CF910C940B02CF93DF93C0E0D0E0BE016B
+:1005A00084E091E00E940B0287E893E10197F1F764
+:1005B00000C000002196C11594E0D90781F72FE70C
+:1005C0008AE196E0215080409040E1F700C00000B1
+:1005D00060E070E084E091E0DF91CF910C940B0239
+:1005E0000FB6F894A89580916000886180936000B0
+:1005F000109260000FBE60E083E091E00E943A023A
+:10060000BC0187E091E00E940B0261E083E091E091
+:100610000E943A02BC0184E091E00E940B0280E15A
+:1006200091E00E94E501682F80E191E00E94800145
+:100630008AE091E00E94E501682F8DE091E00E9440
+:100640008001D9CF0E9454020E947D020E94A6021E
+:100650000E94CB020E94F00288E18093C10086E0F4
+:100660008093C2001092C5008FE18093C40008956A
+:100670006093C6008091C00086FFFCCF0895609310
+:10068000C6007093C6008091C00086FFFCCF08951D
+:100690008091C00087FFFCCF8091C60008958091B3
+:1006A000C00087FFFCCF2091C60030E09091C000D1
+:1006B00097FFFCCF8091C600A901582BCA0108956D
+:1006C000CF9382E091E00E944803C82F6FEF82E051
+:1006D00091E00E9438036C2F82E091E0CF910C945E
+:1006E0003803089582E091E00E944F03BC01660F39
+:1006F000771F680F791F82E091E00C943F0382E03E
+:1007000091E00E944803682F80E191E00E948001FF
+:1007100080910001811101C008956FEF82E091E0A6
+:100720000C94380382E091E00E944803682F8DE02A
+:1007300091E00E94800180910001811101C0089523
+:100740006FEF82E091E00C94380380E191E00E9429
+:10075000E501682F82E091E00C9438038DE091E090
+:100760000E94E501682F82E091E00C94380382E05A
+:1007700091E00E944F03BC0187E091E00E940B02D0
+:1007800080910001811101C008956FEF82E091E036
+:100790000C94380382E091E00E944F03BC0184E096
+:1007A00091E00E940B0280910001811101C0089527
+:1007B0006FEF82E091E00C94380382E091E00E94B8
+:1007C0004803682F83E091E00E943A02BC0182E076
+:1007D00091E00C943F030E94A200C3E0D0E06FEFD1
+:1007E00080E191E00E9480012FE78AE196E02150AC
+:1007F00080409040E1F700C0000060E080E191E0BF
+:100800000E9480012FE78AE196E0215080409040CD
+:10081000E1F700C00000A895219709F782E091E078
+:100820000E94480390E0FC013197EB30F10530F471
+:10083000EF5AFF4F0C946B040E94DD03A895EECF96
+:100840000E94CA03A895EACF0E94B703A895E6CFF5
+:100850000E94AE03A895E2CF0E94A503A895DECF23
+:100860000E949203A895DACF0E947F03A895D6CF65
+:100870000E947203A895D2CF0E947103A895CECF93
+:100880000E946003A895CACF83E191E00E94FA001C
+:1008900042E063E171E080E191E00E94390143E0D0
+:1008A00063E171E08DE091E00E94390145E063E190
+:1008B00071E08AE091E00E94390140E063E171E07B
+:1008C00087E091E00E94080241E063E171E084E08A
+:1008D00091E00C940802EE0FFF1F0024001C0BBED9
+:0C08E0000790F691E02D0994F894FFCFEA
+:0208EC00010009
:00000001FF
diff --git a/global_vars.cpp b/global_vars.cpp
index ac6f544..9b88db9 100644
--- a/global_vars.cpp
+++ b/global_vars.cpp
@@ -8,3 +8,5 @@ TLC5615 dac0(spi, SPIADR::AA0);
TLC5615 dac1(spi, SPIADR::AA1);
ADU adu;
USART usart;
+
+bool ACK_MODE = 1;
diff --git a/global_vars.h b/global_vars.h
index c7ecd0c..d6206c2 100644
--- a/global_vars.h
+++ b/global_vars.h
@@ -15,4 +15,6 @@ extern TLC5615 dac1;
extern ADU adu;
extern USART usart;
+extern bool ACK_MODE;
+
#endif // GLOBAL_VARS_H
diff --git a/main.cpp b/main.cpp
index 2dad6ac..0759438 100644
--- a/main.cpp
+++ b/main.cpp
@@ -7,20 +7,21 @@
#include "requests.h"
-#define LED PB0
+
ISR(WDT_vect)
{
- while(1)
- {
- PORTB ^= _BV(LED);
- _delay_ms(200);
- }
WDTCSR |= _BV(WDIE);
}
void initAll()
{
+ // Konfiguriere WDT
+ WDTCSR = _BV(WDIE);
+ wdt_enable(WDTO_1S);
+ wdt_reset();
+ //wdt_disable();
+
spi.init();
beba0.setDirA(0x00); // alle Ausgang
@@ -31,6 +32,9 @@ void initAll()
adu.init();
usart.init();
+
+ // aktiviere Interrupts
+ sei();
}
void handleRequest()
@@ -54,6 +58,34 @@ void handleRequest()
rqTestIntConv();
break;
+ case RQ_BA0:
+ rqDigitalWrite0();
+ break;
+
+ case RQ_BA1:
+ rqDigitalWrite1();
+ break;
+
+ case RQ_BE0:
+ rqDigitalRead0();
+ break;
+
+ case RQ_BE1:
+ rqDigitalRead1();
+ break;
+
+ case RQ_AA0:
+ rqAnalogWrite0();
+ break;
+
+ case RQ_AA1:
+ rqAnalogWrite1();
+ break;
+
+ case RQ_ADC:
+ rqAnalogRead();
+ break;
+
default:
break;
}
@@ -61,17 +93,23 @@ void handleRequest()
int main()
{
- /*WDTCSR = _BV(WDIE) | _BV(WDP3) | _BV(WDP0);
- DDRB |= _BV(LED);
- PORTB &= ~_BV(LED);
- wdt_reset();
- sei();*/
initAll();
-
+
+ // DEBUGGING, spaeter entfernen!
+ for(int i = 0; i < 3; i++)
+ {
+ beba0.writePortA(0xFF);
+ _delay_ms(100);
+ beba0.writePortA(0x00);
+ _delay_ms(100);
+ wdt_reset();
+ }
+
while(1)
{
handleRequest();
+ wdt_reset();
}
return 0;
diff --git a/requests.cpp b/requests.cpp
index 236b99a..3d483a7 100644
--- a/requests.cpp
+++ b/requests.cpp
@@ -16,3 +16,58 @@ void rqTestIntConv()
{
usart.writeInt(usart.readInt() * 3);
}
+
+void rqDigitalWrite0()
+{
+ uint8_t port = usart.readByte();
+ beba0.writePortA(port);
+
+ if(ACK_MODE)
+ usart.writeByte(USART::MSG_OK);
+}
+
+void rqDigitalWrite1()
+{
+ uint8_t port = usart.readByte();
+ beba1.writePortA(port);
+
+ if(ACK_MODE)
+ usart.writeByte(USART::MSG_OK);
+}
+
+void rqDigitalRead0()
+{
+ uint8_t port = beba0.readPortB();
+ usart.writeByte(port);
+}
+
+void rqDigitalRead1()
+{
+ uint8_t port = beba1.readPortB();
+ usart.writeByte(port);
+}
+
+void rqAnalogWrite0()
+{
+ uint16_t value = usart.readInt();
+ dac0.setValue(value);
+
+ if(ACK_MODE)
+ usart.writeByte(USART::MSG_OK);
+}
+
+void rqAnalogWrite1()
+{
+ uint16_t value = usart.readInt();
+ dac1.setValue(value);
+
+ if(ACK_MODE)
+ usart.writeByte(USART::MSG_OK);
+}
+
+void rqAnalogRead()
+{
+ uint8_t channel = usart.readByte();
+ uint16_t value = adu.getValue(channel);
+ usart.writeInt(value);
+}
diff --git a/requests.h b/requests.h
index b62c9b2..00f1324 100644
--- a/requests.h
+++ b/requests.h
@@ -7,10 +7,24 @@ constexpr static uint8_t RQ_DISC = 0;
constexpr static uint8_t RQ_TEST = 1;
constexpr static uint8_t RQ_INFO = 2;
constexpr static uint8_t RQ_INT = 3;
+constexpr static uint8_t RQ_BA0 = 5;
+constexpr static uint8_t RQ_BA1 = 6;
+constexpr static uint8_t RQ_BE0 = 7;
+constexpr static uint8_t RQ_BE1 = 8;
+constexpr static uint8_t RQ_AA0 = 9;
+constexpr static uint8_t RQ_AA1 = 10;
+constexpr static uint8_t RQ_ADC = 11;
void rqTestConnection(void);
void rqBoardInfo(void);
void rqTestIntConv(void);
void rqTestLongConv(void);
+void rqDigitalWrite0(void);
+void rqDigitalWrite1(void);
+void rqDigitalRead0(void);
+void rqDigitalRead1(void);
+void rqAnalogWrite0(void);
+void rqAnalogWrite1(void);
+void rqAnalogRead(void);
#endif // REQUESTS_H
diff --git a/selftest.cpp b/selftest.cpp
index 911d54e..2cf7bd2 100644
--- a/selftest.cpp
+++ b/selftest.cpp
@@ -55,6 +55,10 @@ void testDAC1(void)
void testMirror()
{
+ // deaktiviere WDT
+ wdt_disable();
+
+ // Endlosschleife
while(1)
{
dac0.setValue(adu.getValue(0));
diff --git a/selftest.h b/selftest.h
index 0035ed1..5a95f5f 100644
--- a/selftest.h
+++ b/selftest.h
@@ -1,6 +1,7 @@
#ifndef SELFTEST_H
#define SELFTEST_H
+#include
#include "global_vars.h"
void testAll(void);