Lauffaehig, aber unzuverlaessig
This commit is contained in:
parent
18d65ce8a5
commit
dbceed1d2c
199
B15F.hex
199
B15F.hex
|
@ -8,14 +8,14 @@
|
|||
:100070000C9489000C9489000C9489000C948900DC
|
||||
:100080000C9489000C9489000C948900F800FB0002
|
||||
:10009000FE00EF000101040107010A010D0110013A
|
||||
:1000A000F5001301AA05A705A4056105A1059E0594
|
||||
:1000B0009B059805950592058F05AD05B0051124A2
|
||||
:1000A000F5001301D505D205CF058C05CC05C90592
|
||||
:1000B000C605C305C005BD05BA05D805DB05112475
|
||||
:1000C0001FBECFEFD0E4DEBFCDBF11E0A0E0B1E0B6
|
||||
:1000D000E4ECFBE000E00BBF02C007900D92A232FF
|
||||
:1000D000EAE1FCE000E00BBF02C007900D92A23203
|
||||
:1000E000B107D9F721E0A2E2B1E001C01D92A4332B
|
||||
:1000F000B207E1F710E0CFE5D0E004C02197FE01A0
|
||||
:100100000E94D705CE35D107C9F70E944A050C9445
|
||||
:10011000E0050C94000083E391E00E94170160E089
|
||||
:100100000E940206CE35D107C9F70E9475050C94EE
|
||||
:100110000B060C94000083E391E00E94170160E05D
|
||||
:1001200080E391E00E945A016FEF80E391E00E942A
|
||||
:100130007B0160E08DE291E00E945A016FEF8DE259
|
||||
:1001400091E00E947B016FEF8AE291E00E947B01C7
|
||||
|
@ -24,15 +24,15 @@
|
|||
:10017000A895809160008861809360001092600073
|
||||
:100180000FBE0895CF930FB6F894A89580916000A4
|
||||
:10019000886180936000109260000FBE6FEF8DE267
|
||||
:1001A00091E00E949C0182E291E00E940E04C82F1F
|
||||
:1001A00091E00E949C0182E291E00E94F303C82F3B
|
||||
:1001B00060E08DE291E00E949C0199E288E10FB637
|
||||
:1001C000F894A895809360000FBE90936000A89566
|
||||
:1001D0008C2F90E0FC013197EC30F10510F0CF91BD
|
||||
:1001E0000895EA5BFF4F0C94D705CF910C94C60499
|
||||
:1001F000CF910C942604CF910C943704CF910C949A
|
||||
:100200005B04CF910C946804CF910C947B04CF9144
|
||||
:100210000C948E04CF910C949704CF910C94A0046D
|
||||
:10022000CF910C94B304CF910C94D404089584B16D
|
||||
:1001E0000895EA5BFF4F0C940206CF910C94010531
|
||||
:1001F000CF910C947A04CF910C948B04CF910C94F2
|
||||
:10020000AA04CF910C94B704CF910C94C504CF915C
|
||||
:100210000C94D304CF910C94DC04CF910C94E5049E
|
||||
:10022000CF910C94F304CF910C940F05089584B1F1
|
||||
:10023000806B84B926988AB18C618AB980E58CBDBF
|
||||
:1002400081E08DBD8BB1837E8BB95A9A5B9A5C9AA3
|
||||
:1002500008958BB1837E8BB98BB160FD10C090E0A7
|
||||
|
@ -104,90 +104,95 @@
|
|||
:100670000E940102682F8DE291E00E949C01D9CF77
|
||||
:100680000E9472020E949B020E94C4020E94E90220
|
||||
:100690000E940E0382E08093C00088E18093C10035
|
||||
:1006A00086E08093C2001092C50080E48093C4006D
|
||||
:1006B00008958091C00085FFFCCF6093C6008091B3
|
||||
:1006C000C00086FFFCCF08958091C00085FFFCCF5D
|
||||
:1006D0006093C6008091C00085FFFCCF7093C60078
|
||||
:1006E0008091C00086FFFCCF87E893E10197F1F786
|
||||
:1006F00000C0000008958091C00085FFFCCF4093AA
|
||||
:10070000C6008091C00086FFFCCFFB019B01240F37
|
||||
:10071000311DE217F30761F091918091C00085FFD0
|
||||
:10072000FCCF9093C6008091C00086FFFCCFF1CF34
|
||||
:1007300008958091C00085FFFCCF4093C600809152
|
||||
:10074000C00086FFFCCF5FEF540F442309F464C060
|
||||
:10075000FB0120E041E9DF0190818091C00085FF2D
|
||||
:10076000FCCF9093C6008091C00086FFFCCF3196ED
|
||||
:100770009C91822F892780FD842790E0959587950D
|
||||
:10078000282F80FF02C0242F2827822F90E09595E4
|
||||
:100790008795282F80FF02C0242F282730E0359529
|
||||
:1007A0002795822F20FF02C0842F822790E0959505
|
||||
:1007B0008795282F80FF02C0242F282730E0359509
|
||||
:1007C0002795822F20FF02C0842F822790E09595E5
|
||||
:1007D0008795282F80FF02C0242F282730E03595E9
|
||||
:1007E0002795822F20FF02C0842F8227282F26954D
|
||||
:1007F000515008F0B0CF8091C00085FFFCCF20930E
|
||||
:10080000C6008091C00086FFFCCF8091C00087FFAA
|
||||
:10081000FCCF8091C600089520E0EDCF8091C0000C
|
||||
:1008200087FFFCCF8091C60008958091C00087FFAC
|
||||
:10083000FCCF2091C60030E09091C00097FFFCCF24
|
||||
:100840008091C600A901582BCA010895CF9382E276
|
||||
:1008500091E00E940E04C82F6FEF82E291E00E94A7
|
||||
:1008600059036C2F82E291E0CF910C94590363E01D
|
||||
:1008700082E291E00E9459034CE066E171E082E27D
|
||||
:1008800091E00E947B0349E06DE071E082E291E03B
|
||||
:100890000E947B034CE061E071E082E291E00E9403
|
||||
:1008A0007B0380910001811101C008956FEF82E206
|
||||
:1008B00091E00C94590382E291E00E941504BC017E
|
||||
:1008C000660F771F680F791F82E291E00C94640332
|
||||
:1008D00082E291E00E940E04682F80E391E00E9482
|
||||
:1008E0009C0180910001811101C008956FEF82E2A7
|
||||
:1008F00091E00C94590382E291E00E940E04682F6B
|
||||
:100900008DE291E00E949C0180910001811101C063
|
||||
:1009100008956FEF82E291E00C94590380E391E037
|
||||
:100920000E940102682F82E291E00C9459038DE24B
|
||||
:1009300091E00E940102682F82E291E00C94590339
|
||||
:1009400082E291E00E941504BC0187E291E00E94DE
|
||||
:10095000290280910001811101C008956FEF82E2A8
|
||||
:1009600091E00C94590382E291E00E941504BC01CD
|
||||
:1009700084E291E00E94290280910001811101C06E
|
||||
:1009800008956FEF82E291E00C94590382E291E0C6
|
||||
:100990000E940E04682F83E291E00E945802BC017D
|
||||
:1009A00082E291E00C9464038F929F92AF92BF9287
|
||||
:1009B000CF92DF92EF92FF920F931F93CF93DF932B
|
||||
:1009C00000D000D0CDB7DEB782E291E00E940E04E5
|
||||
:1009D000B82E82E291E00E940E04A82E82E291E0FD
|
||||
:1009E0000E9415048C0182E291E00E9415047C01B2
|
||||
:1009F00082E291E00E9415044C016FEF82E291E0E7
|
||||
:100A00000E945903E89C6001E99CD00CF89CD00C32
|
||||
:100A100011240C151D05C4F5B80187E291E00E9470
|
||||
:100A20002902A8956B2D83E291E00E9458029A83D7
|
||||
:100A300089836A2D83E291E00E9458029C838B8314
|
||||
:100A400002C08F3FE1F0A89544E0BE016F5F7F4F89
|
||||
:100A500082E291E00E9499038111F3CF0F900F90F1
|
||||
:100A60000F900F90DF91CF911F910F91FF90EF901A
|
||||
:100A7000DF90CF90BF90AF909F908F9008950E0D14
|
||||
:100A80001F1D0C151D0544F26FEF82E291E00E94DC
|
||||
:100A90005903E4CF0E948B006FEF80E391E00E9446
|
||||
:100AA0009C012FE78AE196E0215080409040E1F7D9
|
||||
:100AB00000C0000060E080E391E00E949C0118E12A
|
||||
:100AC000D9E20FB6F894A895809160008861809370
|
||||
:100AD0006000109260000FBE6FEF8DE291E00E9407
|
||||
:100AE0009C0182E291E00E940E04C82F60E08DE23A
|
||||
:100AF00091E00E949C010FB6F894A89510936000B5
|
||||
:100B00000FBED0936000A8958C2F90E0FC01319728
|
||||
:100B1000EC30F105B0F6EE5AFF4F0C94D7050E9469
|
||||
:100B2000C604CFCF0E94B304CCCF0E94A004C9CF8B
|
||||
:100B30000E949704C6CF0E948E04C3CF0E947B04FC
|
||||
:100B4000C0CF0E946804BDCF0E945B04BACF0E9450
|
||||
:100B50003704B7CF0E942604B4CF0E94D404B1CF8B
|
||||
:100B600083E391E00E94160142E063E371E080E3D9
|
||||
:100B700091E00E94550143E063E371E08DE291E072
|
||||
:100B80000E94550145E063E371E08AE291E00E9432
|
||||
:100B9000550140E063E371E087E291E00E942402A6
|
||||
:100BA00041E063E371E084E291E00C942402EE0FF3
|
||||
:100BB000FF1F0024001C0BBE0790F691E02D099446
|
||||
:040BC000F894FFCFD7
|
||||
:100BC40001626F617264696E666F2E680030383A34
|
||||
:100BD40033303A3434004D617220323920323031AE
|
||||
:020BE4003900D6
|
||||
:1006A00086E08093C2001092C50084E18093C4006C
|
||||
:1006B000089502C08091C6008091C00087FDFACFE6
|
||||
:1006C00008958091C00085FFFCCF6093C600089517
|
||||
:1006D0008091C00085FFFCCF6093C6008091C00070
|
||||
:1006E00085FFFCCF7093C60008958091C00085FF00
|
||||
:1006F000FCCF4093C6009FEF940F442351F0FB01C1
|
||||
:1007000021918091C00085FFFCCF2093C6009150BD
|
||||
:10071000B8F708958091C00085FFFCCF4093C600D4
|
||||
:100720005FEF540F442309F45CC0FB0120E041E972
|
||||
:10073000DF0190818091C00085FFFCCF9093C600BF
|
||||
:1007400031969C91822F892780FD842790E0959592
|
||||
:100750008795282F80FF02C0242F2827822F90E022
|
||||
:1007600095958795282F80FF02C0242F282730E0F9
|
||||
:1007700035952795822F20FF02C0842F822790E095
|
||||
:1007800095958795282F80FF02C0242F282730E0D9
|
||||
:1007900035952795822F20FF02C0842F822790E075
|
||||
:1007A00095958795282F80FF02C0242F282730E0B9
|
||||
:1007B00035952795822F20FF02C0842F8227282F6E
|
||||
:1007C0002695515008F0B4CF8091C00085FFFCCF32
|
||||
:1007D0002093C6008091C00087FFFCCF8091C600A7
|
||||
:1007E000089520E0F1CF8091C00087FFFCCF809179
|
||||
:1007F000C60008958091C00087FFFCCF2091C600FD
|
||||
:1008000030E09091C00097FFFCCF8091C600A90115
|
||||
:10081000582BCA010895242F30E08091C00087FF33
|
||||
:10082000FCCFE091C60040E090E051E9620F731FF9
|
||||
:100830008091C00087FFFCCFF091C6008F2F8927E1
|
||||
:1008400080FD852790E095958795282F80FF02C031
|
||||
:10085000252F2827822F90E095958795282F80FFB8
|
||||
:1008600002C0252F282730E035952795822F20FFBD
|
||||
:1008700002C0852F822790E095958795282F80FFCD
|
||||
:1008800002C0252F282730E035952795822F20FF9D
|
||||
:1008900002C0852F822790E095958795282F80FFAD
|
||||
:1008A00002C0252F282730E035952795822F20FF7D
|
||||
:1008B00002C0852F8227982F96954E17B0F04F5F74
|
||||
:1008C000E41708F0B5CF911108C08091C00085FFF2
|
||||
:1008D000FCCF8FEF8093C60008958091C00085FF04
|
||||
:1008E000FCCF8EEF8093C6000895DB01A40FB11DED
|
||||
:1008F000FC93E5CFCF9382E291E00E94F303C82FEF
|
||||
:100900006FEF82E291E00E9461036C2F82E291E03E
|
||||
:10091000CF910C94610363E082E291E00E94610355
|
||||
:100920004CE065E171E082E291E00E94750349E0EC
|
||||
:100930006CE071E082E291E00E9475034CE060E0BF
|
||||
:1009400071E082E291E00E9475036FEF82E291E034
|
||||
:100950000C94610382E291E00E94FA03BC01660FED
|
||||
:10096000771F680F791F82E291E00C94680382E29E
|
||||
:1009700091E00E94F303682F80E391E00E949C01C4
|
||||
:100980006FEF82E291E00C94610382E291E00E94B9
|
||||
:10099000F303682F8DE291E00E949C016FEF82E2E9
|
||||
:1009A00091E00C94610380E391E00E940102682FC2
|
||||
:1009B00082E291E00C9461038DE291E00E940102D9
|
||||
:1009C000682F82E291E00C94610382E291E00E9440
|
||||
:1009D000FA03BC0187E291E00E9429026FEF82E2F4
|
||||
:1009E00091E00C94610382E291E00E94FA03BC0161
|
||||
:1009F00084E291E00E9429026FEF82E291E00C9480
|
||||
:100A0000610382E291E00E94F303682F83E291E0A8
|
||||
:100A10000E945802BC0182E291E00C9468038F921C
|
||||
:100A20009F92AF92BF92CF92DF92EF92FF920F937D
|
||||
:100A30001F93CF93DF9382E291E00E94F303882E0D
|
||||
:100A400082E291E00E94F303982E82E291E00E94FC
|
||||
:100A5000FA03EC0182E291E00E94FA035C0182E277
|
||||
:100A600091E00E94FA038C016FEF82E291E00E9414
|
||||
:100A70006103A09E6001A19ED00CB09ED00C1124F9
|
||||
:100A8000CC15DD050CF5BE0187E291E00E9429023C
|
||||
:100A9000A895682D83E291E00E9458027C01692D9F
|
||||
:100AA00083E291E00E9458028C01B70182E291E05A
|
||||
:100AB0000E946803B80182E291E00E946803CA0DB7
|
||||
:100AC000DB1DCC15DD05FCF26FEF82E291E0DF91DA
|
||||
:100AD000CF911F910F91FF90EF90DF90CF90BF903B
|
||||
:100AE000AF909F908F900C9461030E948B006FEFEA
|
||||
:100AF00080E391E00E949C012FE78AE196E021507B
|
||||
:100B000080409040E1F700C0000060E080E391E0A9
|
||||
:100B10000E949C0118E1D9E20FB6F894A895809143
|
||||
:100B20006000886180936000109260000FBE6FEFDC
|
||||
:100B30008DE291E00E949C0182E291E00E94F30329
|
||||
:100B4000C82F60E08DE291E00E949C010FB6F894FE
|
||||
:100B5000A895109360000FBED0936000A8958C2FCD
|
||||
:100B600090E0FC013197EC30F105B0F6EE5AFF4F02
|
||||
:100B70000C9402060E940105CFCF0E94F304CCCF53
|
||||
:100B80000E94E504C9CF0E94DC04C6CF0E94D304B2
|
||||
:100B9000C3CF0E94C504C0CF0E94B704BDCF0E943E
|
||||
:100BA000AA04BACF0E948B04B7CF0E947A04B4CFB4
|
||||
:100BB0000E940F05B1CF83E391E00E94160142E04D
|
||||
:100BC00063E371E080E391E00E94550143E063E359
|
||||
:100BD00071E08DE291E00E94550145E063E371E030
|
||||
:100BE0008AE291E00E94550140E063E371E087E210
|
||||
:100BF00091E00E94240241E063E371E084E291E02D
|
||||
:100C00000C942402EE0FFF1F0024001C0BBE079063
|
||||
:0A0C1000F691E02D0994F894FFCF4F
|
||||
:100C1A00626F617264696E666F2E680031333A33AF
|
||||
:100C2A00323A3430004D6172203239203230313953
|
||||
:020C3A000000B8
|
||||
:00000001FF
|
||||
|
|
|
@ -9,4 +9,3 @@ TLC5615 dac1(spi, SPIADR::AA1);
|
|||
ADU adu;
|
||||
USART usart;
|
||||
|
||||
bool ACK_MODE = 1;
|
||||
|
|
|
@ -15,6 +15,4 @@ extern TLC5615 dac1;
|
|||
extern ADU adu;
|
||||
extern USART usart;
|
||||
|
||||
extern bool ACK_MODE;
|
||||
|
||||
#endif // GLOBAL_VARS_H
|
||||
|
|
25
requests.cpp
25
requests.cpp
|
@ -14,9 +14,7 @@ void rqBoardInfo()
|
|||
usart.writeStr(DATE, sizeof(DATE));
|
||||
usart.writeStr(TIME, sizeof(TIME));
|
||||
usart.writeStr(FSRC, sizeof(FSRC));
|
||||
|
||||
if(ACK_MODE)
|
||||
usart.writeByte(USART::MSG_OK);
|
||||
usart.writeByte(USART::MSG_OK);
|
||||
}
|
||||
|
||||
void rqTestIntConv()
|
||||
|
@ -29,8 +27,7 @@ void rqDigitalWrite0()
|
|||
uint8_t port = usart.readByte();
|
||||
beba0.writePortA(port);
|
||||
|
||||
if(ACK_MODE)
|
||||
usart.writeByte(USART::MSG_OK);
|
||||
usart.writeByte(USART::MSG_OK);
|
||||
}
|
||||
|
||||
void rqDigitalWrite1()
|
||||
|
@ -38,8 +35,7 @@ void rqDigitalWrite1()
|
|||
uint8_t port = usart.readByte();
|
||||
beba1.writePortA(port);
|
||||
|
||||
if(ACK_MODE)
|
||||
usart.writeByte(USART::MSG_OK);
|
||||
usart.writeByte(USART::MSG_OK);
|
||||
}
|
||||
|
||||
void rqDigitalRead0()
|
||||
|
@ -59,8 +55,7 @@ void rqAnalogWrite0()
|
|||
uint16_t value = usart.readInt();
|
||||
dac0.setValue(value);
|
||||
|
||||
if(ACK_MODE)
|
||||
usart.writeByte(USART::MSG_OK);
|
||||
usart.writeByte(USART::MSG_OK);
|
||||
}
|
||||
|
||||
void rqAnalogWrite1()
|
||||
|
@ -68,8 +63,7 @@ void rqAnalogWrite1()
|
|||
uint16_t value = usart.readInt();
|
||||
dac1.setValue(value);
|
||||
|
||||
if(ACK_MODE)
|
||||
usart.writeByte(USART::MSG_OK);
|
||||
usart.writeByte(USART::MSG_OK);
|
||||
}
|
||||
|
||||
void rqAnalogRead()
|
||||
|
@ -97,7 +91,12 @@ void rqAdcDacStroke()
|
|||
dac0.setValue(i);
|
||||
wdt_reset();
|
||||
|
||||
union doubleword
|
||||
uint16_t val_a = adu.getValue(channel_a);
|
||||
uint16_t val_b = adu.getValue(channel_b);
|
||||
usart.writeInt(val_a);
|
||||
usart.writeInt(val_b);
|
||||
|
||||
/*union doubleword
|
||||
{
|
||||
uint16_t word[2];
|
||||
uint8_t byte[4];
|
||||
|
@ -115,7 +114,7 @@ void rqAdcDacStroke()
|
|||
|
||||
if(ret == 0)
|
||||
return;
|
||||
} while(ret != USART::MSG_OK);
|
||||
} while(ret != USART::MSG_OK);*/
|
||||
}
|
||||
|
||||
usart.writeByte(USART::MSG_OK);
|
||||
|
|
46
usart.cpp
46
usart.cpp
|
@ -15,12 +15,22 @@ void USART::init()
|
|||
|
||||
}
|
||||
|
||||
void USART::flush()
|
||||
{
|
||||
uint8_t dummy;
|
||||
while (UCSR0A & (1<<RXC0))
|
||||
dummy = UDR0;
|
||||
|
||||
if(dummy) // taeusche dummy Verwendung vor
|
||||
return;
|
||||
}
|
||||
|
||||
void USART::writeByte(uint8_t b)
|
||||
{
|
||||
while (!(UCSR0A & (1<<UDRE0)));
|
||||
UDR0 = b;
|
||||
|
||||
while(!(UCSR0A & _BV(TXC0)));
|
||||
//while(!(UCSR0A & _BV(TXC0)));
|
||||
}
|
||||
|
||||
|
||||
|
@ -35,8 +45,7 @@ void USART::writeInt(uint16_t v)
|
|||
while (!(UCSR0A & (1<<UDRE0)));
|
||||
UDR0 = v & 0xFF;
|
||||
|
||||
while(!(UCSR0A & _BV(TXC0)));
|
||||
_delay_ms(1);
|
||||
//while(!(UCSR0A & _BV(TXC0)));
|
||||
}
|
||||
|
||||
void USART::writeStr(const char* str, uint8_t len)
|
||||
|
@ -80,3 +89,34 @@ uint16_t USART::readInt()
|
|||
v |= readByte() << 8;
|
||||
return v;
|
||||
}
|
||||
|
||||
void USART::readBlock(uint8_t* ptr, uint8_t offset)
|
||||
{
|
||||
ptr += offset;
|
||||
uint8_t crc = 0;
|
||||
|
||||
uint8_t len = readByte();
|
||||
for(uint8_t k = 0; k <= len; k++) // len + 1 Durchgänge (+ crc)
|
||||
{
|
||||
uint8_t next = readByte();
|
||||
|
||||
crc ^= next;
|
||||
for (uint8_t i = 0; i < 8; i++)
|
||||
{
|
||||
if (crc & 1)
|
||||
crc ^= CRC7_POLY;
|
||||
crc >>= 1;
|
||||
}
|
||||
|
||||
if(k < len)
|
||||
ptr[k] = next;
|
||||
}
|
||||
|
||||
if(crc == 0)
|
||||
{
|
||||
writeByte(MSG_OK);
|
||||
return;
|
||||
}
|
||||
|
||||
writeByte(MSG_FAIL);
|
||||
}
|
||||
|
|
4
usart.h
4
usart.h
|
@ -5,13 +5,14 @@
|
|||
#include <util/delay.h>
|
||||
#include <stdint.h>
|
||||
|
||||
constexpr uint32_t BAUDRATE = 38400; // 38400
|
||||
constexpr uint32_t BAUDRATE = 115200; // 38400
|
||||
constexpr uint8_t CRC7_POLY = 0x91;
|
||||
|
||||
class USART
|
||||
{
|
||||
public:
|
||||
void init(void);
|
||||
void flush(void);
|
||||
|
||||
void writeByte(uint8_t);
|
||||
void writeInt(uint16_t);
|
||||
|
@ -21,6 +22,7 @@ public:
|
|||
uint8_t readByte(void);
|
||||
uint16_t readInt(void);
|
||||
uint32_t readLong(void);
|
||||
void readBlock(uint8_t*, uint8_t);
|
||||
|
||||
constexpr static uint8_t MSG_OK = 0xFF;
|
||||
constexpr static uint8_t MSG_FAIL = 0xFE;
|
||||
|
|
Loading…
Reference in a new issue