From 987f5590ce0a03d4dbacffbf7c767546d264a09a Mon Sep 17 00:00:00 2001 From: Tristan Krause Date: Tue, 2 Apr 2019 11:18:36 +0200 Subject: [PATCH] beginn interrupts --- driver/drv/b15f.cpp | 15 ++++++++++----- driver/drv/b15f.o | Bin 27816 -> 31264 bytes driver/main | Bin 62096 -> 61832 bytes 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/driver/drv/b15f.cpp b/driver/drv/b15f.cpp index 18cc93b..fd11ab4 100644 --- a/driver/drv/b15f.cpp +++ b/driver/drv/b15f.cpp @@ -27,7 +27,8 @@ void B15F::init() std::cout << "OK" << std::endl; - // Temporärer Test + // Temporärer Test + /* uint8_t block[16]; while(1) { @@ -35,7 +36,7 @@ void B15F::init() usart.printStatistics(); usleep(1000); } - throw std::runtime_error("SCHLUSS"); + throw std::runtime_error("SCHLUSS");*/ @@ -44,11 +45,11 @@ void B15F::init() while(tries--) { // verwerfe Daten, die µC noch hat - discard(); + //discard(); if(!testConnection()) continue; - + if(!testIntConv()) continue; @@ -58,6 +59,7 @@ void B15F::init() throw DriverException("Verbindungstest fehlgeschlagen. Neueste Version im Einsatz?"); std::cout << "OK" << std::endl; + // Gib board info aus std::vector info = getBoardInfo(); std::cout << PRE << "AVR Firmware Version: " << info[0] << " um " << info[1] << " Uhr (" << info[2] << ")" << std::endl; @@ -104,7 +106,8 @@ bool B15F::testConnection() usart.writeByte(RQ_TEST); usart.writeByte(dummy); - + usart.writeByte(0x80); + uint8_t aw = usart.readByte(); uint8_t mirror = usart.readByte(); @@ -118,6 +121,7 @@ bool B15F::testIntConv() usart.writeByte(RQ_INT); usart.writeInt(dummy); + usart.writeByte(0x80); uint16_t aw = usart.readInt(); return aw == dummy * 3; @@ -129,6 +133,7 @@ std::vector B15F::getBoardInfo(void) std::vector info; usart.writeByte(RQ_INFO); + usart.writeByte(0x80); uint8_t n = usart.readByte(); while(n--) diff --git a/driver/drv/b15f.o b/driver/drv/b15f.o index bffe005539693d924f36c4a18563ea2c769f3179..5860c8c4dc6c9160cdf42551d1950eb054170cc0 100644 GIT binary patch literal 31264 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 KQd^~+|9=CPSG1Y{ diff --git a/driver/main b/driver/main index 1fb9afc02e0ab28b2eda76938758a047b173763e..25380006d4c3b1f182be4abfd4e6c401fa8108a5 100755 GIT binary patch delta 23408 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