boardinfo

This commit is contained in:
Tristan Krause 2019-03-27 15:48:36 +01:00
parent a2d78446d3
commit 35e1c29e89
10 changed files with 202 additions and 156 deletions

BIN
B15F.elf

Binary file not shown.

316
B15F.hex
View file

@ -1,153 +1,165 @@
:100000000C945F000C9489000C9489000C94890076
:100010000C9489000C9489000C9489000C9489003C
:100020000C948B000C9489000C9489000C9489002A
:100030000C9489000C9489000C9489000C9489001C
:100040000C9489000C9489000C9489000C9489000C
:100050000C9489000C9489000C9489000C948900FC
:100060000C9489000C9489000C9489000C948900EC
:100070000C9489000C9489000C9489000C948900DC
:100080000C9489000C9489000C948900DF00E10035
:10009000E300DA00E500E700E900EB00ED00EF0027
:1000A000F100F3007E047B047804540475047204A8
:1000B0006F046C04690466046304810484041124DD
:1000C0001FBECFEFD0E4DEBFCDBF11E0A0E0B1E0B6
:1000D000ECE6F9E000E00BBF02C007900D92A23001
:1000E000B107D9F721E0A2E0B1E001C01D92A4312F
:1000F000B207E1F710E0CFE5D0E004C02197FE01A0
:100100000E94AB04CE35D107C9F70E9452040C946B
:10011000B4040C9400001F920F920FB60F9211249A
:100120008F9388E4809360008F910F900FBE0F90A3
:100130001F90189583E191E00E94F60060E080E155
:1001400091E00E9439016FEF80E191E00E945A0135
:1001500060E08DE091E00E9439016FEF8DE091E069
:100160000E945A016FEF8AE091E00E945A0183E0F9
:1001700091E00E942F0282E091E00E942703789490
:1001800098E088E10FB6F894A895809360000FBEC0
:100190009093600088E480936000A895089582E0C1
:1001A00091E00E944A03A89590E0FC013197EC3061
:1001B000F10508F00895EA5BFF4F0C94AB040C9432
:1001C00062030C9473030C9474030C9481030C94D9
:1001D00094030C94A7030C94B0030C94B9030C94EF
:1001E000CC030C94DF030C94ED03089584B1806B71
:1001F00084B926988AB18C618AB980E58CBD81E08A
:100200008DBD8BB1837E8BB95A9A5B9A5C9A0895A7
:100210008BB1837E8BB98BB160FD10C090E0892BD0
:100220008BB98BB161FD10C090E0892B8BB98BB17C
:1002300062FD10C090E0892B8BB9089594E0892B62
:100240008BB98BB161FFF0CF98E0892B8BB98BB163
:1002500062FFF0CF90E1892B8BB908956EBD0DB48C
:1002600007FEFDCF8EB50895FC0171836083428344
:1002700008951F93CF93DF93EC01162F6A81888135
:1002800099810E94080160E4888199810E942E0171
:1002900060E0888199810E942E01612F8881998177
:1002A0000E942E0167E088819981DF91CF911F9193
:1002B0000C9408011F93CF93DF93EC01162F6A81F2
:1002C000888199810E94080160E4888199810E9457
:1002D0002E0161E0888199810E942E01612F888121
:1002E00099810E942E0167E088819981DF91CF91E9
:1002F0001F910C9408011F93CF93DF93EC01162FED
:100300006A81888199810E94080160E488819981CD
:100310000E942E0162E1888199810E942E01612F45
:10032000888199810E942E0167E088819981DF91FF
:10033000CF911F910C9408011F93CF93DF93EC0191
:10034000162F6A81888199810E94080160E4888162
:1003500099810E942E0163E1888199810E942E017A
:10036000612F888199810E942E0167E0888199819F
:10037000DF91CF911F910C9408011F93CF93DF93CE
:10038000EC016A81888199810E94080161E4888179
:1003900099810E942E0162E1888199810E942E013B
:1003A00060E0888199810E942E01182F67E0888182
:1003B00099810E940801812FDF91CF911F910895AB
:1003C0001F93CF93DF93EC016A81888199810E940A
:1003D000080161E4888199810E942E0163E188818E
:1003E00099810E942E0160E0888199810E942E01EE
:1003F000182F67E0888199810E940801812FDF9181
:10040000CF911F910895FC01428308950F931F938C
:10041000CF93DF93EC018B016A81888199810E94DF
:100420000801B8010024660F771F001C660F771FB4
:10043000001C672F702D888199810E942E01602FEA
:10044000660F660F888199810E942E0167E088817E
:100450009981DF91CF911F910F910C940801109217
:100460007C0087E880937A00089580917C00807EEC
:10047000682B60937C0080917A00806480937A007E
:1004800083EA91E00197F1F700C0000080917A00C3
:1004900086FDFCCF809178009091790008950F93AC
:1004A0001F93CF93DF9361E080E191E00E947B0195
:1004B000C1E0D0E001E010E02FEF84E39CE02150A8
:1004C00080409040E1F700C00000B8010C2E01C050
:1004D000660F0A94EAF780E191E00E947B01219681
:1004E000C930D10549F7DF91CF911F910F91089540
:1004F0000F931F93CF93DF9361E08DE091E00E9413
:100500007B01C1E0D0E001E010E02FEF84E39CE04C
:10051000215080409040E1F700C00000B8010C2E4F
:1005200001C0660F0A94EAF78DE091E00E947B011A
:100530002196C930D10549F7DF91CF911F910F91D5
:100540000895CF93DF93C0E0D0E0BE0187E091E053
:100550000E94060287E893E10197F1F700C00000CE
:100560002196C11594E0D90781F72FE78AE196E03B
:10057000215080409040E1F700C0000060E070E052
:1005800087E091E0DF91CF910C940602CF93DF9347
:10059000C0E0D0E0BE0184E091E00E94060287E85E
:1005A00093E10197F1F700C000002196C11594E096
:1005B000D90781F72FE78AE196E0215080409040EB
:1005C000E1F700C0000060E070E084E091E0DF91BE
:1005D000CF910C9406020FB6F894A8958091600014
:1005E000886180936000109260000FBE60E083E03D
:1005F00091E00E943502BC0187E091E00E94060272
:1006000061E083E091E00E943502BC0184E091E06A
:100610000E94060280E191E00E94E001682F80E1E3
:1006200091E00E947B018AE091E00E94E001682F46
:100630008DE091E00E947B01D9CF0E944F020E9481
:1006400078020E94A1020E94C6020E94EB0282E090
:100650008093C00088E18093C10086E08093C2004F
:100660001092C50084E18093C40008958091C00079
:1006700085FFFCCF6093C60008958091C00085FF80
:10068000FCCF6093C6008091C00085FFFCCF7093C3
:10069000C60008958091C00087FFFCCF8091C600FE
:1006A00008958091C00087FFFCCF2091C60030E004
:1006B0009091C00097FFFCCF8091C600A901582BF4
:1006C000CA010895CF9382E091E00E944A03C82FA7
:1006D0006FEF82E091E00E9436036C2F82E091E0A0
:1006E000CF910C943603089582E091E00E9451036B
:1006F000BC01660F771F680F791F82E091E00C94B0
:100700003D0382E091E00E944A03682F80E191E07E
:100710000E947B0180910001811101C008956FEF5B
:1007200082E091E00C94360382E091E00E944A035B
:10073000682F8DE091E00E947B0180910001811182
:1007400001C008956FEF82E091E00C94360380E1E0
:1007500091E00E94E001682F82E091E00C94360362
:100760008DE091E00E94E001682F82E091E00C941E
:10077000360382E091E00E945103BC0187E091E0E2
:100780000E94060280910001811101C008956FEF5F
:1007900082E091E00C94360382E091E00E945103E4
:1007A000BC0184E091E00E94060280910001811169
:1007B00001C008956FEF82E091E00C94360382E06F
:1007C00091E00E944A03682F83E091E00E94350285
:1007D000BC0182E091E00C943D038F929F92AF9216
:1007E000BF92CF92DF92EF92FF920F931F93CF931E
:1007F000DF9382E091E00E944A03882E82E091E03C
:100800000E944A03982E82E091E00E945103EC017D
:1008100082E091E00E9451035C0182E091E00E943D
:1008200051038C016FEF82E091E00E943603A09E9D
:100830006001A19ED00CB09ED00C1124CC15DD051A
:1008400001F1BE0187E091E00E940602682D83E07D
:1008500091E00E9435027C01692D83E091E00E94C5
:1008600035028C01B70182E091E00E943D03B8019E
:1008700082E091E00E943D03CA0DDB1DCC16DD062F
:1008800001F76FEF82E091E0DF91CF911F910F911F
:10089000FF90EF90DF90CF90BF90AF909F908F90A0
:1008A0000C9436030E949A0082E091E00E944A0371
:1008B000A89590E0FC013197EC30F105A8F7EE5ACD
:1008C000FF4F0C94AB040E94DF03EECF0E94CC03D9
:1008D000EBCF0E94B903E8CF0E94B003E5CF0E949E
:1008E000A703E2CF0E949403DFCF0E948103DCCFF5
:1008F0000E947403D9CF0E947303D6CF0E94620373
:10090000D3CF0E94ED03D0CF83E191E00E94F500A8
:1009100042E063E171E080E191E00E94340143E054
:1009200063E171E08DE091E00E94340145E063E114
:1009300071E08AE091E00E94340140E063E171E0FF
:1009400087E091E00E94030241E063E171E084E00E
:1009500091E00C940302EE0FFF1F0024001C0BBE5D
:0C0960000790F691E02D0994F894FFCF69
:02096C00010088
:100000000C9461000C948B000C948B000C948B006E
:100010000C948B000C948B000C948B000C948B0034
:100020000C948D000C948B000C948B000C948B0022
:100030000C948B000C948B000C948B000C948B0014
:100040000C948B000C948B000C948B000C948B0004
:100050000C948B000C948B000C948B000C948B00F4
:100060000C948B000C948B000C948B000C948B00E4
:100070000C948B000C948B000C948B000C948B00D4
:100080000C948B000C948B000C948B00E000EB0024
:10009000ED00EF00DA00F100F300F500F700F900E1
:1000A000FB00FD00FF00CA04C704C404C1049B0494
:1000B000BE04BB04B804B504B204AF04AC04A90484
:1000C000D50411241FBECFEFD0E4DEBFCDBF11E0B9
:1000D000A0E0B1E0EEE0FAE000E00BBF02C0079064
:1000E0000D92A432B107D9F721E0A4E2B1E001C03A
:1000F0001D92A633B207E1F710E0C1E6D0E004C0DC
:100100002197FE010E94FC04C036D107C9F70E9466
:1001100099040C9405050C9400001F920F920FB6E1
:100120000F9211248F9388E4809360008F910F9039
:100130000FBE0F901F90189585E391E00E94020179
:1001400060E082E391E00E9445016FEF82E391E07D
:100150000E94660160E08FE291E00E9445016FEF2E
:100160008FE291E00E9466016FEF8CE291E00E94C5
:10017000660185E291E00E943D0284E291E00E94E6
:100180003503789498E088E10FB6F894A8958093A9
:1001900060000FBE9093600088E480936000A89593
:1001A000089584E291E00E946D03A89590E08D305F
:1001B000910508F00895FC01EA5BFF4F0C94FC04E4
:1001C0008091C00087FFF6CF8091C6008091C0006B
:1001D00087FDFACF08950C9485030C9496030C9434
:1001E000BA030C94C7030C94DA030C94ED030C943B
:1001F000F6030C94FF030C9412040C9425040C9445
:100200003304089584B1806B84B926988AB18C61D7
:100210008AB980E58CBD81E08DBD8BB1837E8BB9C1
:100220005A9A5B9A5C9A08958BB1837E8BB98BB195
:1002300060FD10C090E0892B8BB98BB161FD10C0BF
:1002400090E0892B8BB98BB162FD10C090E0892BB7
:100250008BB9089594E0892B8BB98BB161FFF0CFF6
:1002600098E0892B8BB98BB162FFF0CF90E1892B9D
:100270008BB908956EBD0DB407FEFDCF8EB5089500
:10028000FC0171836083428308951F93CF93DF93B2
:10029000EC01162F6A81888199810E94140160E423
:1002A000888199810E943A0160E0888199810E9449
:1002B0003A01612F888199810E943A0167E0888123
:1002C0009981DF91CF911F910C9414011F93CF93CB
:1002D000DF93EC01162F6A81888199810E941401B5
:1002E00060E4888199810E943A0161E08881998166
:1002F0000E943A01612F888199810E943A0167E04A
:1003000088819981DF91CF911F910C9414011F93E3
:10031000CF93DF93EC01162F6A81888199810E9427
:10032000140160E4888199810E943A0162E1888128
:1003300099810E943A01612F888199810E943A0136
:1003400067E088819981DF91CF911F910C9414010E
:100350001F93CF93DF93EC01162F6A8188819981D7
:100360000E94140160E4888199810E943A0163E14E
:10037000888199810E943A01612F888199810E9428
:100380003A0167E088819981DF91CF911F910C94A8
:1003900014011F93CF93DF93EC016A8188819981C7
:1003A0000E94140161E4888199810E943A0162E10E
:1003B000888199810E943A0160E0888199810E9438
:1003C0003A01182F67E0888199810E941401812FDA
:1003D000DF91CF911F9108951F93CF93DF93EC018D
:1003E0006A81888199810E94140161E488819981E0
:1003F0000E943A0163E1888199810E943A0160E09C
:10040000888199810E943A01182F67E0888199813B
:100410000E941401812FDF91CF911F910895FC015B
:1004200071836083428308950F931F93CF93DF936B
:10043000EC018B016A81888199810E941401B801C5
:100440000024660F771F001C660F771F001C672FA4
:10045000702D888199810E943A01602F660F660F86
:10046000888199810E943A0167E088819981DF91B2
:10047000CF911F910F910C94140110927C0087E88A
:1004800080937A00089580917C00807E682B609331
:100490007C0080917A00806480937A0083EA91E006
:1004A0000197F1F700C0000080917A0086FDFCCF33
:1004B000809178009091790008950F931F93CF93C6
:1004C000DF9361E082E391E00E948701C1E0D0E028
:1004D00001E010E02FEF84E39CE021508040904049
:1004E000E1F700C00000B8010C2E01C0660F0A94AD
:1004F000EAF782E391E00E9487012196C930D10595
:1005000049F7DF91CF911F910F9108950F931F939A
:10051000CF93DF9361E08FE291E00E948701C1E019
:10052000D0E001E010E02FEF84E39CE02150804018
:100530009040E1F700C00000B8010C2E01C0660F2A
:100540000A94EAF78FE291E00E9487012196C93070
:10055000D10549F7DF91CF911F910F910895CF9366
:10056000DF93C0E0D0E0BE0189E291E00E94140276
:1005700087E893E10197F1F700C000002196C115CB
:1005800094E0D90781F72FE78AE196E02150804077
:100590009040E1F700C0000060E070E089E291E087
:1005A000DF91CF910C941402CF93DF93C0E0D0E0A1
:1005B000BE0186E291E00E94140287E893E1019770
:1005C000F1F700C000002196C11594E0D90781F72A
:1005D0002FE78AE196E0215080409040E1F700C08B
:1005E000000060E070E086E291E0DF91CF910C9432
:1005F00014020FB6F894A8958091600088618093EA
:100600006000109260000FBE60E085E291E00E9401
:100610004302BC0189E291E00E94140261E085E29C
:1006200091E00E944302BC0186E291E00E94140224
:1006300082E391E00E94EC01682F82E391E00E9446
:1006400087018CE291E00E94EC01682F8FE291E03B
:100650000E948701D9CF0E945D020E9486020E94FB
:10066000AF020E94D4020E94F90282E08093C0008F
:1006700088E18093C10086E08093C2001092C5009B
:1006800084E18093C40008958091C00085FFFCCF71
:100690006093C60008958091C00085FFFCCF6093F1
:1006A000C6008091C00085FFFCCF7093C6000895FE
:1006B0008091C00085FFFCCF4093C6009FEF940F50
:1006C000442351F0FB0121918091C00085FFFCCFB4
:1006D0002093C6009150B8F708958091C00087FF1D
:1006E000FCCF8091C60008958091C00087FFFCCFA9
:1006F0002091C60030E09091C00097FFFCCF809120
:10070000C600A901582BCA010895CF9384E291E055
:100710000E946D03C82F6FEF84E291E00E944403B2
:100720006C2F84E291E0CF910C94440363E084E267
:1007300091E00E9444034CE067E171E084E291E0C3
:100740000E94580349E06EE071E084E291E00E946B
:1007500058034CE062E071E084E291E00E945803AB
:1007600080910001811101C008956FEF84E291E052
:100770000C94440384E291E00E947403BC01660F70
:10078000771F680F791F84E291E00C944B0384E299
:1007900091E00E946D03682F82E391E00E9487013F
:1007A00080910001811101C008956FEF84E291E012
:1007B0000C94440384E291E00E946D03682F8FE261
:1007C00091E00E94870180910001811101C008958C
:1007D0006FEF84E291E00C94440382E391E00E9485
:1007E000EC01682F84E291E00C9444038FE291E0E5
:1007F0000E94EC01682F84E291E00C94440384E2AF
:1008000091E00E947403BC0189E291E00E9414020D
:1008100080910001811101C008956FEF84E291E0A1
:100820000C94440384E291E00E947403BC0186E2CC
:1008300091E00E94140280910001811101C008958D
:100840006FEF84E291E00C94440384E291E00E9413
:100850006D03682F85E291E00E944302BC0184E2AF
:1008600091E00C944B038F929F92AF92BF92CF92E4
:10087000DF92EF92FF920F931F93CF93DF9384E267
:1008800091E00E946D03882E84E291E00E946D0346
:10089000982E84E291E00E947403EC0184E291E0DE
:1008A0000E9474035C0184E291E00E9474038C0155
:1008B0006FEF84E291E00E944403A09E6001A19E3C
:1008C000D00CB09ED00C1124CC15DD0509F1BE0171
:1008D00089E291E00E941402A895682D85E291E0DA
:1008E0000E9443027C01692D85E291E00E9443024F
:1008F0008C01B70184E291E00E944B03B80184E2CD
:1009000091E00E944B03CA0DDB1DCC16DD06F9F603
:100910006FEF84E291E0DF91CF911F910F91FF90F3
:10092000EF90DF90CF90BF90AF909F908F900C94FE
:1009300044030E949C0084E291E00E946D03A8950C
:1009400090E08D309105B8F7FC01ED5AFF4F0C9403
:10095000FC040E943304EFCF0E942504ECCF0E94D8
:100960001204E9CF0E94FF03E6CF0E94F603E3CF13
:100970000E94ED03E0CF0E94DA03DDCF0E94C7039F
:10098000DACF0E94BA03D7CF0E949603D4CF0E9439
:100990008503D1CF8091C00087FFCDCF8091C60065
:1009A0008091C00087FDFACFC6CF85E391E00E9419
:1009B000010142E065E371E082E391E00E944001C1
:1009C00043E065E371E08FE291E00E94400145E081
:1009D00065E371E08CE291E00E94400140E065E354
:1009E00071E089E291E00E940F0241E065E371E06D
:1009F00086E291E00C940F02EE0FFF1F0024001C12
:0E0A00000BBE0790F691E02D0994F894FFCFFD
:100A0E000100626F617264696E666F2E6800313527
:100A1E003A33393A3534004D617220323720323054
:040A2E00313900005A
:00000001FF

View file

@ -10,7 +10,7 @@ OBJCOPY_PATH = C:\avr8-gnu-toolchain-win32_x86\bin\avr-objcopy.exe
OUTPUT = B15F.elf
HEX = B15F.hex
CFLAGS = -std=c++14 -O3 -mmcu=atmega1284 -DF_CPU=20000000
CFLAGS = -Wall -Wextra -std=c++14 -O3 -mmcu=atmega1284 -DF_CPU=20000000
LDFLAGS =
OBJECTS = main.o spi.o mcp23s17.o tlc5615.o adu.o selftest.o global_vars.o usart.o requests.o

View file

@ -1,6 +1,6 @@
#include "TLC5615.h"
TLC5615::TLC5615(SPI& api, uint8_t adr) : spi(spi), adr(adr)
TLC5615::TLC5615(SPI& spi, uint8_t adr) : spi(spi), adr(adr)
{
}

8
boardinfo.h Normal file
View file

@ -0,0 +1,8 @@
#ifndef BOARDINFO_H
#define BOARDINFO_H
const char DATE[] = __DATE__;
const char TIME[] = __TIME__;
const char FSRC[] = __FILE__;
#endif // BOARDINFO_H

View file

@ -8,6 +8,7 @@
#define WDT_TIMEOUT WDTO_15MS
const uint8_t CDUMMY __attribute__((used)) = 0;
ISR(WDT_vect)
@ -45,6 +46,13 @@ void handleRequest()
switch(req)
{
case RQ_DISC:
{
// sinnlose Abfrage, damit Compiler nicht nervt
uint8_t dummy = 0xFF;
if(dummy)
// leere Puffer
while(UCSR0A & (1<<RXC0)) dummy = UDR0;
}
break;
case RQ_TEST:

View file

@ -9,7 +9,14 @@ void rqTestConnection()
void rqBoardInfo()
{
usart.writeByte(3); // Anzahl an Strings
usart.writeStr(DATE, sizeof(DATE));
usart.writeStr(TIME, sizeof(TIME));
usart.writeStr(FSRC, sizeof(FSRC));
if(ACK_MODE)
usart.writeByte(USART::MSG_OK);
}
void rqTestIntConv()
@ -88,10 +95,11 @@ void rqAdcDacStroke()
for(int16_t i = start; i != count; i += delta)
{
dac0.setValue(i);
wdt_reset();
uint16_t a = adu.getValue(channel_a);
uint16_t b = adu.getValue(channel_b);
usart.writeInt(a);
usart.writeInt(b);
usart.writeInt(b);
}
usart.writeByte(USART::MSG_OK);

View file

@ -1,7 +1,9 @@
#ifndef REQUESTS_H
#define REQUESTS_H
#include <avr/wdt.h>
#include "global_vars.h"
#include "boardinfo.h"
constexpr static uint8_t RQ_DISC = 0;
constexpr static uint8_t RQ_TEST = 1;

View file

@ -36,6 +36,13 @@ void USART::writeInt(uint16_t v)
//while(!(UCSR0A & _BV(TXC0)));
}
void USART::writeStr(const char* str, uint8_t len)
{
writeByte(len);
while(len--)
writeByte(*str++);
}
uint8_t USART::readByte()
{
while (!(UCSR0A & (1<<RXC0)));

View file

@ -15,6 +15,7 @@ public:
void writeByte(uint8_t);
void writeInt(uint16_t);
void writeLong(uint32_t);
void writeStr(const char*, uint8_t);
uint8_t readByte(void);
uint16_t readInt(void);
uint32_t readLong(void);