From 15ba2f5661dd633ecca5f55ce08ba0af320c18ef Mon Sep 17 00:00:00 2001 From: Tristan Krause Date: Fri, 29 Mar 2019 11:42:52 +0100 Subject: [PATCH] Alte Fehlerbehebung entfernt --- drv/b15f.cpp | 219 ++++++++++++++++----------------------------------- drv/b15f.o | Bin 30536 -> 26712 bytes main | Bin 56144 -> 52016 bytes 3 files changed, 70 insertions(+), 149 deletions(-) diff --git a/drv/b15f.cpp b/drv/b15f.cpp index edc8c1c..249efec 100644 --- a/drv/b15f.cpp +++ b/drv/b15f.cpp @@ -104,200 +104,121 @@ bool B15F::testIntConv() std::vector B15F::getBoardInfo(void) { - try + std::vector info; + + usart.writeByte(RQ_INFO); + + uint8_t n = usart.readByte(); + while(n--) { - std::vector info; + uint8_t len = usart.readByte(); + std::string str; - usart.writeByte(RQ_INFO); - uint8_t n = usart.readByte(); - while(n--) - { - uint8_t len = usart.readByte(); - std::string str; + while(len--) + str += static_cast(usart.readByte()); - while(len--) - str += static_cast(usart.readByte()); - - info.push_back(str); - } - - uint8_t aw = usart.readByte(); - - if(aw != MSG_OK) - throw DriverException("Board Info fehlerhalft"); - - return info; - } - catch(DriverException& de) - { - reconnect(); - return getBoardInfo(); + info.push_back(str); } + + uint8_t aw = usart.readByte(); + if(aw != MSG_OK) + throw DriverException("Board Info fehlerhalft"); + + return info; } bool B15F::digitalWrite0(uint8_t port) { - try - { - usart.writeByte(RQ_BA0); - usart.writeByte(port); - - uint8_t aw = usart.readByte(); - return aw == MSG_OK; - } - catch(DriverException& de) - { - reconnect(); - return digitalWrite0(port); - } + usart.writeByte(RQ_BA0); + usart.writeByte(port); + + uint8_t aw = usart.readByte(); + return aw == MSG_OK; } bool B15F::digitalWrite1(uint8_t port) { - try - { - usart.writeByte(RQ_BA1); - usart.writeByte(port); - - uint8_t aw = usart.readByte(); - return aw == MSG_OK; - } - catch(DriverException& de) - { - reconnect(); - return digitalWrite1(port); - } + usart.writeByte(RQ_BA1); + usart.writeByte(port); + + uint8_t aw = usart.readByte(); + return aw == MSG_OK; } uint8_t B15F::digitalRead0() { - try - { - usart.writeByte(RQ_BE0); - return usart.readByte(); - } - catch(DriverException& de) - { - reconnect(); - return digitalRead0(); - } + usart.writeByte(RQ_BE0); + return usart.readByte(); } uint8_t B15F::digitalRead1() { - try - { - usart.writeByte(RQ_BE1); - return usart.readByte(); - } - catch(DriverException& de) - { - reconnect(); - return digitalRead1(); - } + usart.writeByte(RQ_BE1); + return usart.readByte(); } bool B15F::analogWrite0(uint16_t value) { - try - { - usart.writeByte(RQ_AA0); - delay_ms(1); - usart.writeInt(value); - delay_ms(1); - - uint8_t aw = usart.readByte(); - return aw == MSG_OK; - } - catch(DriverException& de) - { - reconnect(); - return analogWrite0(value); - } + usart.writeByte(RQ_AA0); + usart.writeInt(value); + + uint8_t aw = usart.readByte(); + return aw == MSG_OK; } bool B15F::analogWrite1(uint16_t value) { - try - { - usart.writeByte(RQ_AA1); - usart.writeInt(value); - - uint8_t aw = usart.readByte(); - return aw == MSG_OK; - } - catch(DriverException& de) - { - reconnect(); - return analogWrite1(value); - } + usart.writeByte(RQ_AA1); + usart.writeInt(value); + + uint8_t aw = usart.readByte(); + return aw == MSG_OK; } uint16_t B15F::analogRead(uint8_t channel) { - try - { - usart.writeByte(RQ_ADC); - delay_ms(1); - usart.writeByte(channel); - return usart.readInt(); - } - catch(DriverException& de) - { - reconnect(); - return analogRead(channel); - } + usart.writeByte(RQ_ADC); + usart.writeByte(channel); + return usart.readInt(); } bool B15F::analogSequence(uint8_t channel_a, uint16_t* buffer_a, uint32_t offset_a, uint8_t channel_b, uint16_t* buffer_b, uint32_t offset_b, uint16_t start, int16_t delta, uint16_t count) { + usart.writeByte(RQ_ADC_DAC_STROKE); + usart.writeByte(channel_a); + usart.writeByte(channel_b); + usart.writeInt(start); + usart.writeInt(static_cast(delta)); + usart.writeInt(count); + uint8_t aw = usart.readByte(); - discard(); - - try + if(aw != MSG_OK) { - usart.writeByte(RQ_ADC_DAC_STROKE); - usart.writeByte(channel_a); - usart.writeByte(channel_b); - usart.writeInt(start); - usart.writeInt(static_cast(delta)); - usart.writeInt(count); - uint8_t aw = usart.readByte(); + throw DriverException("Out of sync"); + } + + uint8_t block[5]; // 4 Datenbyte + crc + for(uint16_t i = 0; i < count; i++) + { + bool crc_ok = usart.readBlock(&block[0], 0); - if(aw != MSG_OK) + if (!crc_ok) { - std::cout << PRE << "Out of sync" << std::endl; + std::cout << PRE << "bad crc" << std::endl; return analogSequence(channel_a, buffer_a, offset_a, channel_b, buffer_b, offset_b, start, delta, count); } - uint8_t block[5]; // 4 Datenbyte + crc - for(uint16_t i = 0; i < count; i++) - { - bool crc_ok = usart.readBlock(&block[0], 0); - - if (!crc_ok) - { - std::cout << PRE << "bad crc" << std::endl; - return analogSequence(channel_a, buffer_a, offset_a, channel_b, buffer_b, offset_b, start, delta, count); - } - - - buffer_a[offset_a + i] = ((uint16_t) block[0]) | (((uint16_t) block[1]) << 8); - buffer_b[offset_b + i] = ((uint16_t) block[2]) | (((uint16_t) block[3]) << 8); - } - aw = usart.readByte(); - if(aw == MSG_OK) - return aw; - - std::cout << PRE << "Da ging etwas verloren" << std::endl; - return analogSequence(channel_a, buffer_a, offset_a, channel_b, buffer_b, offset_b, start, delta, count); - } - catch(DriverException& de) - { - reconnect(); - return analogSequence(channel_a, buffer_a, offset_a, channel_b, buffer_b, offset_b, start, delta, count); + buffer_a[offset_a + i] = ((uint16_t) block[0]) | (((uint16_t) block[1]) << 8); + buffer_b[offset_b + i] = ((uint16_t) block[2]) | (((uint16_t) block[3]) << 8); } + + aw = usart.readByte(); + if(aw == MSG_OK) + return aw; + + std::cout << PRE << "Da ging etwas verloren" << std::endl; + } void B15F::delay_ms(uint16_t ms) diff --git a/drv/b15f.o b/drv/b15f.o index 5b6d8ec456d0f3d463bf38255b0a0c7364ae5b60..947203e83c309e8075307de9cd2d66e433e9fd24 100644 GIT binary patch literal 26712 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 JtG%|#tS-) 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�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