From a68bb3aecc9b8f87a04b91105bc5ea3b9e33eaa4 Mon Sep 17 00:00:00 2001 From: Tristan Krause Date: Tue, 26 Mar 2019 09:57:01 +0100 Subject: [PATCH 01/32] init repo --- Makefile | 32 ++++++++++++++++++++++++++++++++ drv/.b15f.cpp.swp | Bin 0 -> 1024 bytes drv/b15f.cpp | 20 ++++++++++++++++++++ drv/b15f.h | 18 ++++++++++++++++++ drv/b15f.o | Bin 0 -> 3824 bytes main | Bin 0 -> 13496 bytes main.cpp | 9 +++++++++ main.o | Bin 0 -> 2800 bytes 8 files changed, 79 insertions(+) create mode 100644 Makefile create mode 100644 drv/.b15f.cpp.swp create mode 100644 drv/b15f.cpp create mode 100644 drv/b15f.h create mode 100644 drv/b15f.o create mode 100755 main create mode 100644 main.cpp create mode 100644 main.o diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..4eaeee4 --- /dev/null +++ b/Makefile @@ -0,0 +1,32 @@ +# Name: Makefile +# Project: B15F (board15 Famulus Edition) +# Author: Tristan Krause +# Creation Date: 2019-03-22 + +# Umgebungseinstellungen +COMPILER_PATH = g++ + + +OUTPUT = main +CFLAGS = -std=c++14 -O3 +LDFLAGS = +OBJECTS = main.o drv/b15f.o + + +COMPILE = $(COMPILER_PATH) $(CFLAGS) + +B15F: $(OBJECTS) + @echo "Linking..." + $(COMPILE) $(OBJECTS) -o $(OUTPUT) $(LDFLAGS) + +help: + @echo "This Makefile has the following rules:" + @echo "make B15F .... to compile (default)" + @echo "make clean ... to delete objects, elf and hex file" + +clean: + @echo "Cleaning..." + rm -f $(OBJECTS) $(OUTPUT) + +.cpp.o: + $(COMPILE) -c $< -o $@ diff --git a/drv/.b15f.cpp.swp b/drv/.b15f.cpp.swp new file mode 100644 index 0000000000000000000000000000000000000000..f73c26c4a67e4d0f0c45d206a35b41fb22e39c9b GIT binary patch literal 1024 zcmYc?$V<%2S1{7E)H7y40?DEb3~7nEr8%X=NTS%8i7AN|*kw>f^)vEwQ}v;y>bvA; wm*%GCm89xB8JfE3x&(#krxcaxCmEWi=_MBwplTiEjfTKz2v8mZq3A{c0Gg^7-v9sr literal 0 HcmV?d00001 diff --git a/drv/b15f.cpp b/drv/b15f.cpp new file mode 100644 index 0000000..cadbe43 --- /dev/null +++ b/drv/b15f.cpp @@ -0,0 +1,20 @@ +#include "b15f.h" + +B15F* B15F::instance = nullptr; + +B15F::B15F() +{ +} + +void B15F::init(void) +{ + std::cout << "moint: " << std::endl; +} + +B15F& B15F::getInstance(void) +{ + if(!instance) + instance = new B15F(); + + return *instance; +} diff --git a/drv/b15f.h b/drv/b15f.h new file mode 100644 index 0000000..82df289 --- /dev/null +++ b/drv/b15f.h @@ -0,0 +1,18 @@ +#ifndef B15F_h +#define B15F_h + +#include + +class B15F +{ +private: + B15F(void); // privater Konstruktor +public: + void init(void); + static B15F& getInstance(void); + +private: + static B15F* instance; +}; + +#endif // B15F_h diff --git a/drv/b15f.o b/drv/b15f.o new file mode 100644 index 0000000000000000000000000000000000000000..66aeb6e252dc85faa03a6349f09b13bcdd3eeb19 GIT binary patch literal 3824 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 IMV6prvLx| literal 0 HcmV?d00001 diff --git a/main.cpp b/main.cpp new file mode 100644 index 0000000..572f019 --- /dev/null +++ b/main.cpp @@ -0,0 +1,9 @@ +#include +#include "drv/b15f.h" + +int main() +{ + B15F& drv = B15F::getInstance(); + drv.init(); + std::cout << "heelol" << std::endl; +} diff --git a/main.o b/main.o new file mode 100644 index 0000000000000000000000000000000000000000..edd7a31e2b043a2ee4e8bcdbfae22d922245a1ee GIT binary patch literal 2800 zcmbW2O>YxN7{|vkl+e;(UiyMkwdn!znw6IruqdsT7$>$cA&Nml92mx%ZSB_HjdsT+ zAQcWAstQHo*w4}vQY)2@LM0BMUV1>H&wq9%9yYrNc%<2Rp5OfEnVFs0*@w-}(p0I$ zjFs4TY!VsD*vk(lzNcJ|RoH&k4}xJdoV2wby_kNEu=U&DX}xt;gBF5%bjbBmpYs$;~sBwaK>+SWv9;hAR2@N$(&B3x~;pmwA5{0 z=hrVScAA`&E44-U?2_yL5Xg3zND=x$^XF||Ljo0dWzCPqQss8faULZy4#bEL!X$`g z+wV%(_4^{`G8O}wwEbptjo3m@Bm>{5+ca>MH@oNf>Xq&SAF6D%AY325a{^4UE9-+O z;WR{0YtuvGT5Z|LuO7CP9pa0^_$c_Mk5*c0V;-@ z`vF_F&*HP>!@v(xG5Vu`WXN-fis7dL$+CJk#Y&H{jJ}~c^vGp+M{_V-g@$)EKS}kc z7QdxA@_c4-VR1YEkD7yhZs|2vHx}-0PlGvKBfs@)VD$|5bj+OO-bjib)iO@&zVT?2 z=nSt5DVWns66VAa0w`U_r7#!@2O=UOmg5bLaCEtdV{wl;el!{dA*Bf;892);H|9y} z|D=^cpMM{VQD7$X{x$ZWKH0a{jBFkrIR>q5UsC{#yten{{FR_?w&lX8n0%Be$m~dQ(pf kdxVnhk3W8P?+CHqHN2Wxa3)lDbYB0yp8u~%W?8oX|3daqVgLXD literal 0 HcmV?d00001 From c108303ba303765ae0c412bf5effcf2f9245c292 Mon Sep 17 00:00:00 2001 From: Tristan Krause Date: Tue, 26 Mar 2019 11:35:20 +0100 Subject: [PATCH 02/32] echo befehl funktioniert --- Makefile | 1 - drv/.b15f.cpp.swp | Bin 1024 -> 0 bytes drv/b15f.cpp | 41 ++++++++++++++++++++++++++++++++++++++++- drv/b15f.h | 25 +++++++++++++++++++++++++ drv/b15f.o | Bin 3824 -> 13096 bytes drv/driverexception.h | 32 ++++++++++++++++++++++++++++++++ main | Bin 13496 -> 20368 bytes main.cpp | 2 +- main.o | Bin 2800 -> 2800 bytes 9 files changed, 98 insertions(+), 3 deletions(-) delete mode 100644 drv/.b15f.cpp.swp create mode 100644 drv/driverexception.h diff --git a/Makefile b/Makefile index 4eaeee4..d84f459 100644 --- a/Makefile +++ b/Makefile @@ -12,7 +12,6 @@ CFLAGS = -std=c++14 -O3 LDFLAGS = OBJECTS = main.o drv/b15f.o - COMPILE = $(COMPILER_PATH) $(CFLAGS) B15F: $(OBJECTS) diff --git a/drv/.b15f.cpp.swp b/drv/.b15f.cpp.swp deleted file mode 100644 index f73c26c4a67e4d0f0c45d206a35b41fb22e39c9b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1024 zcmYc?$V<%2S1{7E)H7y40?DEb3~7nEr8%X=NTS%8i7AN|*kw>f^)vEwQ}v;y>bvA; wm*%GCm89xB8JfE3x&(#krxcaxCmEWi=_MBwplTiEjfTKz2v8mZq3A{c0Gg^7-v9sr diff --git a/drv/b15f.cpp b/drv/b15f.cpp index cadbe43..a6ace00 100644 --- a/drv/b15f.cpp +++ b/drv/b15f.cpp @@ -8,9 +8,48 @@ B15F::B15F() void B15F::init(void) { - std::cout << "moint: " << std::endl; + int code = system(std::string("stty 38400 -F " + SERIAL_DEVICE).c_str()); + if(code) + { + throw DriverException("Konnte serielle Verbindung nicht initialisieren. Ist der Adapter angeschlossen?"); + } + + usart.open(SERIAL_DEVICE.c_str()); + + if(!testConnection()) + { + throw DriverException("Verbindungstest fehlgeschlagen. Neueste Version im Einsatz?"); + } } +bool B15F::testConnection(void) +{ + srand (time(NULL)); + uint8_t dummy = rand() % 256; + writeByte(0); // echo / dummy command for testing + writeByte(dummy); + + uint8_t aw = readByte(); + uint8_t mirror = readByte(); + + return aw == MSG_OK && mirror == dummy; +} + +void B15F::writeByte(uint8_t b) +{ + usart.put(b); +} + +uint8_t B15F::readByte() +{ + char b; + while(1) + { + if (usart.get(b)) + return static_cast(b); + } +} + B15F& B15F::getInstance(void) { if(!instance) diff --git a/drv/b15f.h b/drv/b15f.h index 82df289..bd50299 100644 --- a/drv/b15f.h +++ b/drv/b15f.h @@ -2,6 +2,20 @@ #define B15F_h #include +#include +#include +#include +#include +#include + +/*#include +#include +#include +#include +#include */ + +#include "driverexception.h" + class B15F { @@ -9,10 +23,21 @@ private: B15F(void); // privater Konstruktor public: void init(void); + bool testConnection(void); + void writeByte(uint8_t); + uint8_t readByte(void); + static B15F& getInstance(void); private: + std::fstream usart; + static B15F* instance; + +// CONSTANTS + const std::string SERIAL_DEVICE = "/dev/ttyUSB0"; + constexpr static uint8_t MSG_OK = 0xFF; + constexpr static uint8_t MSG_FAIL = 0xFE; }; #endif // B15F_h diff --git a/drv/b15f.o b/drv/b15f.o index 66aeb6e252dc85faa03a6349f09b13bcdd3eeb19..b886f7c70c229a0605ee9b613c1439c9d5d1fffa 100644 GIT binary patch literal 13096 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 literal 3824 zcmb`JO>7%Q6vxMLKSF4ewB@q}Vv0cJqbqNdw4n&(Hg)Q#AuVwtRjJfryugnJ(Q0iA#v)R1J@up1oetk-hXypyxrKGc+%{=`OW*9 z+1ar_$WM%QrBZ?=CEgIN5mOzG;kO-)^Se?+MLeRsl9|tyH}{re&SD=xwPrQvPSPRJ#0=G z{bTgUdi$?-bxrp4cE9y74H3T#PVy2S)4lyOz1^B$!kEOu<5X||dE%V}Ten60eZSp& zT5vTF&Zfzuouq}{{Y_J85kFzA>9oLU+AL|Yxn3NKt{B&ABlZfl6y;@)_}Nd3*rAW5 zNsFDaQAEp*Hqzs!SIWFbwW=u5J!)T zYRL7QYNLqLV`Ihqw46S6d?GJ(V*9X^ey9S^sY@!!3)Hwp%qqCZ@jYlhXRuJ~f?LHTC18p^m)C<;;4 zz`rO%d4L*o)C@tK3^nG@k`776=lcNhVZ-*Yg`}v( zZ{rLg3F2(kTJ#t)Iyf3j!6?l6PQ!f*VSZDOgt%gQ@OWNfg^P9Nl&Duh)K^&xygA3B zgGpCG*-?(LN?|B8u>Rv(umT^}h-X{2ur{I)aRSwxHwd4cbb`QH6qf7P>t2KMG<@Y* zCnskPlCArWvGl645;%2FSQi4H{QnR6nu6?V6DVgG-`m(%G(I=nXNch)CjSwfAqM$1 z>NcK;5f^;Vh?R>&(!0&eIfLLN@WVUfdT_QOFHnOCpKmb8UgH;yTF)fL{eYNB|BNww zsO73P&d=B;1*Y3jTuj(M88^B9De{5;p_nh!=S==&K7+Ln>?+iBehgxgHHQ4Zil>tK z9hzvj|7T6&72^m$Ag+h^e~}peWhK}7w#m=-WTJ(~+~fXimw(L|a319Ep~im9mxv)% zmRek@CjZNENV>rr{YNntH~oYS + +// SOURCE: https://stackoverflow.com/a/8152888 + +class DriverException: public std::exception +{ +public: + explicit DriverException(const char* message) : msg_(message) + { + } + + explicit DriverException(const std::string& message) : msg_(message) + { + } + + virtual ~DriverException() throw () + { + } + + virtual const char* what() const throw () + { + return msg_.c_str(); + } + +protected: + std::string msg_; +}; + +#endif diff --git a/main b/main index 2ab378baab3c4d42130b3922571cf8ba4658993b..e128c81e1bab68060c737aff2445a404cad507ef 100755 GIT binary patch literal 20368 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 VE@QO!RxbZND@}>BY#D5<@_%3ulJfun literal 13496 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 IMV6prvLx| diff --git a/main.cpp b/main.cpp index 572f019..1a09eaf 100644 --- a/main.cpp +++ b/main.cpp @@ -5,5 +5,5 @@ int main() { B15F& drv = B15F::getInstance(); drv.init(); - std::cout << "heelol" << std::endl; + std::cout << "Schluss." << std::endl; } diff --git a/main.o b/main.o index edd7a31e2b043a2ee4e8bcdbfae22d922245a1ee..1045739d7d7620c0e9671f6c6cbf23d9e7601d31 100644 GIT binary patch delta 31 ncmew$`ayJp14nRjMowvQvED=v4MvWQh4a}NIX4S(+-Cv+x^xPE delta 31 ncmew$`ayJp14l+`YEFI*1H(iQ4Mw(&h4a}N**6Pv+-Cv+uoDU4 From 93f22136c773468f78dc7132d5ca6033c648a4ba Mon Sep 17 00:00:00 2001 From: Tristan Krause Date: Tue, 26 Mar 2019 13:28:29 +0100 Subject: [PATCH 03/32] =?UTF-8?q?Verbindung=20zuverl=C3=A4ssiger?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- drv/b15f.cpp | 88 +++++++++++++++++++++++++++++++++++++++++++++++---- drv/b15f.h | 25 +++++++++------ drv/b15f.o | Bin 13096 -> 17576 bytes main | Bin 20368 -> 20128 bytes 4 files changed, 98 insertions(+), 15 deletions(-) diff --git a/drv/b15f.cpp b/drv/b15f.cpp index a6ace00..fc4ef28 100644 --- a/drv/b15f.cpp +++ b/drv/b15f.cpp @@ -8,24 +8,52 @@ B15F::B15F() void B15F::init(void) { + + std::cout << PRE << "Stelle Verbindung mit Adapter her... "; int code = system(std::string("stty 38400 -F " + SERIAL_DEVICE).c_str()); if(code) { throw DriverException("Konnte serielle Verbindung nicht initialisieren. Ist der Adapter angeschlossen?"); } - usart.open(SERIAL_DEVICE.c_str()); + usart = open(SERIAL_DEVICE.c_str(), O_RDWR | O_NOCTTY | O_NDELAY); + struct termios options; + tcgetattr(usart, &options); + options.c_cflag = baudrate | CS8 | CLOCAL | CREAD; + options.c_iflag = IGNPAR; + options.c_oflag = 0; + options.c_lflag = 0; + options.c_cc[VTIME]=30; + tcsetattr(usart, TCSANOW, &options); + tcflush(usart, TCIFLUSH); - if(!testConnection()) + std::cout << "OK" << std::endl; + + + // Verbindungstest muss dreimal erfolgreich sein + std::cout << PRE << "Teste Verbindung... "; + for(uint8_t i = 0; i < 3; i++) { - throw DriverException("Verbindungstest fehlgeschlagen. Neueste Version im Einsatz?"); + if(!testConnection()) + { + throw DriverException("Verbindungstest fehlgeschlagen. Neueste Version im Einsatz?"); + } } + std::cout << "OK" << std::endl; + + writeByte(0xFF); + writeByte(0x01); + writeByte(0x02); + std::cout << readByte() << std::endl; + std::cout << readByte() << std::endl; } bool B15F::testConnection(void) { + // erzeuge zufälliges Byte srand (time(NULL)); uint8_t dummy = rand() % 256; + writeByte(0); // echo / dummy command for testing writeByte(dummy); @@ -37,17 +65,65 @@ bool B15F::testConnection(void) void B15F::writeByte(uint8_t b) { - usart.put(b); + if(write(usart, &b, 1) != 1) + throw DriverException("Fehler beim Senden."); +} + +void B15F::writeInt(uint16_t v) +{ + // static_cast(static_cast(&x)); + writeByte((v >> 8) & 0xFF); + writeByte((v >> 0) & 0xFF); +} + +void B15F::writeLong(uint32_t v) +{ + writeByte((v >> 24) & 0xFF); + writeByte((v >> 16) & 0xFF); + writeByte((v >> 8) & 0xFF); + writeByte((v >> 0) & 0xFF); } uint8_t B15F::readByte() { char b; - while(1) + auto start = std::chrono::steady_clock::now(); + auto end = start; + uint16_t elapsed = 0; + while(elapsed < timeout) { - if (usart.get(b)) + int n = read(usart, &b, 1); + if (n > 0) return static_cast(b); + /*else if(n < -1) + { + std::string msg = "Fehler bei der seriellen Verbindung. (Code: "; + msg += std::to_string(n); + msg += ")"; + throw DriverException(msg); + }*/ + + end = std::chrono::steady_clock::now(); + elapsed = std::chrono::duration_cast(end - start).count(); } + + if(elapsed >= timeout) + throw DriverException("Verbindung unterbrochen. (timeout)"); +} + +uint16_t B15F::readInt() +{ + return readByte() << 8 | readByte(); +} + +uint32_t B15F::readLong() +{ + return readByte() << 24 | readByte() << 16 | readByte() << 8 | readByte(); +} + +void B15F::sleep(uint16_t ms) +{ + std::this_thread::sleep_for(std::chrono::milliseconds(ms)); } B15F& B15F::getInstance(void) diff --git a/drv/b15f.h b/drv/b15f.h index bd50299..2294934 100644 --- a/drv/b15f.h +++ b/drv/b15f.h @@ -6,17 +6,14 @@ #include #include #include +#include #include -/*#include -#include -#include #include -#include */ - +#include +#include #include "driverexception.h" - class B15F { private: @@ -24,17 +21,27 @@ private: public: void init(void); bool testConnection(void); - void writeByte(uint8_t); - uint8_t readByte(void); + + inline void writeByte(uint8_t); + inline void writeInt(uint16_t); + inline void writeLong(uint32_t); + inline uint8_t readByte(void); + inline uint16_t readInt(void); + inline uint32_t readLong(void); + + void sleep(uint16_t); static B15F& getInstance(void); private: - std::fstream usart; + int usart = -1; + uint32_t baudrate = 38400; + uint16_t timeout = 1000; static B15F* instance; // CONSTANTS + const std::string PRE = "[B15F] "; const std::string SERIAL_DEVICE = "/dev/ttyUSB0"; constexpr static uint8_t MSG_OK = 0xFF; constexpr static uint8_t MSG_FAIL = 0xFE; diff --git a/drv/b15f.o b/drv/b15f.o index b886f7c70c229a0605ee9b613c1439c9d5d1fffa..54c9087ccfd7ed3d2ba1e836d646371bba4a95ee 100644 GIT binary patch literal 17576 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 diff --git a/main b/main index e128c81e1bab68060c737aff2445a404cad507ef..02f913e5415c2e272d4f7acc6bf3ee939bd4d5f4 100755 GIT binary patch literal 20128 zcmcg!4SZD9mB0BIh1$iC#kfMs7s{fBadEWqLMPEaDeiW zt;#1k3##ylq^HOrgo=!Eh4W+{vYC`d}O6q?`E z+bP~Nm$T#OP7`L5%6xx^d}QZ`4PGI*MwI8|mr>ytNo6}M=!&*2u3XU7KEEp(>)kSc zOZDRUiz|J}xNjk^H|ZzYhSh6%Nu)-&f~QXhPZ*_t{+2JU|N83qr4QF!96q+_zTaN_ ziDx#G>;nABc4N$scrnKSv&8nMnP={pQcLlC;d20|_6^+)A-0|&+86&+5!KO1HQunf7zj4 zw>!u`dP?z^8@}dH?yC-ZjyvF04)(n2 zpuZc27+*hy{rUVx^H4r}mO9`xTji_oFJRAX z=4K=3LjVD0^U#P$DVxC*zruMh?BD_OV^VJqUvv@8iHn)0ZS0Q6w4@$N=$gi~#@1C@ zdn6Ir7)|PtMC+>Bu6Qic8fxo`m}&V_u3p`uS4ZPXtu2&{R5r$VS*aN^?^m&Ds6MLJrYBDRHve@ZtrR)(xQ_Ny)zNttaU|V8}&{tl1Ri8 z%_~tH$_Z(quC91Eq(`*KmT;s;kH%v>TVS!K#glp>66%K1WF(ehsiisAe=Qr5jtdR=-x?vRG?g*|JFM;@T=BvG%UNSpl-blZ(T!J{Di3UAZu@ z5X}&3-wKb!!`Cm0#W!c_+702>#uj~vwHnBMG52O55Ljqhi7G{78}pgc5~2!SoQR;Z znfsgqa7wQntNU&6EH*Dd76eFPhppgBW5J@8pQ+KCK_ZN@Ke zE^drz+7fA6S9~MYz zs-vqn*@^mNd~FPewImI%0MpjSHb-Oa+L}nRw>v_KVRPIi6QNi;i-ltGWLG58!}KVU z(f9RG_{z{W0Nwd>Xemp5tw-y)xtu}LkoWx~W&h?$N46$@I3 z)pjBO=K?YzgBAgs$V$MU!6xxsE;gB`79y{UuhFL#-wnu_3|V!1EWguLxeB zcNdoYh3sMQ6y$zF?gK{7GVuzrZ;*J8*kAc`@LdA0&cTO-9yJH=6nt|Ie*Ap1+;us) zQf}fKa_~_h-;;y;#Xh7&Jl~}Kl9%O^&(FmlwGo9aLJ#3$OUCh$1q!FMSDDCT=FiI( z`~nL;YQZnG;D!YkTQi<|+=9=y$e*&{J`3&@^&&fkYj~=Bp3`>FZ;}6&PvIQdPI+Y5 zZNbg{Zl>(D;ON$wFl@m^*WqbDvEZ4lC{ji&xOJcRvIUoILyAT%I0i^27#4g|24(EH z1;+r$gi{uLN(Mzl_>=rF)q>V#x6%)q;y5$MI$h{&A@Ube#n+v)~&n_}Lb`(}K^i;5`<6rUl<(!R5OU zO764Z=UC)#x8SrEmtn|)D-s0VVZmov@Ld*swgvx|1s78WPu*?7=UC+TT5vIy@YG=o zUSW~{i3Oi$!PWk^O4I>Y)j0}Nw-4)uV0!?ABc6t4dN=34Pdp9D^e)anOgs(6^bqGCAfAR`x{vc; zCZ2{tx`*?35l=%gy@B&zAfAR`x|#EzBc6s{x`y*N5>G=e?dN=gcp7SHh4X(;JPon5 zm-B7JyNPF>i+`q3h|?ye~x(S z+UXI_KTSM!>GUw?_YqHBIlY_n-zT0P1?gR!e;9nn5O^M_9~xJ|{c7rv;XyZ22dj3% z+v?!5=OMU{8s0bw!vG8eFkXR@z%cKu)IS05g9Er4YJYWL*$og=2hY5bld7FO^*~8_ zA(V6sLH<4|Pwfx+pecX3DSwlcFXZxpw;NN>U#F&CSNnf+yt%b$&~*fTLmix&PwSADGp*D5>*l35(bKW*y|MmN+ z7FizopC`e=s^>t~s`EZTe)XvjiqzC`^(o^rwcw!o{0Dj&6y7QnP9cR(`udjL2Qygj z0=0kH0%U+n*fRyyz8aj-jY=9Ss&LRnZYv;j`pB?%_CqD=L*nbx9gr}2buU$z-NV?v z73�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 WTq#TMobu%#t~Vvl$;ptzvi||gi*Q>2 literal 20368 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 VE@QO!RxbZND@}>BY#D5<@_%3ulJfun From 95015a030e727a86c53487b52c2fd335ad25cfab Mon Sep 17 00:00:00 2001 From: Tristan Krause Date: Tue, 26 Mar 2019 15:02:41 +0100 Subject: [PATCH 04/32] int test geht --- drv/b15f.cpp | 69 +++++++++++++++++++++++++++++---------------------- drv/b15f.h | 12 ++++++--- drv/b15f.o | Bin 17576 -> 18536 bytes main | Bin 20128 -> 24376 bytes 4 files changed, 48 insertions(+), 33 deletions(-) diff --git a/drv/b15f.cpp b/drv/b15f.cpp index fc4ef28..a11139d 100644 --- a/drv/b15f.cpp +++ b/drv/b15f.cpp @@ -6,10 +6,10 @@ B15F::B15F() { } -void B15F::init(void) +void B15F::init() { - std::cout << PRE << "Stelle Verbindung mit Adapter her... "; + std::cout << PRE << "Stelle Verbindung mit Adapter her... " << std::flush; int code = system(std::string("stty 38400 -F " + SERIAL_DEVICE).c_str()); if(code) { @@ -29,9 +29,11 @@ void B15F::init(void) std::cout << "OK" << std::endl; + // verwerfe Daten, die µC noch hat + discard(); // Verbindungstest muss dreimal erfolgreich sein - std::cout << PRE << "Teste Verbindung... "; + std::cout << PRE << "Teste Verbindung... " << std::flush; for(uint8_t i = 0; i < 3; i++) { if(!testConnection()) @@ -40,21 +42,30 @@ void B15F::init(void) } } std::cout << "OK" << std::endl; + + std::cout << "int: " << testIntConv() << std::endl; + std::cout << "int: " << testIntConv() << std::endl; + std::cout << "int: " << testIntConv() << std::endl; - writeByte(0xFF); - writeByte(0x01); - writeByte(0x02); - std::cout << readByte() << std::endl; - std::cout << readByte() << std::endl; } -bool B15F::testConnection(void) +void B15F::discard(void) +{ + for(uint8_t i = 0; i < 8; i++) + { + writeByte(RQ_DISC); // sende discard Befehl (verwerfe input) + delay(1); + tcflush(usart, TCIFLUSH); // leere Puffer + } +} + +bool B15F::testConnection() { // erzeuge zufälliges Byte - srand (time(NULL)); + srand(time(NULL)); uint8_t dummy = rand() % 256; - writeByte(0); // echo / dummy command for testing + writeByte(RQ_TEST); writeByte(dummy); uint8_t aw = readByte(); @@ -63,25 +74,28 @@ bool B15F::testConnection(void) return aw == MSG_OK && mirror == dummy; } +bool B15F::testIntConv() +{ + srand(time(NULL)); + uint16_t dummy = rand() % (0xFFFF / 3); + + writeByte(RQ_INT); + writeInt(dummy); + + uint16_t aw = readInt(); + return aw == dummy * 3; +} + void B15F::writeByte(uint8_t b) { if(write(usart, &b, 1) != 1) - throw DriverException("Fehler beim Senden."); + throw DriverException("Fehler beim Senden. (byte)"); } void B15F::writeInt(uint16_t v) { - // static_cast(static_cast(&x)); - writeByte((v >> 8) & 0xFF); - writeByte((v >> 0) & 0xFF); -} - -void B15F::writeLong(uint32_t v) -{ - writeByte((v >> 24) & 0xFF); - writeByte((v >> 16) & 0xFF); - writeByte((v >> 8) & 0xFF); - writeByte((v >> 0) & 0xFF); + if(write(usart, reinterpret_cast(&v), 2) != 2) + throw DriverException("Fehler beim Senden. (int)"); } uint8_t B15F::readByte() @@ -113,15 +127,10 @@ uint8_t B15F::readByte() uint16_t B15F::readInt() { - return readByte() << 8 | readByte(); + return readByte() | readByte() << 8; } -uint32_t B15F::readLong() -{ - return readByte() << 24 | readByte() << 16 | readByte() << 8 | readByte(); -} - -void B15F::sleep(uint16_t ms) +void B15F::delay(uint16_t ms) { std::this_thread::sleep_for(std::chrono::milliseconds(ms)); } diff --git a/drv/b15f.h b/drv/b15f.h index 2294934..7c71e0b 100644 --- a/drv/b15f.h +++ b/drv/b15f.h @@ -20,16 +20,16 @@ private: B15F(void); // privater Konstruktor public: void init(void); + void discard(void); bool testConnection(void); + bool testIntConv(void); inline void writeByte(uint8_t); inline void writeInt(uint16_t); - inline void writeLong(uint32_t); inline uint8_t readByte(void); inline uint16_t readInt(void); - inline uint32_t readLong(void); - void sleep(uint16_t); + void delay(uint16_t); static B15F& getInstance(void); @@ -45,6 +45,12 @@ private: const std::string SERIAL_DEVICE = "/dev/ttyUSB0"; constexpr static uint8_t MSG_OK = 0xFF; constexpr static uint8_t MSG_FAIL = 0xFE; + +// REQUESTS + 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; }; #endif // B15F_h diff --git a/drv/b15f.o b/drv/b15f.o index 54c9087ccfd7ed3d2ba1e836d646371bba4a95ee..1d44b6dace3e308358cc44007a10397eebb2deb2 100644 GIT binary patch literal 18536 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 literal 17576 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%0D9I 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 literal 20128 zcmcg!4SZD9mB0BIh1$iC#kfMs7s{fBadEWqLMPEaDeiW zt;#1k3##ylq^HOrgo=!Eh4W+{vYC`d}O6q?`E z+bP~Nm$T#OP7`L5%6xx^d}QZ`4PGI*MwI8|mr>ytNo6}M=!&*2u3XU7KEEp(>)kSc zOZDRUiz|J}xNjk^H|ZzYhSh6%Nu)-&f~QXhPZ*_t{+2JU|N83qr4QF!96q+_zTaN_ ziDx#G>;nABc4N$scrnKSv&8nMnP={pQcLlC;d20|_6^+)A-0|&+86&+5!KO1HQunf7zj4 zw>!u`dP?z^8@}dH?yC-ZjyvF04)(n2 zpuZc27+*hy{rUVx^H4r}mO9`xTji_oFJRAX z=4K=3LjVD0^U#P$DVxC*zruMh?BD_OV^VJqUvv@8iHn)0ZS0Q6w4@$N=$gi~#@1C@ zdn6Ir7)|PtMC+>Bu6Qic8fxo`m}&V_u3p`uS4ZPXtu2&{R5r$VS*aN^?^m&Ds6MLJrYBDRHve@ZtrR)(xQ_Ny)zNttaU|V8}&{tl1Ri8 z%_~tH$_Z(quC91Eq(`*KmT;s;kH%v>TVS!K#glp>66%K1WF(ehsiisAe=Qr5jtdR=-x?vRG?g*|JFM;@T=BvG%UNSpl-blZ(T!J{Di3UAZu@ z5X}&3-wKb!!`Cm0#W!c_+702>#uj~vwHnBMG52O55Ljqhi7G{78}pgc5~2!SoQR;Z znfsgqa7wQntNU&6EH*Dd76eFPhppgBW5J@8pQ+KCK_ZN@Ke zE^drz+7fA6S9~MYz zs-vqn*@^mNd~FPewImI%0MpjSHb-Oa+L}nRw>v_KVRPIi6QNi;i-ltGWLG58!}KVU z(f9RG_{z{W0Nwd>Xemp5tw-y)xtu}LkoWx~W&h?$N46$@I3 z)pjBO=K?YzgBAgs$V$MU!6xxsE;gB`79y{UuhFL#-wnu_3|V!1EWguLxeB zcNdoYh3sMQ6y$zF?gK{7GVuzrZ;*J8*kAc`@LdA0&cTO-9yJH=6nt|Ie*Ap1+;us) zQf}fKa_~_h-;;y;#Xh7&Jl~}Kl9%O^&(FmlwGo9aLJ#3$OUCh$1q!FMSDDCT=FiI( z`~nL;YQZnG;D!YkTQi<|+=9=y$e*&{J`3&@^&&fkYj~=Bp3`>FZ;}6&PvIQdPI+Y5 zZNbg{Zl>(D;ON$wFl@m^*WqbDvEZ4lC{ji&xOJcRvIUoILyAT%I0i^27#4g|24(EH z1;+r$gi{uLN(Mzl_>=rF)q>V#x6%)q;y5$MI$h{&A@Ube#n+v)~&n_}Lb`(}K^i;5`<6rUl<(!R5OU zO764Z=UC)#x8SrEmtn|)D-s0VVZmov@Ld*swgvx|1s78WPu*?7=UC+TT5vIy@YG=o zUSW~{i3Oi$!PWk^O4I>Y)j0}Nw-4)uV0!?ABc6t4dN=34Pdp9D^e)anOgs(6^bqGCAfAR`x{vc; zCZ2{tx`*?35l=%gy@B&zAfAR`x|#EzBc6s{x`y*N5>G=e?dN=gcp7SHh4X(;JPon5 zm-B7JyNPF>i+`q3h|?ye~x(S z+UXI_KTSM!>GUw?_YqHBIlY_n-zT0P1?gR!e;9nn5O^M_9~xJ|{c7rv;XyZ22dj3% z+v?!5=OMU{8s0bw!vG8eFkXR@z%cKu)IS05g9Er4YJYWL*$og=2hY5bld7FO^*~8_ zA(V6sLH<4|Pwfx+pecX3DSwlcFXZxpw;NN>U#F&CSNnf+yt%b$&~*fTLmix&PwSADGp*D5>*l35(bKW*y|MmN+ z7FizopC`e=s^>t~s`EZTe)XvjiqzC`^(o^rwcw!o{0Dj&6y7QnP9cR(`udjL2Qygj z0=0kH0%U+n*fRyyz8aj-jY=9Ss&LRnZYv;j`pB?%_CqD=L*nbx9gr}2buU$z-NV?v z73�)Sz6mJW!>kChj#b<~veXm3O2XO4PvyMcuccJ+f(mu5UfqaDk#8YAB;Yt)?2h zNUb^8Fcc1I!mVK{`eAQL%Z&wG3=Tz_l>dLnShK>F2Q=h52!|Yo7Xbv?VXJjc%lJ2-_1k~r*?u?Np$^>Sf1(hR84PYC z@zn29hf+nx3B(6#iwBmfsUv|CWUIdz<$+!*Y+iBh)ZMTKc2^rEsMf&JzzJi4S!bQ< zJh<$OAIJEiiP`uux5U*40OoHcGEifv1K*u+oNBTCZO^tVVNKs>s+nioVYH*?iQZah zxPoWsDxVvCk|y-Ve|e>H&wqaIS2JskH{T^=4;i0%kJlc}k)-B07a5F3Ds8ap_n2e% z(Y!};RUE4;Kc74e$-45{6e|mi84p7RB=&VRJE9a#F*kutQ+`K)fR(p&G@ zb0RqJrG50+F&?L~`%e{kw$H+2gQUv_mhz;!+x7C<#(kOeQ9Ndh_n^3=|E3bwn0lu7 zqV&~pq~|gAHL-| z&z`#SxwqGqdyEIITIZ*?kke?q7z2M%Z!_d9dSgOw-_7NoF|ORRy$40tRUh|k--t-C z?-=U&5}*I7c4BnE$&a5Y+x0c7>45870O0Vi6G6K+4Lr!(brpKqwp-wWAkkny8?Fq`eRwUD~uwDs2RJ}ft}oLb^9xxZ4bkFeK%2y zeic>mJdv!WiD%6T)8->Y2QUe?tBcGj(X;(A6tCWTfF{pt)(5W*t`A-p)b>-Z?@~<% z>d_cymSPHcf)-NfM1FP2h-cfoG-^}F#zs6(98bRmrYZGX<3{9Y94Lmn&wLHz&z|EO zm^vY3=D3IE(bQ{(%F8H1hDXL_SdJ+cGG>MEeN^892(F)A-CCK1CSX@XBqk~M0yBnxHRP)zxylG2A#+GFt!j@-| zFC9nK&CHWBnc0WPdKNVK}6)#*tng5h=;SgmWta_dvOsPX~rg0}` zkMuONiO?AhA2Lu?AL7LvGd|$9K10x#1auUTS&^Wr?t`ql%She+OnHha@M>1zToQNy z0!P1n^qa;g(oIz--r<)0AS?MtjNSB>jH+Ll0(WHvUL=95G6Fv|1#ZX+e4hjsLm+(# zDwwXKAKEdPC2lk2d#Q;{Uwn?_CqP~uz|&pre+J8l{pylqc&48uVff$}3{JmAB7@8R z4LOa~NH9JP^yqWx$Em0v($Ay#$-BM@V8VT?!nTwt!^+@xXu%}?by9Z6AMk|4x&STf zF`tm0@lVKmA!JV7MSR{NX?Nxc={7cJ(uXna881U|c7pp24HZnyQ!TUHCo}6y<2w*` zp69-a%$E82P6*RHSLfMtbNN&wZYyXa%C?kIVLm@s{zd&S+V%T{{$L+GdiQW$wO&5e zbNAD;MyQR-Faci5*My$!C#X{W2P!PHpV`hke@{(E)5cws6h2_EI+4?cH+R}N7v-q~ ztysZ`X=6P)Y`$q@EpRz)VD7L@8_%NN7-pAHdFV6`qcKcdyct_2dMFxq&9FwNDKml$(+!y=}pTsM$> z|A8{TGfN%cpH+r+qdL$~VnK$`aXww5FuprUO;iUyi@gt?F?^{%3R7Y7HR+QmN~{wg zKhH^iw<&M@gj@F76ZBlWCjA`HtO;T_qz=Z*c$xig!7=d?TMLw6e>~`VdLmW(1h!_L zZC{3_roqjq-O0w(AC1rd4u)^rxEQLX zi`T#_UO9rq{!mRF4!qEmI%yPfqoJ=B@0GARNYRt_SX1gqQ|hpB4;4u0!1X0Zckz8Y z8sy%iuNv=D%HXmeQH#`2oJ@Mnc!s;;m~p?Y^6)?H2OCrWNn66E!8wmi;9KqaPk^=r zQ>PnKCz|HHNiPG`r%o3cAAcJPx4*3`fmh^w+mw2*DRrVQbu2hG{g-P0{sMK$tG!21 zu@YG^EQ~Du=bim<1L=bVqIgGL$XddkI5bQ8z%uJu`Z@i4m&Z(z)=80oIeXFvly3+4g=C4rL6)Rb*R3d7} zYqJ7n!Lqgpl(yik6yAM({}^IpcSAD{i+7k4>}#Q%?8lDfP2un6g(hloK}JkW66Cx zXdhO(FM}%BPQMSj0dyVm_kebR_JQ_+?grfndK~m+qFC?xNk5+Nv>~K0-6X8w#x<;9 zi??9rl!+xn1rxo5(@VKsu<;@xLnObvd6q)*8;*>PZGcV8?Oow6yWBH*b4ee&Y{t?H z7nRSJ`Rfqb@z&T_2>~LI-fQtU1pHFM>fGMV?h;;}4t6ha-YP5I-s^zl6&$;Rqa1!|xCAcM2F*&KN9iZ-3#n(7+g_jo@zzbSwrn)1o|$>O!I5#^xsO znTcQd1qSg<(?8~SeC0^@BJVq(#ovU3m%F`p7A|*}4HhkTD|ZwJ-4(aF>fQeS2@UR= z!q_CYA4t%xKmwA>-6ai^xy`M}s>08mR3HLP|9$v-5ZKEwwD@XM_dk&CJ4yFo@p5;? z9j>6;f7^thySjhkEIh)#m0;9=cFlVX>|!>~w~XQ+FMO`OIS1z8>) zoLGaLn}+yPGy6?!?))o?WAd!g?=iJVyjfIS+Kmp(1GfJ>$nxo+go2dA^u+52aSmbX z=X{TFEY{YXmv&;6#Cf+!$I#`xthcHC|L#|QSDmZzCDGo81wA3?1aa7VmY^31x>(Q^ zf?g?ThoGATy-m=21bs-*J%Sz-^d&(L3wlD(2{fr8oF(W5f-V+xg`igo+9BvBL2ncE z9zh=xbdR711${}-!-Ad=bb{z$XXSP@)2t8uE5GNE8Sq8YB}&EGHY{R#m5cESk$?We zi+ed6xFt~S^HX^}`@CCPDVmv=Ea9_{!9 zCdaKEpU7l?w&NvCjsrV>29x8>j!$B8T-x!;nfb|%PhrEN-`er1Ov%%JMfl#-pBMKq zIp5j!c-g3!2km%i<{p6^pT@iuR>X`KF?4S0B2S1E;R!D1Rco#yb|#basU1Iy)qGO1 zLOfoCSuNi!1(@2`=Nq7 z{p4)k5Yxx?w+jWH+dr3aJ>&aT3-CNck;M z0u(lY&NidA-9!b{Dy;`KXKg6 zhR!z)l>VVJ%6#=zI6l4~&UcUx0;m2d*Wq$Kd!4{XM7c17hpi5Jz65+0CMCJfm+Q-K zJIMdD1O6Wl_+#kL)LtXvc_$w~uRF;9$pN2?3g+|MTnD@g3+ie3K3MK2gd5nWAW!`& zcl=)Npy!(o_{$FXX$O2d{E+WH$weHO)@A7i;IlB^<-SVReG~U*R!+vg1Dxii%zzgO zbNGBUgQ?E%{Jn$x1l}&viY&c|<0yBI ziA6-xQV00~;AE%Vm-2T$$n&6s{4)+X9r`JvEGv1}LB5pF16D~h9^p9pxv(G89S^+% zZx$Oqde1{)yMvyGfaj~%lMeE~0!|+R=7#ryE4d)}$=FEJc$e$93L!HKcs}{1z-8aF zsiRvCzHm}OeMbBT2YNR zym}}Wj?}YoLQm?w9S~>PYgC%vO&54#ktA+f;Bv~wu6SFhOKaETiKG_l-NM50?w+oQ z9%=Voym-mt{6bm>Y|%oAL};rPiRp>0tRoTXj%e+@-Q8P}#lrDRQ8rOcTd^j%s$Q#K zT}QXPG+b}h>Qw=%b!(Vb_vzKaRgJYsqbg@Ix7z`JPb}lID^{#%smJZ7;PR$=XvJ+H zaj~nWhTj-5FN8pY{lsdy`$~r)x!#_K+URUYHrD<8QzClym9G zX0s0$P_)J?a3iKY8q<1{k#_S&%(!BC`v)rNET9%g4UsV2CnI~!dq?7ejXj%rtH+MP z3*#ydkMLV-=!_rjI+?9X!ld!H-)d^IH*)wrE5{3Tx%%3Zajg^gnCNn#7z$PVI#a#Q z>aOx7A{{>GD}eIGRE|=*g643~D@QWV%`RJ2=*pAGlGD`!0o;RXlw)?2xH6TM#pNbh zAAZlxyi1i$7u|N{xE8D2+!-=&BigPjj=zwGTV%M)m8-F}ahyheF)UY(t~v@#3^9J4 zELRM7=;LV_A?_Uc=2$Ihlw{gK>20|MlHTo4sV4{bt{| zd!Kgs00ynFCg%#HO)h(5E~i#B(CA8^UHZdbQnk7jcC@yPZ%kC@uU_x86;7Aw@W{Z_ zXI{=Dhm2E;K1%Zh-Tup|kk*E4wC0>GE&}EVkUjQ`yVT)rCZK$NIWU~;<&Oq3;cuU8 zv$srb%K1E-r%I03hwVTkd8Z7+lQl3Tm=P#dV8 zFlncZMd<*#hxu@(AMxQT=zKl2QE(e$y}q{IDE|8nob>yM>kK73nXi3o4Ejupi>^Ec zr`>eKZeuj0B_drR${=DrT{`oT!n{l z%?$EAwxsg>NF;Mv87E5HYitoR`Q`g=Nfo471Gcrc5CCV*uM0yYEw@S2yGeVf1B)Zx zxU^rsKbKUl>s=xnwga}X8XTQz$^642BIyoMAhvP5?lQl8KX4^*dbc3+%lGk;%5yV_ z@Ibz{hU>u4nUu^g-`h*tCWNK^QclwAkxpk^l9%uIB^?#{$$qj^+Am;sBO+8qnO~j* zNIEJEmgUR*vi{pd{^dfUJTH(`p8HXL%9ESle2;7XA4H@=zNe5>o)1zQ1<@QPgWnYX z$V93ig<-KtlXQcun3;@s17?u)Zm`z;@|;3aX|KqZv0vim`{r!<@;#uW56FUY%9Z-Q zkyE}r_mC9ZPFu*W|F=bcSxxy~RMMfG4wqvNdn_k^&s?)ONq5>xAMgJsbMnjc7D?&< z+pz}eH;Fxq2$`4>lP|^ueN+kxno}M23UD|6sBcq{@5kl;_aytNnVRi?(vIIE!Gk}U zU!L<+f6~k$<(%@_O%mx7=Sh7czgIX$_HUVAw&M=u zv6e5-mxg?1fjv16lldh*1L@ZMnfGRXGryDn%vAUenMs$dzan0=mx=uRdoL*rs#xL_ zoi553;+a&LKlhl0Y^7kOnZ9Et@n2QiFV6MP0lE->vfi>@G`^(mJfry8AYN2&$QgjL WTq#TMobu%#t~Vvl$;ptzvi||gi*Q>2 From 8cbd8a1a12740e0b3ace404cb1215fbae96af742 Mon Sep 17 00:00:00 2001 From: Tristan Krause Date: Tue, 26 Mar 2019 16:27:21 +0100 Subject: [PATCH 05/32] io Funktionen ok --- drv/b15f.cpp | 89 +++++++++++++++++++++++++++++++++++++++++++-------- drv/b15f.h | 25 +++++++++++++-- drv/b15f.o | Bin 18536 -> 18896 bytes main | Bin 24376 -> 24128 bytes 4 files changed, 97 insertions(+), 17 deletions(-) diff --git a/drv/b15f.cpp b/drv/b15f.cpp index a11139d..2071a06 100644 --- a/drv/b15f.cpp +++ b/drv/b15f.cpp @@ -35,17 +35,26 @@ void B15F::init() // Verbindungstest muss dreimal erfolgreich sein std::cout << PRE << "Teste Verbindung... " << std::flush; for(uint8_t i = 0; i < 3; i++) - { if(!testConnection()) - { throw DriverException("Verbindungstest fehlgeschlagen. Neueste Version im Einsatz?"); - } - } std::cout << "OK" << std::endl; - std::cout << "int: " << testIntConv() << std::endl; - std::cout << "int: " << testIntConv() << std::endl; - std::cout << "int: " << testIntConv() << std::endl; + + std::cout << PRE << "Teste Integer Konvertierung... " << std::flush; + for(uint8_t i = 0; i < 3; i++) + if(!testIntConv()) + throw DriverException("Konvertierung fehlgeschlagen."); + std::cout << "OK" << std::endl; + + while(1) + { + for(uint16_t i = 0; i < 1024; ) + { + i = analogeEingabe(0); + analogeAusgabe0(i); + delay(0); + } + } } @@ -86,6 +95,65 @@ bool B15F::testIntConv() return aw == dummy * 3; } + + +bool B15F::digitaleAusgabe0(uint8_t port) +{ + writeByte(RQ_BA0); + writeByte(port); + + uint8_t aw = readByte(); + return aw == MSG_OK; +} + +bool B15F::digitaleAusgabe1(uint8_t port) +{ + writeByte(RQ_BA1); + writeByte(port); + + uint8_t aw = readByte(); + return aw == MSG_OK; +} + +uint8_t B15F::digitaleEingabe0() +{ + writeByte(RQ_BE0); + return readByte(); +} + +uint8_t B15F::digitaleEingabe1() +{ + writeByte(RQ_BE1); + return readByte(); +} + +bool B15F::analogeAusgabe0(uint16_t value) +{ + writeByte(RQ_AA0); + writeInt(value); + + uint8_t aw = readByte(); + return aw == MSG_OK; +} + +bool B15F::analogeAusgabe1(uint16_t value) +{ + writeByte(RQ_AA1); + writeInt(value); + + uint8_t aw = readByte(); + return aw == MSG_OK; +} + +uint16_t B15F::analogeEingabe(uint8_t channel) +{ + writeByte(RQ_ADC); + writeByte(channel); + return readInt(); +} + + + void B15F::writeByte(uint8_t b) { if(write(usart, &b, 1) != 1) @@ -109,13 +177,6 @@ uint8_t B15F::readByte() int n = read(usart, &b, 1); if (n > 0) return static_cast(b); - /*else if(n < -1) - { - std::string msg = "Fehler bei der seriellen Verbindung. (Code: "; - msg += std::to_string(n); - msg += ")"; - throw DriverException(msg); - }*/ end = std::chrono::steady_clock::now(); elapsed = std::chrono::duration_cast(end - start).count(); diff --git a/drv/b15f.h b/drv/b15f.h index 7c71e0b..cac39ff 100644 --- a/drv/b15f.h +++ b/drv/b15f.h @@ -19,18 +19,30 @@ class B15F private: B15F(void); // privater Konstruktor public: + // Grundfunktionen void init(void); void discard(void); bool testConnection(void); bool testIntConv(void); + // Board Befehle + inline bool digitaleAusgabe0(uint8_t); + inline bool digitaleAusgabe1(uint8_t); + inline uint8_t digitaleEingabe0(void); + inline uint8_t digitaleEingabe1(void); + inline bool analogeAusgabe0(uint16_t); + inline bool analogeAusgabe1(uint16_t); + inline uint16_t analogeEingabe(uint8_t); + + // Serielle Verbindung inline void writeByte(uint8_t); inline void writeInt(uint16_t); inline uint8_t readByte(void); inline uint16_t readInt(void); - void delay(uint16_t); + void delay(uint16_t); + static B15F& getInstance(void); private: @@ -40,17 +52,24 @@ private: static B15F* instance; -// CONSTANTS + // CONSTANTS const std::string PRE = "[B15F] "; const std::string SERIAL_DEVICE = "/dev/ttyUSB0"; constexpr static uint8_t MSG_OK = 0xFF; constexpr static uint8_t MSG_FAIL = 0xFE; -// REQUESTS + // REQUESTS 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; }; #endif // B15F_h diff --git a/drv/b15f.o b/drv/b15f.o index 1d44b6dace3e308358cc44007a10397eebb2deb2..3e4a43efba472e81affacd53517e234c16833c29 100644 GIT binary patch literal 18896 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 diff --git a/main b/main index 064be73c502e324c5d0a1c5e9953d44cc2a3092f..275fed1ef78634188bf8db721537cc3c0c3af9c3 100755 GIT binary patch literal 24128 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 wVt@TCuuJeS%Pq@A{Y%`PgCzHv9OigCenHLCX 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%0D9I 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 From a3e9e1ce274a68dc916e5dbffcfe6c3cf2981f9c Mon Sep 17 00:00:00 2001 From: Tristan Krause Date: Wed, 27 Mar 2019 09:18:21 +0100 Subject: [PATCH 06/32] auto reconnect --- drv/b15f.cpp | 139 ++++++++++++++++++++++++++++++++++++++++----------- drv/b15f.h | 3 ++ drv/b15f.o | Bin 18896 -> 26144 bytes main | Bin 24128 -> 24656 bytes 4 files changed, 113 insertions(+), 29 deletions(-) diff --git a/drv/b15f.cpp b/drv/b15f.cpp index 2071a06..c03d0ff 100644 --- a/drv/b15f.cpp +++ b/drv/b15f.cpp @@ -48,16 +48,41 @@ void B15F::init() while(1) { - for(uint16_t i = 0; i < 1024; ) + digitaleAusgabe0(0xFF); + digitaleAusgabe0(0x00); + //analogeEingabe(0); + /*for(uint16_t i = 0; i < 1024; ) { i = analogeEingabe(0); analogeAusgabe0(i); delay(0); - } + }*/ } } +void B15F::reconnect() +{ + std::cout << PRE << "Verbindung unterbrochen, stelle Verbindung neu her: " << std::flush; + + uint8_t tries = RECONNECT_TRIES; + while(tries--) + { + delay(RECONNECT_TIMEOUT); + + discard(); + + if(testConnection()) + { + std::cout << "OK" << std::endl << std::flush; + return; + } + + } + + throw DriverException("Verbindung kann nicht repariert werden"); +} + void B15F::discard(void) { for(uint8_t i = 0; i < 8; i++) @@ -99,57 +124,113 @@ bool B15F::testIntConv() bool B15F::digitaleAusgabe0(uint8_t port) { - writeByte(RQ_BA0); - writeByte(port); - - uint8_t aw = readByte(); - return aw == MSG_OK; + try + { + writeByte(RQ_BA0); + writeByte(port); + + uint8_t aw = readByte(); + return aw == MSG_OK; + } + catch(DriverException& de) + { + reconnect(); + return digitaleAusgabe0(port); + } } bool B15F::digitaleAusgabe1(uint8_t port) { - writeByte(RQ_BA1); - writeByte(port); - - uint8_t aw = readByte(); - return aw == MSG_OK; + try + { + writeByte(RQ_BA1); + writeByte(port); + + uint8_t aw = readByte(); + return aw == MSG_OK; + } + catch(DriverException& de) + { + reconnect(); + return digitaleAusgabe1(port); + } } uint8_t B15F::digitaleEingabe0() { - writeByte(RQ_BE0); - return readByte(); + try + { + writeByte(RQ_BE0); + return readByte(); + } + catch(DriverException& de) + { + reconnect(); + return digitaleEingabe0(); + } } uint8_t B15F::digitaleEingabe1() { - writeByte(RQ_BE1); - return readByte(); + try + { + writeByte(RQ_BE1); + return readByte(); + } + catch(DriverException& de) + { + reconnect(); + return digitaleEingabe1(); + } } bool B15F::analogeAusgabe0(uint16_t value) { - writeByte(RQ_AA0); - writeInt(value); - - uint8_t aw = readByte(); - return aw == MSG_OK; + try + { + writeByte(RQ_AA0); + writeInt(value); + + uint8_t aw = readByte(); + return aw == MSG_OK; + } + catch(DriverException& de) + { + reconnect(); + return analogeAusgabe0(value); + } } bool B15F::analogeAusgabe1(uint16_t value) { - writeByte(RQ_AA1); - writeInt(value); - - uint8_t aw = readByte(); - return aw == MSG_OK; + try + { + writeByte(RQ_AA1); + writeInt(value); + + uint8_t aw = readByte(); + return aw == MSG_OK; + } + catch(DriverException& de) + { + reconnect(); + return analogeAusgabe1(value); + } } uint16_t B15F::analogeEingabe(uint8_t channel) { - writeByte(RQ_ADC); - writeByte(channel); - return readInt(); + try + { + writeByte(RQ_ADC); + writeByte(channel); + return readInt(); + } + catch(DriverException& de) + { + reconnect(); + return analogeEingabe(channel); + } } diff --git a/drv/b15f.h b/drv/b15f.h index cac39ff..0ed4d28 100644 --- a/drv/b15f.h +++ b/drv/b15f.h @@ -21,6 +21,7 @@ private: public: // Grundfunktionen void init(void); + void reconnect(void); void discard(void); bool testConnection(void); bool testIntConv(void); @@ -57,6 +58,8 @@ private: const std::string SERIAL_DEVICE = "/dev/ttyUSB0"; constexpr static uint8_t MSG_OK = 0xFF; constexpr static uint8_t MSG_FAIL = 0xFE; + constexpr static uint16_t RECONNECT_TIMEOUT = 32; // ms + constexpr static uint8_t RECONNECT_TRIES = 3; // REQUESTS constexpr static uint8_t RQ_DISC = 0; diff --git a/drv/b15f.o b/drv/b15f.o index 3e4a43efba472e81affacd53517e234c16833c29..3173d0b37f8b31ddf47a3e99fedb215404434a8b 100644 GIT binary patch literal 26144 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 wVt@TCuuJeS%Pq@A{Y% Date: Wed, 27 Mar 2019 10:33:16 +0100 Subject: [PATCH 07/32] complex stroke erste version --- drv/b15f.cpp | 46 ++++++++++++++++++++++++++++++++-------------- drv/b15f.h | 16 +++++++++------- drv/b15f.o | Bin 26144 -> 43104 bytes main | Bin 24656 -> 33240 bytes main.cpp | 16 ++++++++++++++++ main.o | Bin 2800 -> 3080 bytes 6 files changed, 57 insertions(+), 21 deletions(-) diff --git a/drv/b15f.cpp b/drv/b15f.cpp index c03d0ff..f5a68d4 100644 --- a/drv/b15f.cpp +++ b/drv/b15f.cpp @@ -45,20 +45,6 @@ void B15F::init() if(!testIntConv()) throw DriverException("Konvertierung fehlgeschlagen."); std::cout << "OK" << std::endl; - - while(1) - { - digitaleAusgabe0(0xFF); - digitaleAusgabe0(0x00); - //analogeEingabe(0); - /*for(uint16_t i = 0; i < 1024; ) - { - i = analogeEingabe(0); - analogeAusgabe0(i); - delay(0); - }*/ - } - } void B15F::reconnect() @@ -233,6 +219,38 @@ uint16_t B15F::analogeEingabe(uint8_t channel) } } +bool B15F::analogEingabeSequenz(uint16_t* buffer_a, uint16_t* buffer_b, uint32_t offset_a, uint32_t offset_b, uint16_t start, uint16_t delta, uint16_t count) +{ + try + { + writeByte(RQ_ADC_DAC_STROKE); + writeInt(start); + writeInt(delta); + writeInt(count); + uint8_t aw = readByte(); + + if(aw != MSG_OK) + { + std::cout << "nein: " << (int) aw << std::endl; + throw DriverException("Mikrocontroller nicht synchronisiert"); + } + + for(uint16_t i = 0; i < count; i++) + { + buffer_a[offset_a + i] = readInt(); + buffer_b[offset_b + i] = readInt(); + std::cout << "(" << i << ") " << buffer_a[offset_a + i] << " \t| " << buffer_b[offset_b + i] << std::endl; + } + + aw = readByte(); + return aw == MSG_OK; + } + catch(DriverException& de) + { + reconnect(); + return analogEingabeSequenz(buffer_a, buffer_b, offset_a, offset_b, start, delta, count); + } +} void B15F::writeByte(uint8_t b) diff --git a/drv/b15f.h b/drv/b15f.h index 0ed4d28..809b869 100644 --- a/drv/b15f.h +++ b/drv/b15f.h @@ -27,13 +27,14 @@ public: bool testIntConv(void); // Board Befehle - inline bool digitaleAusgabe0(uint8_t); - inline bool digitaleAusgabe1(uint8_t); - inline uint8_t digitaleEingabe0(void); - inline uint8_t digitaleEingabe1(void); - inline bool analogeAusgabe0(uint16_t); - inline bool analogeAusgabe1(uint16_t); - inline uint16_t analogeEingabe(uint8_t); + bool digitaleAusgabe0(uint8_t); + bool digitaleAusgabe1(uint8_t); + uint8_t digitaleEingabe0(void); + uint8_t digitaleEingabe1(void); + bool analogeAusgabe0(uint16_t); + bool analogeAusgabe1(uint16_t); + uint16_t analogeEingabe(uint8_t); + bool analogEingabeSequenz(uint16_t*, uint16_t*, uint32_t, uint32_t, uint16_t, uint16_t, uint16_t); // Serielle Verbindung inline void writeByte(uint8_t); @@ -73,6 +74,7 @@ private: constexpr static uint8_t RQ_AA0 = 9; constexpr static uint8_t RQ_AA1 = 10; constexpr static uint8_t RQ_ADC = 11; + constexpr static uint8_t RQ_ADC_DAC_STROKE = 12; }; #endif // B15F_h diff --git a/drv/b15f.o b/drv/b15f.o index 3173d0b37f8b31ddf47a3e99fedb215404434a8b..3342308bfa94fcf706c26237bd8b48cd64e75d86 100644 GIT binary patch literal 43104 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 literal 26144 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%0DcR!O84&ubME=0(HX##N1n^ow6!B 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 delta 598 zcmeB>_#iq#gXsg?L@hNzkLEWVFBpKpqw_eJo;XK^%kY3l^AV22{PGSH-#5yN0A*!B zN`SxyM7Zz?l=E>gfW%EEuVmDoe1mZYqr>DvruB?AlNFiM8LK8cGK({w0F%s1r-NbERH0eh$PMel7U%}1(g6UXh`3I*4lLFghB`!Or6AY7+xa=4| zPfp}epL~K#g7XJNIfKXKmt5vd7C=?pcAO5tC*k0D73AV*mgE From 8bf9cfe00dbfcce36691d557b5ae7b5870e54ff3 Mon Sep 17 00:00:00 2001 From: Tristan Krause Date: Wed, 27 Mar 2019 10:49:08 +0100 Subject: [PATCH 08/32] stroke verbessert --- drv/b15f.cpp | 21 +++++++++++---------- drv/b15f.h | 2 +- drv/b15f.o | Bin 43104 -> 43624 bytes main | Bin 33240 -> 33200 bytes main.cpp | 2 +- main.o | Bin 3080 -> 3088 bytes 6 files changed, 13 insertions(+), 12 deletions(-) diff --git a/drv/b15f.cpp b/drv/b15f.cpp index f5a68d4..a76e5a2 100644 --- a/drv/b15f.cpp +++ b/drv/b15f.cpp @@ -28,15 +28,17 @@ void B15F::init() tcflush(usart, TCIFLUSH); std::cout << "OK" << std::endl; - - // verwerfe Daten, die µC noch hat - discard(); // Verbindungstest muss dreimal erfolgreich sein std::cout << PRE << "Teste Verbindung... " << std::flush; for(uint8_t i = 0; i < 3; i++) + { + // verwerfe Daten, die µC noch hat + discard(); + if(!testConnection()) throw DriverException("Verbindungstest fehlgeschlagen. Neueste Version im Einsatz?"); + } std::cout << "OK" << std::endl; @@ -219,21 +221,20 @@ uint16_t B15F::analogeEingabe(uint8_t channel) } } -bool B15F::analogEingabeSequenz(uint16_t* buffer_a, uint16_t* buffer_b, uint32_t offset_a, uint32_t offset_b, uint16_t start, uint16_t delta, uint16_t count) +bool B15F::analogEingabeSequenz(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) { try { - writeByte(RQ_ADC_DAC_STROKE); + writeByte(RQ_ADC_DAC_STROKE); + writeByte(channel_a); + writeByte(channel_b); writeInt(start); - writeInt(delta); + writeInt(static_cast(delta)); writeInt(count); uint8_t aw = readByte(); if(aw != MSG_OK) - { - std::cout << "nein: " << (int) aw << std::endl; throw DriverException("Mikrocontroller nicht synchronisiert"); - } for(uint16_t i = 0; i < count; i++) { @@ -248,7 +249,7 @@ bool B15F::analogEingabeSequenz(uint16_t* buffer_a, uint16_t* buffer_b, uint32_t catch(DriverException& de) { reconnect(); - return analogEingabeSequenz(buffer_a, buffer_b, offset_a, offset_b, start, delta, count); + return analogEingabeSequenz(channel_a, buffer_a, offset_a, channel_b, buffer_b, offset_b, start, delta, count); } } diff --git a/drv/b15f.h b/drv/b15f.h index 809b869..d2c187c 100644 --- a/drv/b15f.h +++ b/drv/b15f.h @@ -34,7 +34,7 @@ public: bool analogeAusgabe0(uint16_t); bool analogeAusgabe1(uint16_t); uint16_t analogeEingabe(uint8_t); - bool analogEingabeSequenz(uint16_t*, uint16_t*, uint32_t, uint32_t, uint16_t, uint16_t, uint16_t); + bool analogEingabeSequenz(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); // Serielle Verbindung inline void writeByte(uint8_t); diff --git a/drv/b15f.o b/drv/b15f.o index 3342308bfa94fcf706c26237bd8b48cd64e75d86..fd4021456dd4547ad1f580a726e5bd9552121707 100644 GIT binary patch literal 43624 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 diff --git a/main b/main index 8884305eceb16db2dfeaed134bd5870c67edf6ba..9f0ce44a854e0fe4f796c1a1566454f9218127ca 100755 GIT binary patch literal 33200 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 literal 33240 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%0DcR!O84&ubME=0(HX##N1n^ow6!B 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 From 3473057f9804fa7da335acfef6bb58bd0ad4d73f Mon Sep 17 00:00:00 2001 From: Tristan Krause Date: Wed, 27 Mar 2019 11:45:14 +0100 Subject: [PATCH 09/32] usart speedup --- drv/b15f.cpp | 6 +++--- drv/b15f.h | 2 +- drv/b15f.o | Bin 43624 -> 44832 bytes main | Bin 33200 -> 37608 bytes 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/drv/b15f.cpp b/drv/b15f.cpp index a76e5a2..582b947 100644 --- a/drv/b15f.cpp +++ b/drv/b15f.cpp @@ -10,7 +10,7 @@ void B15F::init() { std::cout << PRE << "Stelle Verbindung mit Adapter her... " << std::flush; - int code = system(std::string("stty 38400 -F " + SERIAL_DEVICE).c_str()); + int code = system(std::string("stty " + std::to_string(BAUDRATE) + " -F " + SERIAL_DEVICE).c_str()); if(code) { throw DriverException("Konnte serielle Verbindung nicht initialisieren. Ist der Adapter angeschlossen?"); @@ -19,11 +19,11 @@ void B15F::init() usart = open(SERIAL_DEVICE.c_str(), O_RDWR | O_NOCTTY | O_NDELAY); struct termios options; tcgetattr(usart, &options); - options.c_cflag = baudrate | CS8 | CLOCAL | CREAD; options.c_iflag = IGNPAR; options.c_oflag = 0; options.c_lflag = 0; - options.c_cc[VTIME]=30; + options.c_cc[VTIME]=1; // timeout in Dezisekunden + cfsetspeed(&options, BAUDRATE); tcsetattr(usart, TCSANOW, &options); tcflush(usart, TCIFLUSH); diff --git a/drv/b15f.h b/drv/b15f.h index d2c187c..65d0c53 100644 --- a/drv/b15f.h +++ b/drv/b15f.h @@ -49,7 +49,6 @@ public: private: int usart = -1; - uint32_t baudrate = 38400; uint16_t timeout = 1000; static B15F* instance; @@ -61,6 +60,7 @@ private: constexpr static uint8_t MSG_FAIL = 0xFE; constexpr static uint16_t RECONNECT_TIMEOUT = 32; // ms constexpr static uint8_t RECONNECT_TRIES = 3; + constexpr static uint32_t BAUDRATE = 115200; // REQUESTS constexpr static uint8_t RQ_DISC = 0; diff --git a/drv/b15f.o b/drv/b15f.o index fd4021456dd4547ad1f580a726e5bd9552121707..6a2d547ac7a2e5bf97e5868d5388b85c7af49596 100644 GIT binary patch literal 44832 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 I5R+B@AAl-)-v9sr literal 33200 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 From 46809d811b1f09013551b2ffd68bb63206dda471 Mon Sep 17 00:00:00 2001 From: Tristan Krause Date: Wed, 27 Mar 2019 12:57:51 +0100 Subject: [PATCH 10/32] faster startup --- drv/b15f.cpp | 34 ++++++++++++++++++++-------------- drv/b15f.o | Bin 44832 -> 42288 bytes gnuplotscript.gp | 25 +++++++++++++++++++++++++ graph | Bin 0 -> 84256 bytes main | Bin 37608 -> 33448 bytes main.cpp | 4 +++- main.o | Bin 3088 -> 3224 bytes plotty | Bin 0 -> 1183040 bytes 8 files changed, 48 insertions(+), 15 deletions(-) create mode 100644 gnuplotscript.gp create mode 100755 graph create mode 100755 plotty diff --git a/drv/b15f.cpp b/drv/b15f.cpp index 582b947..46a0fa0 100644 --- a/drv/b15f.cpp +++ b/drv/b15f.cpp @@ -19,6 +19,7 @@ void B15F::init() usart = open(SERIAL_DEVICE.c_str(), O_RDWR | O_NOCTTY | O_NDELAY); struct termios options; tcgetattr(usart, &options); + options.c_cflag = CS8 | CLOCAL | CREAD; options.c_iflag = IGNPAR; options.c_oflag = 0; options.c_lflag = 0; @@ -28,25 +29,28 @@ void B15F::init() tcflush(usart, TCIFLUSH); std::cout << "OK" << std::endl; + + delay(1); - // Verbindungstest muss dreimal erfolgreich sein - std::cout << PRE << "Teste Verbindung... " << std::flush; - for(uint8_t i = 0; i < 3; i++) + std::cout << PRE << "Teste Verbindung... " << std::flush; + uint8_t tries = 3; + while(tries--) { // verwerfe Daten, die µC noch hat discard(); if(!testConnection()) - throw DriverException("Verbindungstest fehlgeschlagen. Neueste Version im Einsatz?"); - } - std::cout << "OK" << std::endl; - - - std::cout << PRE << "Teste Integer Konvertierung... " << std::flush; - for(uint8_t i = 0; i < 3; i++) + continue; + if(!testIntConv()) - throw DriverException("Konvertierung fehlgeschlagen."); + continue; + + break; + } + if(tries == 0) + throw DriverException("Verbindungstest fehlgeschlagen. Neueste Version im Einsatz?"); std::cout << "OK" << std::endl; + } void B15F::reconnect() @@ -73,12 +77,14 @@ void B15F::reconnect() void B15F::discard(void) { + tcflush(usart, TCIFLUSH); // leere Puffer for(uint8_t i = 0; i < 8; i++) { writeByte(RQ_DISC); // sende discard Befehl (verwerfe input) - delay(1); - tcflush(usart, TCIFLUSH); // leere Puffer + delay(10); } + delay(100); + tcflush(usart, TCIFLUSH); // leere Puffer } bool B15F::testConnection() @@ -240,7 +246,7 @@ bool B15F::analogEingabeSequenz(uint8_t channel_a, uint16_t* buffer_a, uint32_t { buffer_a[offset_a + i] = readInt(); buffer_b[offset_b + i] = readInt(); - std::cout << "(" << i << ") " << buffer_a[offset_a + i] << " \t| " << buffer_b[offset_b + i] << std::endl; + //std::cout << "(" << i << ") " << buffer_a[offset_a + i] << " \t| " << buffer_b[offset_b + i] << std::endl; } aw = readByte(); diff --git a/drv/b15f.o b/drv/b15f.o index 6a2d547ac7a2e5bf97e5868d5388b85c7af49596..fe7f7ddbeabb4c6da201458377c78fb4994eb6bb 100644 GIT binary patch literal 42288 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 literal 44832 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 literal 0 HcmV?d00001 diff --git a/main b/main index 9ffffd5e0bb3fffb9fa84a821cb5ea8abc142079..1b8f4ad55ffc4c0b2779b307588184e495605b77 100755 GIT binary patch literal 33448 zcmeHwdwf*I+5g$>ZW3?Vtsw|~AT zpJdMS%=0|+%rnnCGjq=5%#U1UbJ9#EMP6p*y9$G{Ii^@-=+{dMMJZN_lp**#UKyvP z18u=?vB*wNj|tH-%@lNIq{LU0#u3TsSV1RKsUf9SkvCZK?)N!Xri!961o4rs$Cfe> zsmg9-nnTLqDvt?Q8BFRC-;%2sh*V`aGPMi+Wh(1O;^=pw$WKm7nG{8lDbdnZ{_j8y zyT6RXN>X}Upk*rgz6U8@02}k+cu3VqlTy{m(-PKDkU%%;1|GmDq zE+pEi_?7LZDEYXzFdWcIb4S@3V>S#gq5HwEn}HlPNX7>!bTIs*De#Y{z^{XXgUMM1 zdku!~O`%U2=qC)K=j$oTT>*m(Cf}9<|51u^N2JhmX$t&JDfD?Kg&odFK|d>n{BbGp zr=`H>rNHk`QSPo3_}5a{=aCfjFQlmNdnxR{FNK`hDfG`tA!lm}J^NG8pGZ;et&lSk zzsc9m6mqEF59V)$De$MIuun+}{2x=4yBrD*R_?1QE0b&$8u>eosrl+Z^zC6pwr1d{2$9*|)5|CE#mbIKQN!(eGR6t!nV`yuov> zTu>1xs&8!ZRC!x`Q{DdhKxu(%1qolZ%G2a)ZfW#;8|nkAJuC7R4~QG5Gz9~$YTPee zyr3Z8xqF^%aTk1X44c?X(PhfSE&r|QOZFCXSyox|!HKE+qu7W9^`JR>a zH9kM`>jPBOl{F3JRATiiucr#?`#sg(Ky@85Dgq=mP}khJ($nDcFALOpe9g^`&E@l; z0HgOdG&F+R=kcwo_B93S8~u!}V4BC%*b->=d6%P@7GHC~U0o3yv})AG-#Epy zcyhsHG?ceyHEh;ceeD!~OGZK?&-XO@ni{;-KG*W)usvz_Ed))69B)$-4B`?( z{3{`fwIiz)Gj_rBSc^9N%qKG)^Tsh$;q zsnw0a0IP9hVQoXOr4EKfS6o(I?P;N&SfF?o`B&DXnJ@RX1eg0Lvzm9&mS(TNM)7<7 zjV%p6Uy~B3M>e`iz*~K-r@HQ1Pp!AUK|uq+xkV*V@~V0iNA>nMdYE^UR|l$Fd;xDD z(5yha8f8U`zX{D2s8yExmRC2e215)*l9iU#aIWQGV=60+Fgt){LWVF{J@xJDeM)sL zgts*Ld^M0m>Wiqd+*|KgRyNlMe9GLC63>*pd}VH#dv=Lua^BR~T|xYIiUB=2uaJ{0 zSpvqXc?HuG!GZ*Ex>B-aiF3BwQ;;_$&j=(?O-^7!P)tMAq#p}@t?VuhDaWQEC0x3a z!E($DpQdDDg=1ERD#I9TRfY>b3#jQwQAR)>$-scY$}q7z6K1LF5SwNEFF$wnFrvK) z;|Eo@ICwh2X662vybQ?X zyhxP#V|PHI;mRX|-pk-&%98>P{U{gtLzNclkhzPZ%@K^iS?(NgfA9wP7=OV zjF0(A_{{=el!R{*cr6KEzCh?H##O0*rW|LJ@KPU{Qd>;GFSR9IK& z4XxQ^8HDID;Ncjt>oo)Zf*4j&_8ah%40zpuFEHQ_8}O42_+tkA6azk6)R*+nHQ?pE zgWRCdfN#A}M?`3AfU4U|!2 zz@N@2`JZ9~{tN?NGvMVjA<8Z{;LkMBFEQZ98Ss?`{CESt&VW}9_$CAXECYU(0e`ju z-)g`+4EVJM{5b}ErvZPi0l&e3KhJ>QXu#(f@S6q8 zTHC=)Eo^;ko~mdaU4gXz9<6P6<}Rhb@cc_vrT?4@@z*xK7ZDsJs1e3c*n;3k6 z;7o!m8T>ZE)WxIa4E_hf)U~6<41ST|VFc$h_$h*^D@RoZKS?l!;;5a$+X<#F9aR|o zCxWRfM-QI>;+)?TOkFs-pTYMMOkFqH!{A>MOkFnG#o(V2OkFj)nZdUZOkFg(k-;|; zOkFeD$>8e=rY;$6WpFdW)D@#m4E_PZ)CHrJ46Y)Wx?Z%L!B-MYT`pS8;L8c7t`^N_ z@TCM(7mKP4o=q@yt*D*B7ZW^=V1>bx38tRXEqCE^gonRUw zqg@OhMKE=t=w=2FC78NSbR&b)2&OI*?PT!h8er-w(N+e3OfYqkXcL1E5S&ABC4=7v zT-ynlT@~7o58BZ>HCotm4pC{Lc1I=<1zoxw1D_V^)QFJ30MGPJcS5pC{>WX7mLgxI-^ogQ{w6?;b8+SQfEfipQ>6 zWW-BkjL58KAftcGmbt3(scn2ILq!2B(jwNkkZRM9X`z1yzJt(k3xNm?Bd+e>Uz=we z-_GoP^)8AEaTp?hM}(2WdzqNr6X4f&o-k{n!`e>$63w(%d*MVN8v?&41P&*GspPfJ zsz<$);3TbW*3mh*TSWQ{hnda?yZ$9AscWdhUMrc+MC!DXVxR1SNYsbOua4G&A`Uwj zR%oFw;3z#HZ0{-ybxk;3gm0$fAg)hrXcvd3LS(u-10Mq=kkBr#o$1ERMA$b}jrDDh)n1 zQ+RtzrWSf_ucbh-bv#HyBEG{*oma)|(snGfd8s=*+M$Ii?4c*!;TuMyg>M*nOp8=x zYi(~I({f)h?Q`co)3*N@(T+!2@VC(OZ96mPhb=Rw?<@;hE^a;)YcDN4EV>dJ$oAW0 z2|C~;Iuso3*p#-m!XEf%=t-w-Yw73{wV~3HC;Fac?c#(AOao`Qbo6m#9PfKnpM;ur zCi>Gh9X)jWoU38C3>4E}8=7m;B6G8ALsyK|woj_@t(X)DtnQwhy>xa#;oiC9R4p_& z69h$C_gp)T8hhuWlZCD*0zRjEZt#>6uzV^(m-u_mBVgm=Tb)wg31@4vwrLh&vdZnEen0Px71-%^a=k#v$Y*F**exj zPOYtR#C}Z3ZMkI*d*3NB`{{o^*5BV&WC_}}(7zCN^rs0v)*pDUxb*{5a1;2f+ZbOd z_=a`r;UxMyB|T|Sa74cr`eGvnSq|y5-fI|8+*m zBG$Ru4ldEcSHM44qBUl%FHx1UNWhVwU_K4zyNZNI3L{LDJ=^J(5H!+Vtjt3i>^@P~ zn6{;kNighq1d>t*WR^Pe=*~`ty&o$eGHia|Q2pAY!k%TJBW0nZ`VR>vdy@X+5bX;3 z^_38aLOPM?^N{}wEgW!UhG*Y98y|z%+~%Z*uS;GF&bo!`yfRBw3SQJAKg@)6 zweC_!{<*Bd%vz)*TMLzB>Sd6ug%>*V2_om6!CJN=dpjOIDc!~DN?&u0ZKP5gDtA!! zg~+yzEQX^%m=>-;^eVCMwWN_Vc3nU|S-2X7QsccqMvfG|j_E91s>F$b7uHhr?+`w0 zoeTt+E}$e_tZU(4r5#4L*71g|{S;Kc^@l}Dpv1PLr3BnoQ0e)fQN6l#U8MUdg&tb0 z>)1Lj2PeAE65f5B*El`9NSDXRBw3eDH1_XO@iet(Z`$Kk#^xcR=% z#FP2%n3-(83B(wRn{NcGi!k5gfm{|itglk93{@cLX)4(cc6%8pvRialteHOgl&VAJ zO!~@l?t}h)>-7^*jVt*mF-Ho$SVM@2@F!F(x&qQsA9R2HX66OG`af7PhxE%C%)&yq zKwSb97w6;RM#aTdleqIBuJ7T#eYy(;_x-lBwo}Fr7Bvdc$qpiL#inkhj%>t;eGrCb zdJBpEt548f!!tAl6C3ZYHgwmi)LoA_b6?@z^?nfX?rLWJiKw$gcg3CllURNinpe+; zGP1kc+TW!nLEIVPj)k#tX_o*@iN5 zcs~xGRQ^ke^8G@-vlWBT?Omls0mlg2?N6T7qlIs9WXEO&wvHoIskYrY1~=vn^~A^0 zX+EE>qTYyX)VF!OLvpoF zE?obCsZyyVlMlzJGu*80{BmOM-(6bAb9pFxva{u_z% z?-ufDNE)$of2MOtcS*#u!e!gq@0{KZ5C7VJ{q7-ZK?;TwE`pzZg+hf( z_;nf@oy$M=AtSjjPIAPN=+}G6L7>w(rpY0FJ%gEF4-=?1pqO7L&c74lGnP!p$eZF5 zyT72L8sc@kLq|SBb_dt`L#EQ6?XedyDN1Tc?HWT6Zx`?-gwuttxQ+NV}laQHP#pwyn839T}0r`=Qcy3y82R z(@Q>}5+8K50(M6hLF(=7-dOCzAl5?b1fEJ>=ja5zEW9jqh)}d1Fscx)$k)OxIr{#C zRK%l>jmURL7PBJg-dF@}9wQkX&x_d1Xf#Zn);TuOeY|?C%Hby%xn7AXXaaDCy4{gE zuvT}#s;?9otzdSy?Xj0lKLo6oVQ+wq+jax>K2Qq;s#pV+#;9fh`#)(2-Dg$gJ0bh=zp)XviJZ#+aG!ZFg)zc_v$KJ6G>}jN#*gBjFi(5DeiN zSkC;4N{ke~iw8)Uwk<$k=94}L;ltKhtaBGmql8WR9!%$xz7K5euftTWHx?6l+mmQ*TP|jyeIxK(Mn4;9wk{Lvh$#fKbws!VJs->L z$gIDjJ3IeMu{a+0^jlC3XxvB|hxTlzCw){*3!%~eaQ%t;3J9Ym%p|sii7jR@h3?g_ zNB_qfnoHqnLVZTe@<4*l&p`RPC_U4g|7?P{LOT!db9Fcn}q%6@sn(myjk_3B6NQMIRcahU?a! zq%_PUoMC}L8^iEikK&?Xauu5|I@=DJ*zBym8bKy{1}4DF9u&lym|8CAH0Cipa5b(X zZ0+Ur2r+bstt6r)^ej*C_3A~84~vE|Hw|E$gHqr{oNYP)`8>?lSZpWvZi;@y7w_%R z7|+Q#zMaLXXayd?@N!~!3NF#Rf#+k*I-TUxxcbzjuUgC$Gd&G!LE8k_3hS8U* zZD;&>FMIkEI^tZoh{YN4>?c2b2~Bg(#Ju)Qt6_e?ADLxRA#6&!mvwt09mm*9*Wyms z|1I+a$k$h+!ZM@;nkj&ekB8g7bGX0i6`)ELUslXC#FmReh?w;pV#|11G*OGw!!rH= z)z@$U}IqqyLS}hv7T)vb*gd z9@M;oqV?VH60%osK={V9S4@(6^-8oF!oE%a2{>p#utjZXJ`@d?bcg<~KMXve`Jscl zg=`)=)c2tNd)#rq*+?=Yh4bM7th_z?-6$Vn=RB4a?!N$IDV)CuVmODNbDR<9Xy6>5 z;RO{$JtR2NSrztx8MV;YGTjeFCqlVCJQ>@izrwWX)jvdjVJZD^a1|1;T_cD zB>uK4me2fc2nzjbe|rZ?e=UD|3WVRn-_C|o+~2(Ce?5PDfy`+1w_-4ozimKsr1H0Q z$V=^S-_3?=eV;W?lD{o{oBX9$KaOZNz~4>-$6)?;3Gl+-ZfE@DZx^GY+&p;cLm3KYT=Odw`^Xv!QX0G zey@HL(j15o09Ttx3Ncr^h(gy6loWHNA0&sa2{g~V6C^49 z=psYhx*3GzM`YOX$wA9OvykMc{QLK_S|enQ%TZxKge)y`qcLJ>A)0--Fz<9_>OUp3 zkpB<_bDO|K?(==>!nAT(G$2|nKvv9qwD2MrckfW z#$PxOjX*3wy$7>#hdCQDfP2FPB90V3Pc6y4L4`zk!|%pWQdo5!_lE6ca>R^#S=y^} z81e08icJ@?A`g{?-e#|<^k+DXo<#xhA;xn^PX`u`Sr$4F{T>uBj&CPx|IC5y-wS07 z?GL$M)&5j;iuv}6g!TvFH*EiZk!AK!`=6`AWM9?(C?KKz!Nl61I$?_TM^?)A$I3@P zlVrx*pDBd)7vVkL{xI8s_9tSrKee`Ke@LYEKZTOQs&hp9lgX+5S&H^&X{`NOk%so? zuxx)ui}nXLMf;y@ycvriFm}iQC&+md8Vwk4u)t7iOG7ll$>0QdUe`iVVgpK#dC7GY zCC)TVa2$O7)Iutz@)P6y=1LHX@#f5LFu!@^pK`qU=xmic%U8^AyeKGPyy*cWIZO`v zX{zyNEb?L=Ghlx69QM)ZQL;|*{N~*^2-&NzLxjfLS{oojEym=mYG2S>(JwCsA z3U@rhbdk(RVVL}hd)N+?4-cEml0pUbp%}6RVmQaGoMT3uV;$!h!#SRtz&XxkRgmM& zCZ@Y_eshFr)2nBZ;^T`A`zKC1pJx6xbb!BY`v>ZAGJm^+6G(r{LFr%VZ)OmEEq^m5L|$rty9V2U^wq3+lIAyo*U4Xc z^|2Ts2Kd`W;26x`JirTodzA6h{N_qjlzUG(;Ua}+kgsrmTR_{8B4b|7qNK1><=&&m zIL2{~r|mJ0v7F;R&T)<4*g_2)o8J`ivJLZ_H7vhZzZ+?iztQ`9%%@WfbE6UAMh_d{ zadTcndCcR&2y6Ux+?d!3Zj63zEdMU#>sz6abU0i4n+Svy$2Y%Q?+Z&e{3}CzU?}JO=q$LOwP2X?Pz|I^Bv6UjipRL0Kb@e-5A$+fX2_m?h zynpf~o;Tt(lzt_c@DhA@bW}fPLcA{P!NBYC@|nCYSo|i;Bopc~m&)ZmmCYo#f{8k+ z4GN2DB(HldhPq(gn^2c+*uAO01apFyS4aPhL;8Fu799^o^-plu_b;yQ`+rCIk;2T{j`)CHD zB9qKogjD)7?LU+6P{gh?dVCpnWrr^bJ*Gi(EfNfAp`S0oE$cy{NDXdFLmj0^LTp=D z*rj53S~=jouF&vM$4uOXT{)qSGTazCr)wYHnf(4`$Yg!<=}h>?mJTX}x@hngCV#E# z7JW^OCdg^1EJhO+G-16eMl*(JwsK8K&d=B*_}Y-`XZkEogpp-O1|wps5z+0E=yp9j zMsz=yL~66r)=Q%G`X?_jwIQh-M0z_+8xI*v*b5ogx_D1^hxYcJOY5hlAWR)E#)DDx zXFSK(zYAiD7p*t0!yAj=Q6{rtZ3iABv%NQuk@4GfQ(0tr#I_Zi_=2}aO4CiD#{$6f zje=Ulb(t zTf=_|usS_P9>?FpYGGC@%wLPbF8c)?WF-^!3|i*M`o4trGt_rD#IyST8ThYL-#1_& zE&Lc+Rj8$Rf)#as0y^DR8|r9AmfjFArrXv&4oqbcUuR#T>~H!!R^G9%wC_9dNM9Cu zPj~RLx=>ap)SxD8V@+#<0cwY_!fQk6yt${d4WqV>e#A`uA1}r#zQ@*nE_(&x`l-=V zyN&xt9sqf2e|;YninYoK{Z@& z#o1{3*yf`vkjn=i*G6}EF~*%aa@-k?KBb=rnHVm_xPwS*>$nYe(Z@qC3Xt6tAh)uf zXWPPqV5k?K%|c#Tm_@oU3xisi1;%pQUs=#A7h$LzPFSvQ{2b!2C3`LFi~2n;(5#Hz zM_)uxX6q&%-d}lM8e}wT1cPjg8Dv|sL2iK<7-Sn6Bxa9Ac&7<_e0XZy9&vMM$Q0(- zmSm1E(L{PSByv3##PnDPNzh|+OpndUdZckZHj^GZ5gTQLgql>Sv=oBGp0F;8 zu52%zYjctwLDHiW=I46seNNiL!u8k`(_>Sz9@kT&g%@pN4zf)uQi`%r`kQ0o1}O~{ zt3s1$aZNTQY0^iIkRH=yW=xaoAqp1hifPi7tjS?m51Mq5CMeqr2AWkoj*&;$Bzacx z5DiM)B3(&(RFfVzK_a)vqt8lprMOcxf#$=QQt)2$EY@yOn zxwMEQuE~ZZOD&ga@8sC9I&>!b|ua z6Fr88N0iWa3ag)90%p#!nsb~R=UB-(=pSam@wng^2@bZ|DoUdV=bgoQ4^Sm|X)`$Q zZkkp{3U3s=e~;-mjB{*@a}41eKjR$p1jlcv#$O-|M33MPFYWoKS>5QH5u&tb8Pk}> zoYy9Jm&HoEi*wNbFA0u2IR|^-3jZI)tx-s&MX0p3_+xl}SV8|PV3?w@9gRQ6>kmZ< zT&;yZ)*gTUXvI7C-ML%ULhooh4`6$9k9PDe+*z~`cInr@NE_g_+*h>vBgM0A&;mP^ zjr+%c_>|bEAoh=k3FiA0P*&_kbugVGCI0W^Y1GJ|pBA=`q>zX``xgAqL?_hE{;P&D zLcf`+PH#tPb3u>=0oqa!vc5$jqiuIK`_GTi;a%~Uf%N|@;klUx4E|rmde2BzVN>5w zh8F%2dM>sKvu!5|E1`F3^gOhwn7@Gjx>WQ%s2ch0G0wLm2Wl>j9soA30^f~}e_v_L z7VjeQ=Cm<0p#?Gvx=_qe6r*+EK~e^P=U*1VR&^TdKGlEnHx$%%%tlKdywh8GG0mrg z4eWm!*5cnJXp3?w+wKC3#7%rTtYVM7HstRmwa|M7FH%>Y!jy)*5^T$`;NLH3!!({t z9-!IB7Alai;cGMdHqyL_8sv_?H}$bp=g6#C@H)MmsQAm|&zLC=>CYxq9`>iThCB2s zt>?=k=Nz%If908&ZbuV1LtnbFCqDPzXyZ(5HZ$`05&b&1#jeez{tK4?+0+d1_A8>Hs#~T{dsP#61}tMDC$pnq9jUY-h-*p`tiwyV0A$C z2OAnxe`7#hf$t#H2>Q4bHR#8eRH~XAtLuFJ3sn@+&|oY@_4|Tqov-;~l~^kVWG}A| zsLmR16NC_%P-Cp zQ5#!YeEv(6xV}&jq_wayC-5#K_65G6v`!1YB%#9eE_@Tk8@T=wR^$2g*P@1v{y=jh zs@JUgnG!9l{p?F6Op5>!78I5?*RSw3yJBBjVeA9`w65Qfh>2PVqpm&0u z;SlthjK*NRUh1`8zhCHu50Q9bxaNS0L5E$NG2<{^6f5a6onfAF94TI_E5&=@?kIJC zcYl8q(!)sCBHf5?KpVk(kUoQvRY5DkSzyArO>IeP( z7L?n1xW9iPrI^=tB2~ZW?|&3&CDPZRPZQFENL!IA&|@>wu}BXiZKV|ByH502mgHl; zLDy)WD5mQ#S4^wyrZa|TWOkY|?1UeSU$Vsof`*d8=@rF+Jfc6mtG|CE%2KlIbF#88 zwGCUD*{WP}`i%3ZI3@tg_)C%2?d|V3Hpx`ruEK96@P9z6IJ4|+X>+qSs@G<1QfFsv zR$W=!kanp);L=KlX4y-!GM&RnpWE^K8u;>vZ(f%DnygIr{e=esw*IG|{)dxYc!Z>M z;r9mMq_g1#mGUxvR{@ucRMDv1s~`dY1CQUs_+5v*X-IiqJ2tG+)BHoT@_}(?!5Z11oSl_9cNnYhub{_a_^6i( z#5EJYt@tg2zn+gg%e7o~gk-NXmu9JJNOqfbURGt=o}o;pQ_6G>Q_8{Hh2NR*^I2fE ze3$dzM*O#uZV}7utekb=&tH@7%qnWjn48sUGC!L(G^@zTv;<8|OGtz+_#F*haxmF@ z9DZUsD}_w(3z_b$O7m5w6e3Ap4diXW1cbiLW;u@5hE)dWm?$rhN*>kuQPL0V{n2m& z%d1~0@6xQzY36L}pbB0}buPtkCUpB0PuHtR$9K3)(Z;S=8_(fwT$#3OU>n1FB&Qtw zWARpq$?5%ea>y?>Ku#&*&}ZZqZ*V!nFXqJjVlMpRu7Q3*{I5|x5Wg7zOW%y2>X8kW z-FW%W>hbiqs|U%c1nWV>PbR1P+sPpx+630o@AvmFL299o1;%{{?IZjg?Gy9!CUbr& zA1Z>pV-Vp${QeAUeCxtu~L)U_)=F|RuY71pymbwg4iQ?5p;E(T2jD+OD9TZj6(1yu zq@Br7Q!e=eOt)FAf67!2SRR7!J(q6%bEdK-!}?B!@|O&7zMf${k)ix21C`m7X?--4 zB%QaAKC|}+v-L5n@?#5#9=BM3VpaZOv2L|0Us|m9T9v!3U?9@Uk3qV}Y<RX(;@pSLPMw_3MbmB$3>(rF0z>rK`VMks63tPf-|rrE!G~3`7w6?CMgW{Z^U?% zss68JOl2~#PbaT(SDNX7$@;R{yd%wu`Sk>*c_SaE;*(6Y{v z${&YWH;y#74JXXw!>#v@G>1pf{mv2A2kqvcXVLxBS=KM?=DTck|B}txZ8zUz8)(5q5v)NR;~INb7B*%&(24%uh#JZy#m8Wfa|S9%cPG&tVOO;*{%G( zn*5%c{C=9Gliy8~Fno_)$>}FKE-Dhw# z8}sNE8x7edzauwRz;cc8*@^x}Lead3E_5??^@w#)x`4YxKHgxkYm^|Qc^q9d#?m#0 zC$Ybx8cN+YD#OXK@imbls-=kHl+y%fImQaQB)%9MH|Uaj%kPR~8o@4EKCM^jl5|+& zvHHQT427qR3@#Uj#1mBpOFglaWboU<@K}B@Sk{wE|L^^k-%C%HxL6pbR-`LLx<;hy zMfzKjZV~BTk-j3*_e6R`r0Jr8P8I37BAq7EIU-#w(pr(O5a}9`t{3TVMY=_#dqw(+ zNZ%9b5s{{!%4>S6NY54NG?C5`>0*)AigblY*NAkzNPjEREh613(pN;9Y}aoJ%kLY? z{x13PMbC@XoJCc5$Q4vC!e=-0Cr-X7$iRY|3X1abr{;3BWH?D`Mz5#mCCL|kLsNbq z-`Ie}n~8YrEW6Bz;rC|x@-!`clP)v9 zAgC=)LIN~n1tP!uY0NbvD$4kqh(A@y7UM`F{@3GawipAB;;aes3%n}s;^Wpt+z%#a8t^2?E(R?2 zYzVj~1YVA_$?}W6Dk$Re|AqU(vFiA7u2Sl+r=`YOwm!_Br;2^(4Pt&*TjBANog8 zddisWhnodH*>86-IRpLeb>Pt}23)kd91Kt6^eEV8^K{Na&m-ufgDeQ&B_=3dj#j1v zKY{2ko?34P@F$+__V#=s9| zhpQMqOKIh=RTO$YMAus2sb2DXyRu&YlS0lDDe$kRz|%vS!Sq>-z&A=6IF3w6K~L`| z$j+*07xw%K`j@4kuTO!$LC8t&7oimNcL7iRMXoylvJ2017`{^IgXUw`-&4qG2Ekd% zsj+p943~#e(3?{9yD=&7v(a#5AGuJtK0c!9U}u*PH{`d;ajcce7et1HzOGL4liTI)6!edzz`vFPU%>nU`pgshiL#x* zlb&*&pDXZJGJ1o8;&w#}{2eLq4+F0b6r((yg8rQp_={M)LVOkre0ncMSDD0%d9MiD z%2fhiJcZLq|6DEc=W;x~>!B;e@ciER_xHdLW}jUt=-&n&v+aS`u)*zM1D^U(rI;8> zf4&fSidS;}oFgR8P9f(iAtzrKkbrf>KpbSj%azT!4c)midD?YGYNwWSr5_=vgI> z4*3@6Y`Ac+$U;x~oceMcw}LZ8DvCViI2y*Y!i)1KS^}PccbRK>#ca>@d2F{vQ*&ce z-V~fblc+I{A(@Jgf6ghweujY8kMl{C>gGU8AXp2fmH1&ep1^WCWX11m!TAp^gI)B3ev7>DgNIjl8mpkXXJgx<$bXJcChogC1nm}r$mn)vq?=Nu9cb6cK3?E~r z6FCeBcG^$O442KBQvowBbj~hwL2CSXp5kJ5P6t1F0}>Js6A`&M#e)v%kVY&h^x`;> z#$`Tduw|LI%2(iGr=Bnamx$A22J8VT&3EAl8efe!;EkViGC=+}KXfMPteAxQ^HzHuosSt5M_B8}`h(`xFM)d#!{KH=2-kS(ri(xF@lLgGg^B~=;K zWM@kyQh(ip)r^fWh?21&PUomCtQg=^#PXG=ktJwGCpcmBM5O1ZL&XbC8aVR#z%igm zI6VbLI=?E(5}qoY8OMhkQ+bxY@iiHKbYR^ z!<38$Q#O*a)56F!G&_pBL~>_g(*z-5D$Qru*n?J0JfSY3)WHqSW+KUllnK7rj3)8y zydjb+*YH}3d5D-^iSWUs4{&SpqeOL; zyq49=1Kuj6fo7i8$vf>D<0%f4V>#H=OFM%T01xt-5zmQ1+%+`>lssxXB@efG%NlWm)9Ub-wS8W5Bbx^1 z`Rc@6xUL35Bn0U=F^`{Ti0M5YOUZ=snJ$+h?@11o4v|b#@ACR;+|VR551~TAqG0)Q z%)t|uHQyGXg1`WmgQQ$BB3}5#wJd1j$s5QSuwHtc_s{aA)KX z2!5G5Vw8jPmjaC~Ta8kG`5s)Ra$PB(tBK`sOzHyMVW}9?ze@;`sa-JQF%h$qw8xX9MV>vsUC{<50#J%>y?Wrko%F8_~7{IU0_ z;=R;y!6%dC^8cF5UoI#`s>y~GXlXYo?{7)`^1ZA~e??AfxRT3%19{}Kl1#n_ljpum zKb0b6`7(VU88!pIe7|PDigQT1RQ&Y*hU_oPm(R1Z1%I(*6lt8hGhe@<}v({G4#I{_^>* zTFEJLlFC;(I`)^puT4Bdk}@U#`7ugrD)pCsLH$eW i&N=wsY(G!w6j9?P%au5K7CIPz_i9dYW)edZsQiCZ;BI69 literal 37608 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 I5R+B@AAl-)-v9sr diff --git a/main.cpp b/main.cpp index 7be05dc..f14fd10 100644 --- a/main.cpp +++ b/main.cpp @@ -19,7 +19,9 @@ int main() uint16_t ba[1024]; uint16_t bb[1024]; - drv.analogEingabeSequenz(1, &ba[0], 0, 0, &bb[0], 0, 1000, -10, 101); + drv.analogEingabeSequenz(1, &ba[0], 0, 0, &bb[0], 0, 1023, -1, 1023); + + system("./plotty --in graph"); std::cout << "Schluss." << std::endl; } diff --git a/main.o b/main.o index a000f65d1deb8a8898c4d5ddd5c3863ec554425f..b3c3644afaa7b7924dad06d4fbb52326dcc5adf8 100644 GIT binary patch delta 788 zcmbOrF+*~KhRF;L1~_m4vm6)%82B0V^b2zGOG+vgbagZH6w-?l3o;mjlQVKki;MLp z`WSI${AXrh$oil0e`1TGj4eo`NAnSd7hp!ODTD$GPuyzB%rDO{@k5W!T9B|KpFlH{ zJKq9@Y`zr=PJ9~_T={kY=>rO>Krtp~E zNaDgs;*paT*~A%>CI_;K*Jnc2fUM<3Qd58=E{Y^x1r-O`C59y42o(pJgRH&{Dh^UF z4#Y6Gt%QgR0fUl(K>|r)^W=?e;+}gT(qLIhB-z7IaV;P%g(Q9oDh{$<8cF;j$TZDc zP+5>&GDxyeVFqBhGq3^ihRK2K`ivVkH?ps1WR#t3$Z5`*09A8uav_js08#}6GbV53 zG-q^}{F2k2@x)|JE_+6g$(daCOvQ|o4>F2PKES2HSTXq}Q24=QO>TS92OtZ8UoVL*`NRb delta 691 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 y=6JRa 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 literal 0 HcmV?d00001 From 0f71e121fa8c553fc7b3e37cdd1a9b3e6f8a5930 Mon Sep 17 00:00:00 2001 From: Tristan Krause Date: Wed, 27 Mar 2019 15:48:24 +0100 Subject: [PATCH 11/32] boardinfo --- Makefile | 2 +- drv/b15f.cpp | 36 +++++++++++++++++++ drv/b15f.h | 2 ++ drv/b15f.o | Bin 42288 -> 50896 bytes drv/plottyfile.cpp | 84 +++++++++++++++++++++++++++++++++++++++++++++ drv/plottyfile.h | 35 +++++++++++++++++++ drv/plottyfile.o | Bin 0 -> 9552 bytes gnuplotscript.gp | 21 +++--------- main | Bin 33448 -> 48296 bytes main.cpp | 6 +++- main.o | Bin 3224 -> 5472 bytes test_plot | Bin 0 -> 8440 bytes 12 files changed, 168 insertions(+), 18 deletions(-) create mode 100644 drv/plottyfile.cpp create mode 100644 drv/plottyfile.h create mode 100644 drv/plottyfile.o create mode 100644 test_plot diff --git a/Makefile b/Makefile index d84f459..d0bc5e0 100644 --- a/Makefile +++ b/Makefile @@ -10,7 +10,7 @@ COMPILER_PATH = g++ OUTPUT = main CFLAGS = -std=c++14 -O3 LDFLAGS = -OBJECTS = main.o drv/b15f.o +OBJECTS = main.o drv/b15f.o drv/plottyfile.o COMPILE = $(COMPILER_PATH) $(CFLAGS) diff --git a/drv/b15f.cpp b/drv/b15f.cpp index 46a0fa0..71bfcbf 100644 --- a/drv/b15f.cpp +++ b/drv/b15f.cpp @@ -50,6 +50,10 @@ void B15F::init() if(tries == 0) 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; } @@ -115,6 +119,38 @@ bool B15F::testIntConv() } +std::vector B15F::getBoardInfo(void) +{ + try + { + std::vector info; + + writeByte(RQ_INFO); + uint8_t n = readByte(); + while(n--) + { + uint8_t len = readByte(); + std::string str; + + while(len--) + str += static_cast(readByte()); + + info.push_back(str); + } + + uint8_t aw = readByte(); + + if(aw != MSG_OK) + throw DriverException("Board Info fehlerhalft"); + + return info; + } + catch(DriverException& de) + { + reconnect(); + return getBoardInfo(); + } +} bool B15F::digitaleAusgabe0(uint8_t port) { diff --git a/drv/b15f.h b/drv/b15f.h index 65d0c53..1d9d3ad 100644 --- a/drv/b15f.h +++ b/drv/b15f.h @@ -8,6 +8,7 @@ #include #include #include +#include #include #include @@ -25,6 +26,7 @@ public: void discard(void); bool testConnection(void); bool testIntConv(void); + std::vector getBoardInfo(void); // Board Befehle bool digitaleAusgabe0(uint8_t); diff --git a/drv/b15f.o b/drv/b15f.o index fe7f7ddbeabb4c6da201458377c78fb4994eb6bb..2af31635a23a29701735af90df4d7af0c8c94163 100644 GIT binary patch literal 50896 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 diff --git a/drv/plottyfile.cpp b/drv/plottyfile.cpp new file mode 100644 index 0000000..380e8cc --- /dev/null +++ b/drv/plottyfile.cpp @@ -0,0 +1,84 @@ +#include "plottyfile.h" + +void PlottyFile::prepStr(std::string& str, uint8_t len) +{ + if(str.length() > len) + throw std::runtime_error("Zu grosser String."); + + if(str.length() != len) + str += '\n'; + + while(str.length() < len) + str += '\0'; +} + +void PlottyFile::writeToFile(std::string filename) +{ + + command = 0x1D; + title = "HTWK-HWLab"; + filetype = "MD"; + version = 1; + subversion = 0; + function_type = 'C'; + quadrant = 1; + ref_x = 5000; + ref_y = 50; + para_first = 1; + para_stepwidth = 1; + unit_x = "Unit X"; + desc_x = "Desc X"; + unit_y = "Unit Y"; + desc_y = "Desc Y"; + unit_para = "Unit P"; + desc_para = "Desc P"; + + prepStr(title, 10); + prepStr(unit_x, 10); + prepStr(desc_x, 20); + prepStr(unit_y, 10); + prepStr(desc_y, 20); + prepStr(unit_para, 10); + prepStr(desc_para, 20); + + std::ofstream file(filename); + file.write(reinterpret_cast(&command), 1); + file.write(title.c_str(), title.length()); + file.write(filetype.c_str(), 2); + file.write(reinterpret_cast(&version), 2); + file.write(reinterpret_cast(&subversion), 2); + file.write(reinterpret_cast(&function_type), 1); + file.write(reinterpret_cast(&quadrant), 1); + file.write(reinterpret_cast(&ref_x), 2); + file.write(reinterpret_cast(&ref_y), 2); + file.write(reinterpret_cast(¶_first), 2); + file.write(reinterpret_cast(¶_stepwidth), 2); + file.write(unit_x.c_str(), unit_x.length()); + file.write(desc_x.c_str(), desc_x.length()); + file.write(unit_y.c_str(), unit_y.length()); + file.write(desc_y.c_str(), desc_y.length()); + file.write(unit_para.c_str(), unit_para.length()); + file.write(desc_para.c_str(), desc_para.length()); + file.write(reinterpret_cast(&eof), 1); + + while(file.tellp() < 256) + file.put(0); + + for(uint16_t i = 0; i < 1023; i++) + { + file.put(i >> 8); + file.put(i & 0xFF); + file.put(1); + file.put(0); + } + + for(uint16_t i = 0; i < 1023; i++) + { + file.put((i >> 8) | 128); + file.put(i & 0xFF); + file.put(2); + file.put(0); + } + + file.close(); +} diff --git a/drv/plottyfile.h b/drv/plottyfile.h new file mode 100644 index 0000000..bae5ed6 --- /dev/null +++ b/drv/plottyfile.h @@ -0,0 +1,35 @@ +#ifndef PLOTTYFILE_H +#define PLOTTYFILE_H + +#include +#include +#include + +class PlottyFile +{ +public: + void writeToFile(std::string filename); +private: + void prepStr(std::string& str, uint8_t len); + + int8_t command; + std::string title; + std::string filetype; + int16_t version; + int16_t subversion; + uint8_t function_type; + uint8_t quadrant; + uint16_t ref_x; + uint16_t ref_y; + uint16_t para_first; + uint16_t para_stepwidth; + std::string unit_x; + std::string desc_x; + std::string unit_y; + std::string desc_y; + std::string unit_para; + std::string desc_para; + const uint8_t eof = 0xD; +}; + +#endif // PLOTTYFILE_H diff --git a/drv/plottyfile.o b/drv/plottyfile.o new file mode 100644 index 0000000000000000000000000000000000000000..caa1ba716ac2ab3c7612e6a1654e9d45ed29b05d GIT binary patch literal 9552 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 MgvM|0zkRI#4=UH|uK)l5 literal 0 HcmV?d00001 diff --git a/gnuplotscript.gp b/gnuplotscript.gp index 8f3b0d1..5fccc88 100644 --- a/gnuplotscript.gp +++ b/gnuplotscript.gp @@ -2,24 +2,13 @@ set margin 10,10 unset key set grid set title '' -set xlabel 'UDrain [mV]' -set ylabel 'IDrain [mA]' +set xlabel 'Desc X [Unit X]' +set ylabel 'Desc Y [Unit Y]' set xrange [0:5000] set yrange [0:50] -set label at 2785,31 'UGS [Digit ] = 125' left -set label at 2663,28 'UGS [Digit ] = 150' left -set label at 2614,25 'UGS [Digit ] = 175' left -set label at 2541,18 'UGS [Digit ] = 200' left -set label at 2565,21 'UGS [Digit ] = 225' left -set label at 2468,13 'UGS [Digit ] = 250' left -set label at 2492,15 'UGS [Digit ] = 275' left -set label at 2443,11 'UGS [Digit ] = 300' left -set label at 2443,11 'UGS [Digit ] = 325' left -set label at 2394,8 'UGS [Digit ] = 350' left -set label at 2297,4 'UGS [Digit ] = 375' left -set label at 2297,4 'UGS [Digit ] = 400' left -set label at 2297,4 'UGS [Digit ] = 400' left +set label at 4995,12 'Desc P [Unit P] = 1' left +set label at 4995,25 'Desc P [Unit P] = 2' left unset output set terminal qt unset output -plot "/tmp/tempfile0" using ($1*4.887586):($2*0.048876) binary format="%int16%int16" endian=big title 'UGS [Digit ] = 100' w l,"/tmp/tempfile1" using ($1*4.887586):($2*0.048876) binary format="%int16%int16" endian=big title 'UGS [Digit ] = 125' w l,"/tmp/tempfile2" using ($1*4.887586):($2*0.048876) binary format="%int16%int16" endian=big title 'UGS [Digit ] = 150' w l,"/tmp/tempfile3" using ($1*4.887586):($2*0.048876) binary format="%int16%int16" endian=big title 'UGS [Digit ] = 175' w l,"/tmp/tempfile4" using ($1*4.887586):($2*0.048876) binary format="%int16%int16" endian=big title 'UGS [Digit ] = 200' w l,"/tmp/tempfile5" using ($1*4.887586):($2*0.048876) binary format="%int16%int16" endian=big title 'UGS [Digit ] = 225' w l,"/tmp/tempfile6" using ($1*4.887586):($2*0.048876) binary format="%int16%int16" endian=big title 'UGS [Digit ] = 250' w l,"/tmp/tempfile7" using ($1*4.887586):($2*0.048876) binary format="%int16%int16" endian=big title 'UGS [Digit ] = 275' w l,"/tmp/tempfile8" using ($1*4.887586):($2*0.048876) binary format="%int16%int16" endian=big title 'UGS [Digit ] = 300' w l,"/tmp/tempfile9" using ($1*4.887586):($2*0.048876) binary format="%int16%int16" endian=big title 'UGS [Digit ] = 325' w l,"/tmp/tempfile10" using ($1*4.887586):($2*0.048876) binary format="%int16%int16" endian=big title 'UGS [Digit ] = 350' w l,"/tmp/tempfile11" using ($1*4.887586):($2*0.048876) binary format="%int16%int16" endian=big title 'UGS [Digit ] = 375' w l,"/tmp/tempfile12" using ($1*4.887586):($2*0.048876) binary format="%int16%int16" endian=big title 'UGS [Digit ] = 400' w l,"/tmp/tempfile13" using ($1*4.887586):($2*0.048876) binary format="%int16%int16" endian=big title 'UGS [Digit ] = 425' w l +plot "/tmp/tempfile0" using ($1*4.887586):($2*0.048876) binary format="%int16%int16" endian=big title 'Desc P [Unit P] = 1' w l,"/tmp/tempfile32" using ($1*4.887586):($2*0.048876) binary format="%int16%int16" endian=big title 'Desc P [Unit P] = 2' w l diff --git a/main b/main index 1b8f4ad55ffc4c0b2779b307588184e495605b77..38a175e559ac42212d17e01b286b1551372ebdf4 100755 GIT binary patch literal 48296 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 diff --git a/main.cpp b/main.cpp index f14fd10..b1a36b2 100644 --- a/main.cpp +++ b/main.cpp @@ -1,5 +1,6 @@ #include #include "drv/b15f.h" +#include "drv/plottyfile.h" int main() { @@ -21,7 +22,10 @@ int main() uint16_t bb[1024]; drv.analogEingabeSequenz(1, &ba[0], 0, 0, &bb[0], 0, 1023, -1, 1023); - system("./plotty --in graph"); + PlottyFile pf; + pf.writeToFile("test_plot"); + + system("./plotty --in test_plot"); std::cout << "Schluss." << std::endl; } diff --git a/main.o b/main.o index b3c3644afaa7b7924dad06d4fbb52326dcc5adf8..c773a0e192c9a61c1cc7c8d3495a535ec2745238 100644 GIT binary patch literal 5472 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 Ieg_WtFLx9p7XSbN literal 0 HcmV?d00001 From 71b156aa6fc36718aca6a2409dfca3fc16acce0c Mon Sep 17 00:00:00 2001 From: Tristan Krause Date: Wed, 27 Mar 2019 16:08:28 +0100 Subject: [PATCH 12/32] fortschritt plottyfile --- Makefile | 2 +- drv/dot.cpp | 20 ++++++++++++++++++++ drv/dot.h | 26 ++++++++++++++++++++++++++ drv/dot.h.gch | Bin 0 -> 2011568 bytes drv/dot.o | Bin 0 -> 1576 bytes drv/plottyfile.cpp | 23 ++++++++++------------- drv/plottyfile.h | 5 +++++ drv/plottyfile.o | Bin 9552 -> 10456 bytes gnuplotscript.gp | 5 ++--- main | Bin 48296 -> 48600 bytes main.cpp | 7 +++++++ main.o | Bin 5472 -> 5752 bytes test_plot | Bin 8440 -> 4348 bytes 13 files changed, 71 insertions(+), 17 deletions(-) create mode 100644 drv/dot.cpp create mode 100644 drv/dot.h create mode 100644 drv/dot.h.gch create mode 100644 drv/dot.o diff --git a/Makefile b/Makefile index d0bc5e0..bf36ff9 100644 --- a/Makefile +++ b/Makefile @@ -10,7 +10,7 @@ COMPILER_PATH = g++ OUTPUT = main CFLAGS = -std=c++14 -O3 LDFLAGS = -OBJECTS = main.o drv/b15f.o drv/plottyfile.o +OBJECTS = main.o drv/b15f.o drv/plottyfile.o drv/dot.o COMPILE = $(COMPILER_PATH) $(CFLAGS) diff --git a/drv/dot.cpp b/drv/dot.cpp new file mode 100644 index 0000000..cdd3eda --- /dev/null +++ b/drv/dot.cpp @@ -0,0 +1,20 @@ +#include "dot.h" + +Dot::Dot(uint16_t x, uint16_t y, DotColor color) : x(x), y(y), color(color) +{ +} + +uint16_t Dot::getX() const +{ + return x; +} + +uint16_t Dot::getY() const +{ + return y; +} + +DotColor Dot::getColor(void) const +{ + return color; +} diff --git a/drv/dot.h b/drv/dot.h new file mode 100644 index 0000000..17f782c --- /dev/null +++ b/drv/dot.h @@ -0,0 +1,26 @@ +#ifndef DOT_H +#define DOT_H + +#include + +enum DotColor +{ + PURPLE = 0, + GREEN = 32, +}; + +class Dot +{ +public: + Dot(uint16_t x, uint16_t y, DotColor color); + uint16_t getX(void) const; + uint16_t getY(void) const; + DotColor getColor(void) const; + +private: + uint16_t x, y; + DotColor color; +}; + + +#endif // DOT_H diff --git a/drv/dot.h.gch b/drv/dot.h.gch new file mode 100644 index 0000000000000000000000000000000000000000..2f362f878d7b67b9ce8ebc4a69ba7933aebb39d3 GIT binary patch literal 2011568 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%0AM==Y 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%0Due*7@ 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⁢^*NP`p=jc;j!% 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 literal 0 HcmV?d00001 diff --git a/drv/plottyfile.cpp b/drv/plottyfile.cpp index 380e8cc..6137e7b 100644 --- a/drv/plottyfile.cpp +++ b/drv/plottyfile.cpp @@ -1,5 +1,10 @@ #include "plottyfile.h" +void PlottyFile::addDot(Dot& dot) +{ + dots.push_back(dot); +} + void PlottyFile::prepStr(std::string& str, uint8_t len) { if(str.length() > len) @@ -64,20 +69,12 @@ void PlottyFile::writeToFile(std::string filename) while(file.tellp() < 256) file.put(0); - for(uint16_t i = 0; i < 1023; i++) + for(Dot& dot : dots) { - file.put(i >> 8); - file.put(i & 0xFF); - file.put(1); - file.put(0); - } - - for(uint16_t i = 0; i < 1023; i++) - { - file.put((i >> 8) | 128); - file.put(i & 0xFF); - file.put(2); - file.put(0); + file.put((dot.getX() >> 8) | (static_cast(dot.getColor()) << 2)); + file.put(dot.getX() & 0xFF); + file.put(dot.getY() >> 8); + file.put(dot.getY() & 0xFF); } file.close(); diff --git a/drv/plottyfile.h b/drv/plottyfile.h index bae5ed6..a4fc9e9 100644 --- a/drv/plottyfile.h +++ b/drv/plottyfile.h @@ -4,14 +4,19 @@ #include #include #include +#include +#include "dot.h" class PlottyFile { public: + void addDot(Dot& dot); void writeToFile(std::string filename); private: void prepStr(std::string& str, uint8_t len); + std::vector dots; + int8_t command; std::string title; std::string filetype; diff --git a/drv/plottyfile.o b/drv/plottyfile.o index caa1ba716ac2ab3c7612e6a1654e9d45ed29b05d..2ba7902e590719dccfe6eebf9fcb333215355ff1 100644 GIT binary patch literal 10456 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 AjQ{`u literal 9552 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 MgvM|0zkRI#4=UH|uK)l5 diff --git a/gnuplotscript.gp b/gnuplotscript.gp index 5fccc88..78ca98e 100644 --- a/gnuplotscript.gp +++ b/gnuplotscript.gp @@ -6,9 +6,8 @@ set xlabel 'Desc X [Unit X]' set ylabel 'Desc Y [Unit Y]' set xrange [0:5000] set yrange [0:50] -set label at 4995,12 'Desc P [Unit P] = 1' left -set label at 4995,25 'Desc P [Unit P] = 2' left +set label at 4995,49 'Desc P [Unit P] = 1' left unset output set terminal qt unset output -plot "/tmp/tempfile0" using ($1*4.887586):($2*0.048876) binary format="%int16%int16" endian=big title 'Desc P [Unit P] = 1' w l,"/tmp/tempfile32" using ($1*4.887586):($2*0.048876) binary format="%int16%int16" endian=big title 'Desc P [Unit P] = 2' w l +plot "/tmp/tempfile32" using ($1*4.887586):($2*0.048876) binary format="%int16%int16" endian=big title 'Desc P [Unit P] = 1' w l diff --git a/main b/main index 38a175e559ac42212d17e01b286b1551372ebdf4..e2befaa26ffa87dfbf16e8f15af2daac2461115d 100755 GIT binary patch delta 15113 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 delta 14094 zcmZ`=30zdw_kZsJIs!5v!hj(RGAfEFAOpCNfS_-5R8mxOMRRF0u^`tR{Gt7v#wqJ+ zS(eMM<;TC(#7xN$b0J#{+te0OOM8ThX_~F`|DJo_3~2q{=fk`2p8cGA?z#8fHyr<6 zsrpq}8`UW^LE=}AXe4dNLO*!f^;&3%Vc z-rINav8Tp{uCuK^YnkjeawtpfY#LF~O)%|pn)!o4bfs-NyzVCW zDINa)P4I>U_C)8tav|H-*%Vz-BBWfpi71Et)Y+s|%&!iNNDguohDp*a)#cwk5!9-4 zr9}lGwN85|nY#6=bHCOp1CQ=?mK?Ztr^io{?)HcV1dXYOYsuq+)H>BY#gb!pud$SL zAo_bPW^DuPRNX_P)ZJyXA1Iq%dhdL-KHpMEcBxLgCFM}Q!%~dLi>foSOAYYiXYS!(}aKH%k!V0Fa- z%7MvKbEoXrMiQ&@AaOL1Rn8V|(Vqb6HrSj8gc+YftlfFG`AcJ5jx?vQF>WOkb2DCs zR<-iHK|4jFT-mqJL*E^7H*c(KIQD>{X(j~BS*yAo*-kIRHo?$KFbot7_jno7bcXCn zUiu0_|LeV6L7<=??4?&Yed-09^XN3yc}A`L{!(F)-5n4(g3Rp5Y}91`(HlZM5t|_6 zXJZ^i+ns#^o$;zW;3x?ma9wqtEsIuN0r#_45)uthb8Xfq*w+bWWx&1c&xG#1$wjHW zpIVuH>>fOgCyrpa-UYN;G8AYklpG33oyY8!B!`|BeE0{{V@&;jqe#7@XBJNv4nO}Z zhwtKnt>hWU;hzim1_7_4hQs%8_|iq*%;&)W3Sco!8%{PrTQ5L~e764@we?_GrpmDgqCs?`9`G0yLpqe_yom)#QD96raJHd+$MDzp5{LsjQV%Du_d zzwRkJms4>;F0TS#KosZ82Vc-y?f0K=pzkCE5CfTzdQIENx+PjVJV@Hz)`bOZOrj}% z(;XO32!H(-jL70^K#4?ul&FyCFR_0o_8W3&u356X%Pc8viXv(gD&k;baa#`-Al}Y{ zHR%+0XT8>)OKPElm#iTwiRSF~!-bD2&4Jq2S9DYD&TDq(FIo_pPL`4>v443ysUB@O zEP$jEG}?!3Y%hy^jV`IcC1N?XR{re`ojJlVCO#FeBByUNtweS%a{=iHCfuVs$j z@oCS3O?4GnQdH+q1C7B(?)tc>n%VbBQhknj;q3co8N;MG&O!^J*A%dQ)4F8VSrHhw zHEf0mcRWdPTffaCX!ZlMQKewGr2R_TTmdryKz*1zna`7*MZ1P@mza{ApbWpndM3w)^}Ga4d}7pLG&I9yHX%7l z`T8e5ikp*-p(nvZqnK~pxy;g0+stZ{6WEI6SmsGKve%OhEVA#w;CovrLgdhy$*eB5 zTX-#5fg!_05<~V}E_=Lhq_RGjtw`tp*kdk_thxqLt(bNSf|~4Cum)(f%Tzq4p)NtVOHk zeI8GygI)osxuLnK{aO?U3?OUhV+lD9B%=5e8g0r2_Flh!@=|uWUqaZ#3lLa&T`{hD zpMsdx!g{16DM2kfi1Sm7p&_uYO%Oj}kESHB+friLCn-j@JjKAyrQ`*#J5Od&5Cd=L zK|Dvsv<>3HTX_)Qy%j->?>cjmh~E7m6RsP45|*>QsR@H70n;XUA2vgt+xp`mU+|*) z@!*{SpO8=`Nd9jS>zWpA=|Kh{P)7)g%5;wW6vgTt9rPKSlr}ad0Kb*4)$AGqI@??=${dE2MB2Cb_bkbv-jnbm`- zcK={=7FnWd%6icRqSdVGVBummlDivT`+)$2=z^?g(B32;k>bK zn24&3NKl*v$E|{6NGr!0kPZe*gkYJYvpmQnb`adKS1T6Eo04H&vxZ^UGC00bo7T)4 z(({#KjlGl>8j_JX}uBJ!`$eb;%$L;N|G28i&h!nyXlRB3$B+d;B*GIKfGmg+97oP^ zj!)?2zzN$9YBAs#1eO;C%e5lG(vDm29RQ8koGonz;1Goxj$C9zGIK&NoJEf(b0#J8 z5%ySSH|3Qd5cgZyk<4IuJNr5_HFz6QVMe$EdW>aJSqWB|giz>JX8~pO?r|dWC%8i` zs&o9`68cCcE6s{Cx_LC})yf~`^4VGo+msdM7zUUKVuG&(Uj7~$+}0~t_jP}Bu&BV@ z!##O~x{0P`l?vGR~vvg&B`zHlgf>;#3Uq{gl z%{WR5+Ro6`V?<=C`b)6)pDW+9ENn>ETQ1^IK)anAc+*VW!A=a0akK~OpC;ZI!1amu z^C|8wCf)}yOiZJ-1an*8Nbv>oBora7=JLk6YqSXD`v{fbm?k);w{pA+Qkr;H!Sb-q z@+6P0cj7G)%G*r52^`<3EoX0J7buGw*~5e4!X`G}5Z|oRZ0Dc^CHyoGa2J?;Lx96U zEduNu$xGl28lJWRjv6HboQ2K6{|ay);Qn_BTpo|WH*xE43Vi-aif5xX7!@Yh_%@Zm zNkf7hPl5KIMxqgLeI!uSs33g*@VQnldRkY=YKntw?FycnPYMlhe+7wd>#p7`WT@$uMpX<{ z3p^M2RRaHTZ8N?`VjU}e)$Q?uoEmX zznjwS1heNS$bYiZe2aXXt;cFzeH_%hDisRtXEfcxU*K{i?H%@?f{dO!fW>guVaNZFTYIoA?SQ79{+J?h71(I8%>}(#uVF@| z=mZ-$Y)JHXP_4felF(p3B81Qn*%QMCM$`cdp?i!w3m%)}Ty;N1ZW%j0%&bg4&isa3 zm7?Qp;P5Q@NA|$*zREktxW#*i8|7N|$?%Nex4)pFJA~v(&SPP!IW~wKb&cO*a}G1) z`m*P&SORylF>0i8tS6hR#zsGNjE}m$Nkp8Ds~&@Gw8E-W75NzZQ;oL0^to4lOs*LT zSiZ~VUT#SJRIM-A)eX+tob7DxVMx_s2JN>mx$0fi@oD~ouR7M3*mPTj@_rBYpe;6H zH3-GH$NI#tWB+H1PrqM?*hV61y{SJ6BJgHzb520cmzt4B;dy4h^ToW#>B0W8#TH3E zkxzc+wKzD3TU_O{xaww$e?;^UtSTO?U0!_$#0t5dm5zv1c6Mj0N5n=v2ufjcuuuNK z*gGTQV@rgLI+6j?q7f#VuLB?iMzgi!IxBskrJ8?}Wy0 zk3xgndJz%eo1;ToQUpnl*wL9Q2@p!O2nc9?qgCKl@HNecAewT=;W|w@iHII)Ufuk# z=6DO5go>p?#WSd|x{AYGcEnhr;`t%m53L$f1cyy6QaHgRV4+`e`TZMPWeDRnkSk|<%yu(Q&@&(6wo#REeXw>3KL7&`kVx|qEK0k&+ zwT{Ahu=oH_-cGGNV4l2R`w-ICwx0gspk~HUv!t%7EAzjy9|yNM;oYlBn9ldJk)!9x z-?8nZr-e;9f(Y;ht2qFu>;@J;CQ%7*U?ayQDUl6q(U<`}Ux8x1Tpcp5Y=^RDch9m| zn|p~De$55Ez1JmHQD|ZX_39|eN zJ93*zUdYbfmZXgQm{+oXV~xt_k6F&x`{YgRjj^MZAs;i(*l5M_A?q^E614mS??m~T z*~TSwY4`{ZU}aME*|s`M%(ki+_VBn^WkU>mXBagE_SLwaaf5XJ z9R6bMD^i_fc*>k*=AuZYT@1@AikJ7ZNkwL*+Xrk}QB=(J_eJJkLTae4WtK#ogKFV8 z7S=|8$hH+FIGi8yX-J_e(fUAZ(-NdAHZy#A{6f2n<9`tNV8WOCQu#F!?zX-jrRU`V z?e`$ECt@XUtY2hMYW<*{MKFY0OTi)B`Y9cQ?k;0v$Hylg2A+abEKUt@4CJ@!c8l?|y)FHznH!#11+u7O1Y)d?t}`u%#Z>RZ#Fn9w6J zQdgSQM(KOtyGiNWZ1jY9^))!IEh2Ym0Y`@~;An;HzK{(A=bC(hSQf|w5x^Vk1gi+d z9QO8vEZNO2O)#YgkTkb7k_Yc#4XQ3xAMGNE!sY~rzJ=PpL+H4yKO$N1WnpzB8#J*? zcx|L4<3W~NJWYO=Z7Gg&e1DLH z?Xj!{i4C89?EJIO5e{8uDYaD|0O$vNHF!q{6}EmHssgBBmB+YhUOSlSTAEm^bl@NJ zj6mT0*;()O)4szqmH&|lL#_0lOvN8xtqwt-Z0wc4(y|Rt+NJ}XY0xpdQM0#YOm5o88S}x_{{TyxoTOwNV8xRM zn@4tniSF#vm|Ef_d@jYu70|%vn)NW-F}ass<(Q7#M_|->9OO5uuEIpsRch8=6|{ebffniFrCom` ztqR&4twPX_AX>SV_AXBAr@C@9)%B|1C00EpHt?1@VRZOD_Vtt=Q5(sJ0nO#-RM!+3 zuxr&uf&6G>oYg03otbOd<)Fr`F_7Xdt#(tW__9mIF+eiS)4*v=P z=k81vHF-6RA%Ae{fAdl0Lt*$35f?caoMPsGTI&_6a-nm30M)brWk?GqbKTjOLoiNT zI2lA9)Vh;a*!eLBwP{`phW@g2VBg}wr%g@!S2qpV!)DK1BY#+ZdFD~sbYeGZ)`0KIzgJyTp+e8J{p_n*;}qjNtl#W7`63%L zd*;+ZAf$Qq+1nn^s8!d>dZ7erU+zLoj}pe6{fq$ybq9c^R@WM88?^#zF^deUD@z@; z%o1AGplt2r%k_0JW;hotQhp?w)SQ9iLl-Wru!rF&?A)XYMYn zW_WS>CG}btb;bEC)JxShG4xRTu6Adm-8sb)Wp}@|fyLcraukz?uJI|V`=LaLFhNA_ zE~>Ao*X-`scHzP9e(^XO)&1OcG+IwE*xloc)m>BthRUnM!CrzRR~77EBWN6McOJ{# zMI|NmT75xb8h&Xp$5~Kh$47-w?JPoWcaK`6y4F`Xxa5wnfX_>BcYb2W4?_%EE$BeA zMUXsp1IaJi7J;o3*hRqN{n9H#`IKn3yV~jO!7|?c< zs;C+YBf@USR&2(f1cd#qz%MmB2f|o=(E;TVEfYXagmsL@tS1pUFM3Hd6YrnnBx8u6 zJplC8+dai%_EOp1$%XM|No)QCIQKg|^qy*3JX`AQuI?WJhZXxeuf(o^gXm(woUby| zJqeCk7PGO}N=qn)(S~BBsd6LcyLRR+5*3ip4cX;hYOuRYvB$&*2fK5JB?^MHR8Bza ztkCx+`ZiZ45!a+3656&MG$M4u?png7uBtPxd;@9_Gz&6REDR3%El;CXMABU2v2vI5 za-Yxp<%xX3BZB^1UAgK5bQ6FPK0ufN*!2YmuZ03I$_Hp6i`?a-eJm$;cpL;N^g%ur zBx8MmJpxeV1H8iBLK3^mi^;H!yuZEzE(5fPK&u643kSWmff_*X7tlHZ-K9evQv~>w z03X-E!vqvb2dQt-fRcz5g1XoljmBR-kF2}-noZAY8!0sr!IsTZh} z@_6t2%b-<)B**Bey-IWo(c!<#qR!pu2r(sisyryK_>+FcReq2p_yklQsmL+bUegA1 zIYLYdiJ^i(ViJ5}qHhpWOF5!-2MlH1VO&Z3N2HoH&MaLqE)VExHj9+gGmX;DV2q?2 z_JC&X!Zr%R(o!v-M8*?JS&BVo>{P(XW!ff$ar27Eynya7&wht6EWfi^pGZFYCX#(%k0W;H!REts`$}s- z+^Ce>P&84=?e6Yh#_-=CC0|54F4y^|4L=;|b(Y?^)qQ{ZY4hKxcFcd=&yj+xq1O@r zS3RC(cz)pxkLLxnJJ9}t)*t5D;dDCM&M0!T(AJ?{M{uHt9edEuLfGkjx-;f*I?`e# ztu|<&o|V^qTC0Y%5~ToE%Qh5^v8Dh003opD+tEMxeTvLc53m;wg&C@ zcp3g2Z4ut+W3U|T_|)UMm)dVUo+`9O-+DYBq5U51z3rjsEDS`uqs8Ny1%nQtU4-^? zv}@4%UjiT6e6;5kd_m9u$>aH+1fq=rWBOHC2oH;{K_J?El+SO_?m%l{v&#~coHyAc zWqp;3msw3&56AV_JRYEZ7v9pPDfl~uA=ysQ+>p>pMR_?e#842F8)6_lUGkDb`&da{ z6xx2{i(SpqEw==>H>^b@?Z8>^w+(Xh$l!i3Dla5-jglJ@^{`)Vh`G{#c*v!0r6Je5 z<%Lv)B@~3LPRI*co8UJ^23Wa=m6k{4ZF|Gx!C|~4jSLB$7GjWS*WeH7>IDzYT7D6X zszyFwh%mpRaPI?H&IR^Cd6(ECpfU)dk`s49kT7l*NH)C5lm~kR7J}po!2ZQ7?ZI1P zk0UW=5C^Wo_$vivI+CO}TK^#S=z|$S7UW7chTQ*T0Q=-YTTm$W1G~x7ebkR+U6%&3 zp$oeQRbZ=hl;F>{!WrP9?|M8l3BE9Z1ue3M=R?hT^s}&$yIry!7z?+yKVVKZVre^wYVVP9*0K1jm5aat@!&x-7mmFa@vv#Q^(HWHT2J3(P@6 zUd0{<-R+Ch6#p;Txy9YORD9|2JOX~HC?r%V4>6?UaV3IU{3Gjz59(`w^mrDKj5`9@ z9ZL!VOF{0BVEPYY+n0<8>T?nml4Qa%5rO{QqF%mn1SyzB$WsaNjwG+{XSGYyLe>Fv z3ZP3+=3l`6TG}J8UqE0;R&Gd2Zb)KYh&eAL3fYqvV#viojYQ*Hf`oeZ|8A5HutfeZ z1Fqx>+rBJs-~l|YzT)v9vcAjXkt1S9NYWO+fGU5f*00xkf9ZLDs0JcvgRGvCrHgU^ z%XsLFQXIjKEYDLqN3dzjGn8*S^X7%l99SZnn9gj1W3=*7ID5%aqlAXDnH4W7cXncd zE7m5D`wzl(!av|#ko22>!090Ak$|-4gQWU^pZ(SbNk0Y#p!0B00G>Am4Xr-9;#m9Y zQ!8fr*+MPCSnrRay+3~T{@A%8!RHKrsB)QkTUf#ysX}jas(*6smE{Vy@9}VUO7>@$ zp73WMx$>3tdDWfPydL04pC=gF-u*Doa{dt>CV7A2eItD*Y1@Lf5b^9Mg-g2@{}a5k zROK`if(?1%D69)(!=q2>E^kFv(6tADiWDMk1J=Y=vlRIhe`;W%@OjjMQ2g^$?rLY<6P4X}{!`~!N zr+f56pzMTDlw=Dcn)q}*&9-(h**?;-YkLUj4ADp@0PhAaZ?^Cn3EX8JZq|o{F93kI zV_W@9(FJ}I5+qtOuQls(MDrHA?MahtCmQ))y0dMY4Po163oK1`x+=Mhp?J$RLxyyd zjN=@89U8*gB%!}xmD;m??M=~L&?R3>`v@=Z`16Fd z)c{MTr3@83RAK2l2Y9>`DVZNJ^L_=tBLpaW@sJj(OY^S4gV{a|Z4tlE=l7@So=S&P z+!cKU_1H=)u?TjOjMB}s*}%du7+u(kr%lo0PzcGkhEYN}uk(1stN_hwx~Fag4avWG z;NQ@BZ%&{+oc9>#ZPs~nN`!p4%r66+BAF>AqK~oV7k+&Bq$#=qgF}(=7BH&pbY=5o zdX(R{@cRxg4B}tG=^_=D_e!s-;kt}tiDf%{y03Q+E>-9SQOv1{`>7M#3 z&bvBEK~hPKj?|m=;H9y?InlRr-oH3+zd#}XQkGz%m6`mOeveVC+0@AUdg|VY@c=TO(B3mnH*~R6Z#19j7^b5eoV^UPi7g(HY@~ei+YN7ks zTttVa=FQV;v>vrf_W{+<&MX%~8+-#U5=xNQT>lo2Qp9hu_qV5qh zhgR@A_G@e(q}k}6`X4@En9=tNq<0!@2b_3w^!i$;^EMM#bPuC&%DYDP(y>F>ZJSN< zWPV@9?+5Ab|1Id*n~!ytf91e1c6zfZbvB=A$mT@BO*=rkmU!XwL|-o&(j%Pfw2r-` zS6FYB{H4Q7CkQUuJ<%1y7Hl!e{pcP&G3=ksE+uThW5Dw4@qZ0ZWN!K%Jn$)!CWLth z`vl+=od&0wBXkd>7M(G*15%0@rJjP3HoJ7i=`f?=10Clu@i^ci%v79ZR3bF7M6=^lnCS=CQPzj4D|k04P~FM_lA{w_@@__8eYNOzmD!S= GvHuUns8taF diff --git a/main.cpp b/main.cpp index b1a36b2..904cb3b 100644 --- a/main.cpp +++ b/main.cpp @@ -23,6 +23,13 @@ int main() drv.analogEingabeSequenz(1, &ba[0], 0, 0, &bb[0], 0, 1023, -1, 1023); PlottyFile pf; + + + for(uint16_t i = 0; i < 1023; i++) + { + Dot d(i,i, DotColor::PURPLE); + pf.addDot(d); + } pf.writeToFile("test_plot"); system("./plotty --in test_plot"); diff --git a/main.o b/main.o index c773a0e192c9a61c1cc7c8d3495a535ec2745238..f84a9e14e55589484197b8e349c000c0043b9233 100644 GIT binary patch delta 1819 zcmZ8hZ%kWN6u-B9Wi5Z&S77VPly>$lD^-_P%otgOR*JhbXqw@ok(oj$3%I(XJR%CF zG=&c@(8zL)Gck)be$iwmEPR0(wUZ4dAI!|Y=u9?DOmy)Nd^Bzgo^xM`S5ETIx%YQ| z=Xd{|c0Kg>V{<{vqIxd$R92;gutMICp>yG;Y3CqY)Hoc`+_1pzP;_}70lZLXf7fyDw+#i!} zLQ-r-IS|Cvj45plfJn(alCjE+Wph|~PaB4F4Q^Qpd3DPSz`xTODMh~h3NoatkkS%e zg;{OR0SZ5fvg3ug7C!CTD6!SJ)(a$pgE5F%D2{8xNJy+qX_EjER})Nd4|oB`3nt1| zr?d|+3x>H8M9dW-LLmkaozkx301Pm^Z^2!Mh};s+fg|<=W8h>rAqvoro5wMT#!k{v2DZm&e``bu1D5*M$!O~IK7D9tacto07xw6yeW%STFVW>)kyY0mYH#Fo4dWc9g4;^5Y=x9^!J-CAAi^SM8m$uV}x9^s(&ivzSTBu zBOfYFFuteQ_{Xk2{I0cIU4t!?m{ZMLEMHbS?a%TqB}^~ycNA|!F)-}>H1M=@KG5l0 zgjfn#yQ#AnuzbHTuh=OqE-cv&Qo6=}t~lluIw0kRua@9Nn0A53c4g@ver1=3HVZ#3 z{H*Zr3;&DoKAy9C=ppnxVc$#J#r#F|-i(D16~3J|v2e-WKo2#?GkQm)Q`e8+Ad}9# zL6R>&9|*Qg#Q{nU#|+&KJKpect3}RLQ~*tgzx^A zX^Z@I$Ucy=ekrT+z8X)~Q$8C8my~^|jHBj$2@gnoRl-9O{)mJ>Dd_|x{HTeC2u8Ue zDivr_0ppPx57p6oCnU}RiId~!fOB3P?2|GF10G`gQZ7ohK?z?d;~~JBB>b|ZgSl;; zD-tg2ubFs-SoBf;pk^N}a=N>Y9^{WZ$DwsUbDp&DzIj?F3%1p9&K+$}W3m)z|R z@t*?NcbwL?IIdR<0(ptYVAhBWfkDI8wpgPI;jxO{{6=li;&<_XYTK-=3?=Gx;jOi91Ozo|d$=q>+#4A?TPjvWEE$#bgj EUv*#v;{X5v delta 1594 zcmZ`(T})h65I*PL-LlKi-9Og5BwDs`YZua(t{Rt(71%8s4h9nn)_|p12+(W`Rt!sQ zBynw)C^xW4as1=OV0^)*54QN=PlA}XfDb<4gAyMsi7{C%5q#r8gERNuO>Rk?*M)w^To&HbTCu*&fy~(D1JfY?e)Rhlgjp)ODhmBt zYiD6j8*pQ$!k8AecAg1|ud*W(+4T6>t0K4FrghQzLhsa0t+i>rxcW=zZJID{kKu6& zW8^9m>(kmIc_?@mu`*Ql+O)Q0U>IMe1qxytWT^(Lku&5XWt(smq!f+%31oC_6yjS0 zp`6H}IU4)I76q}0fgyE^Vud^%MOmmPBuEjoMB9tDin8vbkJKU=EGvR-Vd7Z~gpg5s zFX%QIZpypX>dIo-alBHS78d#r?ZmmB)XN7ED8!J*Og zP-ZlJaq!X@OP{;)`lTzw>F$w<$yY|;@Bm)ZmK$mxecMU4(woJQoG zz^~Mf%N9;1V#8mfy$x^JGB?WScYF0L_Gn198#Vsd^g{DK9umq^!a1%aD_=+ zg#~|%`(e}H;x7G0--Mb#%)M^W1v}bDd4YembPW+MiW-x zT{K0ERX6hh_<}7w1ZRUSQWHjk&E;Fv2b4V-ehEI~-f)@jOLRv#`H1HJTrrV7Sn$>U E2iBj*TmS$7 diff --git a/test_plot b/test_plot index 4190e63fd99e8b4ff60a6eebf29c1dad1c453d25..98f8cce468a68885773989bca56973a053e49dd7 100644 GIT binary patch literal 4348 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 Y|Hj|^JAd~d{KJ3pPyfZg{5SvpKlRub8UO$Q literal 8440 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 Ieg_WtFLx9p7XSbN From f59e1d4de8d737c41870ab88505b8c739eb0d3f3 Mon Sep 17 00:00:00 2001 From: Tristan Krause Date: Thu, 28 Mar 2019 09:38:35 +0100 Subject: [PATCH 13/32] plottyfile done --- drv/dot.cpp | 8 ++- drv/dot.h | 13 ++-- drv/dot.o | Bin 1576 -> 3072 bytes drv/plottyfile.cpp | 170 ++++++++++++++++++++++++++++++++++++--------- drv/plottyfile.h | 60 +++++++++++++--- drv/plottyfile.o | Bin 10456 -> 15936 bytes gnuplotscript.gp | 13 ++-- main | Bin 48600 -> 54792 bytes main.cpp | 15 ++-- main.o | Bin 5752 -> 8224 bytes nohup.out | 16 +++++ print | 4 ++ test_plot | Bin 4348 -> 8440 bytes 13 files changed, 235 insertions(+), 64 deletions(-) create mode 100644 nohup.out create mode 100755 print diff --git a/drv/dot.cpp b/drv/dot.cpp index cdd3eda..29e80fd 100644 --- a/drv/dot.cpp +++ b/drv/dot.cpp @@ -1,7 +1,9 @@ #include "dot.h" -Dot::Dot(uint16_t x, uint16_t y, DotColor color) : x(x), y(y), color(color) +Dot::Dot(uint16_t x, uint16_t y, uint8_t curve) : x(x), y(y), curve(curve) { + if(curve >= 64) + throw std::range_error("Kurvenindex muss im Bereich [0, 63] liegen"); } uint16_t Dot::getX() const @@ -14,7 +16,7 @@ uint16_t Dot::getY() const return y; } -DotColor Dot::getColor(void) const +uint8_t Dot::getCurve(void) const { - return color; + return curve; } diff --git a/drv/dot.h b/drv/dot.h index 17f782c..3f2b7f0 100644 --- a/drv/dot.h +++ b/drv/dot.h @@ -2,24 +2,19 @@ #define DOT_H #include - -enum DotColor -{ - PURPLE = 0, - GREEN = 32, -}; +#include class Dot { public: - Dot(uint16_t x, uint16_t y, DotColor color); + Dot(uint16_t x, uint16_t y, uint8_t curve); uint16_t getX(void) const; uint16_t getY(void) const; - DotColor getColor(void) const; + uint8_t getCurve(void) const; private: uint16_t x, y; - DotColor color; + uint8_t curve; }; diff --git a/drv/dot.o b/drv/dot.o index f814b54ebb888ffd94df1b624469428cb68fed4a..dd69b9922ac19e12c99b3c161afa638ea934aa05 100644 GIT binary patch literal 3072 zcmbW3O>7%g5P+Y(DRH4BZuyH8sxG2J1=@$5lqNy~oY;;X#Y&?5DCJL^jr05?Y_GLm zCvFcADS)s5DL0VdP|nzVjvV{_<8&u`{?GxPpt zcl}{HHx~|t1WQP~A$k^5A?^rs2H@Zx-59h4x1H)1{%^@IRgP z)gPiTmfim|@;mxuzj)Q}+COF6oi6$8sbd4bc4_;^Y@5};d^CC?Ax7^EcM1muIeOtE z3<5h7?&$XSnV}Bwg{HfsYUSFtYMIq$qhXe-=B#p6IbSm0iCs3YO}=MV%BrYp;_xsO zk*DTGYRu0_Kbd6mHS^N?RNB2$hwQ=qKTsk+FSae#8{wNn{|Qn|_86$Kv^Mem@Ru zWHD$cr@EcbQlv8@^F)VtJS6@;JTU;k5aE6pIM053*f?52kUw%9kYxz1m^2SVL^P|X z8sf2@p=pLVqgh?GTZe<@ee{Gs0;5mGj{rZXodez(3f{wW;odq~n+A?|5|l*%{djQz z-y6Wc9KgRD!0!y;KM&x~58%H5?{^M=5Z{Czg)8F$=;&YfX|Fa$u5ydU+w=XCM_%?*Lw# z4+KzhujD$rq!(OuY?AfbF1&H971d}~)zN0+{$^kW3%IwdMde-hXXx2)Y4$XXC-LP4 z4CFkW7oIQH(Z7dXxkwzJRIF;|uMkK7vl_of{3YnmY5aBKnCA(Nr-@@8d@phSWsT!& zoB4H(Kdo`X{uA~L8_?riC^#=ZYb=*YL5__jP6{&p>E6~jj%||N3UIE+&jWmqY#|#r zs-C?Cz2|oO5^Jui*wRxiPsnZCvxVGhG=y{=G|)XRr-dx$^HgsZgjW}k;{qXW1w#WAe)=5wj1o#b$ zcZ3b=0fl=Lbo`d+cLJv1I{6q4O`@8P>Nqsam4K$pE&71nC5Ut5{qp;kztt}Q!}$$p zy4=$ZO-El{E`xzNA2uHA5_3*K)8#%HFY6F=UO%rR0StBAn=S@9@cHu?$FaQu3Nj;* zAWDurANvRG6&Uc(KM=o37s}_1=Z~=*&wL*kP8EZu%NWfc+&^JI2L17QWTwX_`@ufG z-x3QfUt}r%D?KUbyne>tfYPu2TD1QIa>V`PU2r__AEybr literal 1576 zcmbu8%}(1u5XZ+!C}}}TTJ=zgN^wsG0jmUp67^773TY}@Q3(<8p-R*Vc2hxOlx!-> z0WMskUh)R*BlN}t|WGAzDrpaD6`-#+(e23bkaB4 z38e!w@C5u(#UJgYMxQd1ajxJ%?rM7CkA0CVT!vY>t43;~#XlRF2{dZ8H}-t9HSEcu zT@kCIxV%yshGFTvR29YYLWBXH^Rm|27FefwYi@QrJH`#>k-y}z8TQ1AtTP&0XFa8{ zT_cafJC1shfxp*x1`wnZJ4HN|l#X0$qLz^cwKENd^FO)`I7;J=OnZ#rnYJI*lfpfG zjXCv~F5F2eP(Om$FJCI1c(TEt&KKC6~W? za<~4Svf_A8i>o*u&V!82W=|c~yIeN7I@f!H+Z=y3xH=bz!H=$VTj*s!@*Sn5cPc>~ zy3z&F8Vo?RgKpRBA?pRw6OGO0@<6)nBM^P>*cD#q!0)?Vk5_t_o5OOti{_1Rcv^LS z4#W4MH2GKfqk8iON*YWs%GK>P23h?5Z~YS1(wuRhQIo0l7o#x#s`Ztp`>J%DgyNST zXxhx(z%gR_ouTyK^g-)HF8OVZ;7v@w)|B|G~-0VFfaCrT16lliN#pEffr20I=?Km?MX8k{FKx?u9 diff --git a/drv/plottyfile.cpp b/drv/plottyfile.cpp index 6137e7b..e55c204 100644 --- a/drv/plottyfile.cpp +++ b/drv/plottyfile.cpp @@ -5,6 +5,131 @@ void PlottyFile::addDot(Dot& dot) dots.push_back(dot); } +void PlottyFile::addDot(Dot dot) +{ + dots.push_back(dot); +} + +void PlottyFile::setFunctionType(FunctionType function_type) +{ + this->function_type = function_type; +} + +void PlottyFile::setQuadrant(uint8_t quadrant) +{ + this->quadrant = quadrant; +} + +void PlottyFile::setRefX(uint16_t ref_x) +{ + this->ref_x = ref_x; +} + +void PlottyFile::setRefY(uint16_t ref_y) +{ + this->ref_y = ref_y; +} + +void PlottyFile::setParaFirstCurve(uint16_t para_first) +{ + this->para_first = para_first; +} + +void PlottyFile::setParaStepWidth(uint16_t para_stepwidth) +{ + this->para_stepwidth = para_stepwidth; +} + +void PlottyFile::setUnitX(std::string unit_x) +{ + this->unit_x = unit_x; +} + +void PlottyFile::setDescX(std::string desc_x) +{ + this->desc_x = desc_x; +} + +void PlottyFile::setUnitY(std::string unit_y) +{ + this->unit_y = unit_y; +} + +void PlottyFile::setDescY(std::string desc_y) +{ + this->desc_y = desc_y; +} + +void PlottyFile::setUnitPara(std::string unit_para) +{ + this->unit_para = unit_para; +} + +void PlottyFile::setDescPara(std::string desc_para) +{ + this->desc_para = desc_para; +} + +FunctionType PlottyFile::getFunctionType() const +{ + return function_type; +} + +uint8_t PlottyFile::getQuadrant() const +{ + return quadrant; +} + +uint16_t PlottyFile::getRefX() const +{ + return ref_x; +} + +uint16_t PlottyFile::getRefY() const +{ + return ref_y; +} + +uint16_t PlottyFile::getParaFirstCurve() const +{ + return para_first; +} + +uint16_t PlottyFile::getParaStepWidth() const +{ + return para_stepwidth; +} + +std::string PlottyFile::getUnitX() const +{ + return unit_x; +} + +std::string PlottyFile::getDescX() const +{ + return desc_x; +} + +std::string PlottyFile::getUnitY() const +{ + return unit_y; +} + +std::string PlottyFile::getDescY() const +{ + return desc_y; +} + +std::string PlottyFile::getUnitPara() const +{ + return unit_para; +} + +std::string PlottyFile::getDescPara() const +{ + return desc_para; +} + void PlottyFile::prepStr(std::string& str, uint8_t len) { if(str.length() > len) @@ -18,41 +143,23 @@ void PlottyFile::prepStr(std::string& str, uint8_t len) } void PlottyFile::writeToFile(std::string filename) -{ - - command = 0x1D; - title = "HTWK-HWLab"; - filetype = "MD"; - version = 1; - subversion = 0; - function_type = 'C'; - quadrant = 1; - ref_x = 5000; - ref_y = 50; - para_first = 1; - para_stepwidth = 1; - unit_x = "Unit X"; - desc_x = "Desc X"; - unit_y = "Unit Y"; - desc_y = "Desc Y"; - unit_para = "Unit P"; - desc_para = "Desc P"; - - prepStr(title, 10); - prepStr(unit_x, 10); - prepStr(desc_x, 20); - prepStr(unit_y, 10); - prepStr(desc_y, 20); - prepStr(unit_para, 10); - prepStr(desc_para, 20); +{ + prepStr(unit_x, STR_LEN_SHORT); + prepStr(desc_x, STR_LEN_LARGE); + prepStr(unit_y, STR_LEN_SHORT); + prepStr(desc_y, STR_LEN_LARGE); + prepStr(unit_para, STR_LEN_SHORT); + prepStr(desc_para, STR_LEN_LARGE); std::ofstream file(filename); + + // write file header file.write(reinterpret_cast(&command), 1); - file.write(title.c_str(), title.length()); - file.write(filetype.c_str(), 2); + file.write(head.c_str(), head.length()); + file.write(filetype.c_str(), filetype.length()); file.write(reinterpret_cast(&version), 2); file.write(reinterpret_cast(&subversion), 2); - file.write(reinterpret_cast(&function_type), 1); + file.put(static_cast(function_type)); file.write(reinterpret_cast(&quadrant), 1); file.write(reinterpret_cast(&ref_x), 2); file.write(reinterpret_cast(&ref_y), 2); @@ -66,12 +173,13 @@ void PlottyFile::writeToFile(std::string filename) file.write(desc_para.c_str(), desc_para.length()); file.write(reinterpret_cast(&eof), 1); + // make sure header size is 256 Byte while(file.tellp() < 256) file.put(0); for(Dot& dot : dots) { - file.put((dot.getX() >> 8) | (static_cast(dot.getColor()) << 2)); + file.put((dot.getX() >> 8) | (static_cast(dot.getCurve()) << 2)); file.put(dot.getX() & 0xFF); file.put(dot.getY() >> 8); file.put(dot.getY() & 0xFF); diff --git a/drv/plottyfile.h b/drv/plottyfile.h index a4fc9e9..5fc7465 100644 --- a/drv/plottyfile.h +++ b/drv/plottyfile.h @@ -7,27 +7,62 @@ #include #include "dot.h" +enum FunctionType +{ + CurveFamily = 'S', + Curve = 'C', + Level = 'P' +}; + class PlottyFile { public: void addDot(Dot& dot); + void addDot(Dot dot); + + void setFunctionType(FunctionType); + void setQuadrant(uint8_t); + void setRefX(uint16_t); + void setRefY(uint16_t); + void setParaFirstCurve(uint16_t); + void setParaStepWidth(uint16_t); + void setUnitX(std::string); + void setDescX(std::string); + void setUnitY(std::string); + void setDescY(std::string); + void setUnitPara(std::string); + void setDescPara(std::string); + + FunctionType getFunctionType(void) const; + uint8_t getQuadrant(void) const; + uint16_t getRefX(void) const; + uint16_t getRefY(void) const; + uint16_t getParaFirstCurve(void) const; + uint16_t getParaStepWidth(void) const; + std::string getUnitX(void) const; + std::string getDescX(void) const; + std::string getUnitY(void) const; + std::string getDescY(void) const; + std::string getUnitPara(void) const; + std::string getDescPara(void) const; + void writeToFile(std::string filename); private: void prepStr(std::string& str, uint8_t len); std::vector dots; - int8_t command; - std::string title; - std::string filetype; - int16_t version; - int16_t subversion; - uint8_t function_type; - uint8_t quadrant; - uint16_t ref_x; - uint16_t ref_y; - uint16_t para_first; - uint16_t para_stepwidth; + int8_t command = 0x1D; + const std::string head = "HTWK-HWLab"; + const std::string filetype = "MD"; + int16_t version = 1; + int16_t subversion = 0; + FunctionType function_type = FunctionType::Curve; + uint8_t quadrant = 1; + uint16_t ref_x = 1023; + uint16_t ref_y = 1023; + uint16_t para_first = 1; + uint16_t para_stepwidth = 1; std::string unit_x; std::string desc_x; std::string unit_y; @@ -35,6 +70,9 @@ private: std::string unit_para; std::string desc_para; const uint8_t eof = 0xD; + + constexpr static uint8_t STR_LEN_SHORT = 10; + constexpr static uint8_t STR_LEN_LARGE = 20; }; #endif // PLOTTYFILE_H diff --git a/drv/plottyfile.o b/drv/plottyfile.o index 2ba7902e590719dccfe6eebf9fcb333215355ff1..33d156269e7be379674e085d407addd3fde7c492 100644 GIT binary patch literal 15936 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 AjQ{`u diff --git a/gnuplotscript.gp b/gnuplotscript.gp index 78ca98e..d474ebe 100644 --- a/gnuplotscript.gp +++ b/gnuplotscript.gp @@ -2,12 +2,13 @@ set margin 10,10 unset key set grid set title '' -set xlabel 'Desc X [Unit X]' -set ylabel 'Desc Y [Unit Y]' -set xrange [0:5000] -set yrange [0:50] -set label at 4995,49 'Desc P [Unit P] = 1' left +set xlabel 'Zeit [t]' +set ylabel 'Spannung [V]' +set xrange [0:1023] +set yrange [0:1023] +set label at 1022,1022 '1' left +set label at 1022,511 '2' left unset output set terminal qt unset output -plot "/tmp/tempfile32" using ($1*4.887586):($2*0.048876) binary format="%int16%int16" endian=big title 'Desc P [Unit P] = 1' w l +plot "/tmp/tempfile0" using ($1*1.000000):($2*1.000000) binary format="%int16%int16" endian=big title ' [] = 1' w l,"/tmp/tempfile1" using ($1*1.000000):($2*1.000000) binary format="%int16%int16" endian=big title ' [] = 2' w l diff --git a/main b/main index e2befaa26ffa87dfbf16e8f15af2daac2461115d..06d208848a8883aad2f07ce59e9704070af4b531 100755 GIT binary patch literal 54792 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 A#Q*>R literal 48600 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 diff --git a/main.cpp b/main.cpp index 904cb3b..4942aca 100644 --- a/main.cpp +++ b/main.cpp @@ -23,16 +23,23 @@ int main() drv.analogEingabeSequenz(1, &ba[0], 0, 0, &bb[0], 0, 1023, -1, 1023); PlottyFile pf; - + pf.setUnitX("t"); + pf.setUnitY("V"); + pf.setDescX("Zeit"); + pf.setDescY("Spannung"); for(uint16_t i = 0; i < 1023; i++) { - Dot d(i,i, DotColor::PURPLE); - pf.addDot(d); + pf.addDot(Dot(i,i, 0)); + pf.addDot(Dot(i,i/2, 1)); } pf.writeToFile("test_plot"); - system("./plotty --in test_plot"); + int code = system("./plotty --in test_plot"); + if(code) + { + std::cout << "plotty konnte nicht gestarted werden" << std::endl; + } std::cout << "Schluss." << std::endl; } diff --git a/main.o b/main.o index f84a9e14e55589484197b8e349c000c0043b9233..784978387414586fd98aefac2493fb10a2db0b3a 100644 GIT binary patch literal 8224 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 SKknV7?9Z|Q%WVd>Ecq85n^nvJ literal 5752 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 HAO8CvaknIT literal 4348 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 Y|Hj|^JAd~d{KJ3pPyfZg{5SvpKlRub8UO$Q From e857b9a32e004612310abdbe7598fcc4c2a07844 Mon Sep 17 00:00:00 2001 From: Tristan Krause Date: Thu, 28 Mar 2019 09:39:16 +0100 Subject: [PATCH 14/32] doofe Dateien entfernt --- nohup.out | 16 ---------------- print | 4 ---- 2 files changed, 20 deletions(-) delete mode 100644 nohup.out delete mode 100755 print diff --git a/nohup.out b/nohup.out deleted file mode 100644 index b3f5d6f..0000000 --- a/nohup.out +++ /dev/null @@ -1,16 +0,0 @@ -PROGRAMMVERSION: 1.0 -Terminal: qt -weiter mit 'e' -PROGRAMMVERSION: 1.0 -Terminal: qt -weiter mit 'e' -PROGRAMMVERSION: 1.0 -Terminal: qt -weiter mit 'e' -Invalid MIT-MAGIC-COOKIE-1 keyqt.qpa.screen: QXcbConnection: Could not connect to display :0.0 -Could not connect to any X display. - -PROGRAMMVERSION: 1.0 -Terminal: qt -weiter mit 'e' -QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-famulus' diff --git a/print b/print deleted file mode 100755 index 0f918ad..0000000 --- a/print +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash -# echo $DISPLAY -export DISPLAY=:1 -./plotty --in test_plot From dd58ec7fedc2a524b48e0de5471308e2ad8cd1e8 Mon Sep 17 00:00:00 2001 From: Tristan Krause Date: Thu, 28 Mar 2019 11:11:19 +0100 Subject: [PATCH 15/32] Kennlinien funktionieren grob --- Makefile | 2 +- drv/b15f.cpp | 2 + drv/b15f.o | Bin 50896 -> 51368 bytes drv/plottyfile.cpp | 2 + drv/plottyfile.o | Bin 15936 -> 16448 bytes gnuplotscript.gp | 34 +++++++++--- main | Bin 54792 -> 58984 bytes main.cpp | 132 ++++++++++++++++++++++++++++++++++----------- main.o | Bin 8224 -> 13232 bytes test_plot | Bin 8440 -> 820 bytes 10 files changed, 134 insertions(+), 38 deletions(-) diff --git a/Makefile b/Makefile index bf36ff9..a2dd96d 100644 --- a/Makefile +++ b/Makefile @@ -14,7 +14,7 @@ OBJECTS = main.o drv/b15f.o drv/plottyfile.o drv/dot.o COMPILE = $(COMPILER_PATH) $(CFLAGS) -B15F: $(OBJECTS) +B15F: clean $(OBJECTS) @echo "Linking..." $(COMPILE) $(OBJECTS) -o $(OUTPUT) $(LDFLAGS) diff --git a/drv/b15f.cpp b/drv/b15f.cpp index 71bfcbf..20333ff 100644 --- a/drv/b15f.cpp +++ b/drv/b15f.cpp @@ -282,6 +282,8 @@ bool B15F::analogEingabeSequenz(uint8_t channel_a, uint16_t* buffer_a, uint32_t { buffer_a[offset_a + i] = readInt(); buffer_b[offset_b + i] = readInt(); + if(buffer_a[offset_a + i] > 1023 || buffer_b[offset_b + i] > 1023) + std::cout << "schlechte Werte gefunden" << std::endl; //std::cout << "(" << i << ") " << buffer_a[offset_a + i] << " \t| " << buffer_b[offset_b + i] << std::endl; } diff --git a/drv/b15f.o b/drv/b15f.o index 2af31635a23a29701735af90df4d7af0c8c94163..ea73b41b58b8b33ef63a3fb88643d5bdbc682447 100644 GIT binary patch delta 15330 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 diff --git a/drv/plottyfile.cpp b/drv/plottyfile.cpp index e55c204..5259633 100644 --- a/drv/plottyfile.cpp +++ b/drv/plottyfile.cpp @@ -17,6 +17,8 @@ void PlottyFile::setFunctionType(FunctionType function_type) void PlottyFile::setQuadrant(uint8_t quadrant) { + if(quadrant < 1 || quadrant > 4) + throw std::range_error("Ungueltiger Quadrant"); this->quadrant = quadrant; } diff --git a/drv/plottyfile.o b/drv/plottyfile.o index 33d156269e7be379674e085d407addd3fde7c492..ef4c3bb0488cbdf992fd2a530a56a4677d484c7a 100644 GIT binary patch delta 5283 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 A#Q*>R diff --git a/main.cpp b/main.cpp index 4942aca..74471d6 100644 --- a/main.cpp +++ b/main.cpp @@ -2,44 +2,116 @@ #include "drv/b15f.h" #include "drv/plottyfile.h" +PlottyFile pf; + +void kennlinieErsterQuadrant() +{ + B15F& drv = B15F::getInstance(); + + uint16_t ba[1024]; + uint16_t bb[1024]; + + const uint16_t sample_count = 100; + const uint16_t delta = 10; + + const uint16_t u_gs_start = 440; + const uint16_t u_gs_delta = 20; + const uint16_t u_gs_end = 600; + + pf.setUnitX("V"); + pf.setUnitY("mA"); + pf.setUnitPara("V"); + pf.setDescX("U_{DS}"); + pf.setDescY("I_D"); + pf.setDescPara("U_{GS}"); + pf.setRefX(5); + pf.setRefY(50); + pf.setParaFirstCurve(u_gs_start); + pf.setParaStepWidth(u_gs_delta); + + uint8_t curve = 0; + for(uint16_t u_gs = u_gs_start; u_gs <= u_gs_end; u_gs += u_gs_delta) + { + drv.analogeAusgabe1(u_gs); + + drv.analogEingabeSequenz(0, &ba[0], 0, 1, &bb[0], 0, 0, delta, sample_count); + drv.delay(10); + drv.discard(); + drv.delay(10); + + for(uint16_t k = 0; k < sample_count+1; k++) + { + uint16_t i_d = ba[k] - bb[k]; + uint16_t u_ds = bb[k]; + pf.addDot(Dot(u_ds, i_d, curve)); + } + + curve++; + } +} + +void kennlinieZweiterQuadrant() +{ + B15F& drv = B15F::getInstance(); + + uint16_t ba[1024]; + uint16_t bb[1024]; + + const uint16_t sample_count = 1000; + const uint16_t delta = 1; + + const uint16_t u_gs_start = 300; + const uint16_t u_gs_delta = 25; + const uint16_t u_gs_end = 700; + + pf.setQuadrant(2); + pf.setUnitX("V"); + pf.setUnitY("mA"); + pf.setUnitPara("V"); + pf.setDescX("U_{GS}"); + pf.setDescY("I_D"); + pf.setDescPara("U_{DS}"); + pf.setRefX(5); + pf.setRefY(50); + pf.setParaFirstCurve(u_gs_start); + pf.setParaStepWidth(u_gs_delta); + + uint8_t curve = 0; + for(uint16_t u_gs = u_gs_start; u_gs <= u_gs_end; u_gs += u_gs_delta) + { + drv.analogeAusgabe1(u_gs); + + drv.analogEingabeSequenz(0, &ba[0], 0, 1, &bb[0], 0, 0, delta, sample_count); + drv.delay(10); + drv.discard(); + drv.delay(10); + + curve = 0; + for(uint16_t k = 0; k < sample_count + 1; k++) + { + if(ba[k] > bb[k] && bb[k] % 50 == 0 && bb[k] > 0) + { + uint16_t i_d = ba[k] - bb[k]; + pf.addDot(Dot(u_gs, i_d, bb[k] / 50)); + } + curve++; + } + std::cout << "u_gs: " << u_gs << std::endl; + } +} + int main() { B15F& drv = B15F::getInstance(); drv.init(); - /* - while(1) - { - for(uint16_t i = 0; i < 1024; i++) - { - drv.analogeAusgabe0(drv.analogeEingabe(5)); - //drv.delay(10); - //drv.digitaleAusgabe0(drv.digitaleEingabe0()); - } - }*/ - - uint16_t ba[1024]; - uint16_t bb[1024]; - drv.analogEingabeSequenz(1, &ba[0], 0, 0, &bb[0], 0, 1023, -1, 1023); - - PlottyFile pf; - pf.setUnitX("t"); - pf.setUnitY("V"); - pf.setDescX("Zeit"); - pf.setDescY("Spannung"); - - for(uint16_t i = 0; i < 1023; i++) - { - pf.addDot(Dot(i,i, 0)); - pf.addDot(Dot(i,i/2, 1)); - } - pf.writeToFile("test_plot"); + kennlinieZweiterQuadrant(); + // speichern und plotty starten + pf.writeToFile("test_plot"); int code = system("./plotty --in test_plot"); if(code) - { - std::cout << "plotty konnte nicht gestarted werden" << std::endl; - } + std::cout << "Fehler beim plotty Aufruf" << std::endl; std::cout << "Schluss." << std::endl; } diff --git a/main.o b/main.o index 784978387414586fd98aefac2493fb10a2db0b3a..7ba2d8f7be0b3913bdb5fcc0fa01a22a4b5fa773 100644 GIT binary patch literal 13232 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 SKknV7?9Z|Q%WVd>Ecq85n^nvJ diff --git a/test_plot b/test_plot index 6561707f38b33c94f2b2cc80a0bed0576cb45540..abc733e0ffaecaba461e3ba0f55fb8dda80e5a8a 100644 GIT binary patch literal 820 zcmc)EO=}ZT6vpxAPBOuXUSWh0rZUxu%s?PnM93mSkYa)rb>&NTDHgSL;W|hu^&{j< zh|E&OR>6gg=*Eq%gSZnBY^j~@{kLfg`UM>Lan8NxIhTp%Zw;JMf43J_uH0NbI_}>+nmasSUFaRQ2YLOy+xvId9_9Xf<2GbG*oGV*K|`ew z5q%7|&wR?UeKJ#}pid4F=NJhYcSv?9$HGT2B!ief*_(~HAE^{fl|w4Z5j93K;*GIN z9_(0Ue=IjbjD)-TnE%Oi%*#}@nU4FJP6P-u*$4@Db!JU6txRq^Q@N9=)XjJ|*Nm5I z7H4g)7_}f*66Q)H#PkX3xz0D4qt?oGu1&tfUN=`Xm+MSFSLjVN@F!XfCb}0*^Z-lo z)Wd{|B=UShZ#qYp1PQ$Lkqu-s0V?HSh7EX3eM6nlF{q{J^gRo763AW4D?*kMZPW X>TH}!ozIm^&U3uLOT5B5Ht^;T`(~23 literal 8440 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 HAO8CvaknIT From b9d7caab2882e4ef4dd4b7cd0e42c8893befbaca Mon Sep 17 00:00:00 2001 From: Tristan Krause Date: Thu, 28 Mar 2019 13:45:16 +0100 Subject: [PATCH 16/32] Zwischenstand --- drv/b15f.cpp | 47 ++++++++++++++++++++++++++++++++++------------- drv/b15f.h | 3 ++- drv/b15f.o | Bin 51368 -> 76776 bytes gnuplotscript.gp | 31 ++++++++++++++++--------------- main | Bin 58984 -> 67264 bytes main.cpp | 3 --- main.o | Bin 13232 -> 13128 bytes test_plot | Bin 820 -> 1292 bytes 8 files changed, 52 insertions(+), 32 deletions(-) diff --git a/drv/b15f.cpp b/drv/b15f.cpp index 20333ff..ff95d66 100644 --- a/drv/b15f.cpp +++ b/drv/b15f.cpp @@ -23,10 +23,10 @@ void B15F::init() options.c_iflag = IGNPAR; options.c_oflag = 0; options.c_lflag = 0; - options.c_cc[VTIME]=1; // timeout in Dezisekunden + options.c_cc[VTIME]=100; // timeout in Dezisekunden cfsetspeed(&options, BAUDRATE); tcsetattr(usart, TCSANOW, &options); - tcflush(usart, TCIFLUSH); + tcflush(usart, TCIOFLUSH); // leere Puffer in beiden Richtungen std::cout << "OK" << std::endl; @@ -81,14 +81,13 @@ void B15F::reconnect() void B15F::discard(void) { - tcflush(usart, TCIFLUSH); // leere Puffer + tcflush(usart, TCOFLUSH); // leere Ausgangspuffer for(uint8_t i = 0; i < 8; i++) { writeByte(RQ_DISC); // sende discard Befehl (verwerfe input) - delay(10); + delay((16000 / BAUDRATE) + 1); // warte mindestens eine Millisekunde, gegebenenfalls mehr } - delay(100); - tcflush(usart, TCIFLUSH); // leere Puffer + tcflush(usart, TCIFLUSH); // leere Eingangspuffer } bool B15F::testConnection() @@ -272,23 +271,33 @@ bool B15F::analogEingabeSequenz(uint8_t channel_a, uint16_t* buffer_a, uint32_t writeByte(channel_b); writeInt(start); writeInt(static_cast(delta)); - writeInt(count); + writeInt(count); uint8_t aw = readByte(); if(aw != MSG_OK) + { + std::cout << PRE << "Mikrocontroller nicht synchronisiert" << std::endl; throw DriverException("Mikrocontroller nicht synchronisiert"); + } for(uint16_t i = 0; i < count; i++) { buffer_a[offset_a + i] = readInt(); buffer_b[offset_b + i] = readInt(); if(buffer_a[offset_a + i] > 1023 || buffer_b[offset_b + i] > 1023) - std::cout << "schlechte Werte gefunden" << std::endl; - //std::cout << "(" << i << ") " << buffer_a[offset_a + i] << " \t| " << buffer_b[offset_b + i] << std::endl; + { + std::cout << PRE << "Schlechte Werte gefunden" << std::endl; + throw DriverException("Schlechte Werte gefunden"); + } } aw = readByte(); - return aw == MSG_OK; + if(aw == MSG_OK) + return aw; + + std::cout << PRE << "Da ging etwas verloren" << std::endl; + discard(); + return analogEingabeSequenz(channel_a, buffer_a, offset_a, channel_b, buffer_b, offset_b, start, delta, count); } catch(DriverException& de) { @@ -318,10 +327,22 @@ uint8_t B15F::readByte() uint16_t elapsed = 0; while(elapsed < timeout) { - int n = read(usart, &b, 1); - if (n > 0) - return static_cast(b); + int n_ready; + int code = ioctl(usart, FIONREAD, &n_ready); + if(code != 0) + std::cout << PRE << "n_ready code: " << code << std::endl; + + if(n_ready > 0) + { + //std::cout << code << " \tready: " << n_ready << std::endl; + code = read(usart, &b, 1); + if (code > 0) + return static_cast(b); + if (code < 0) + std::cout << PRE << "usart code: " << code << std::endl; + } + end = std::chrono::steady_clock::now(); elapsed = std::chrono::duration_cast(end - start).count(); } diff --git a/drv/b15f.h b/drv/b15f.h index 1d9d3ad..c8cf7ca 100644 --- a/drv/b15f.h +++ b/drv/b15f.h @@ -12,6 +12,7 @@ #include #include +#include #include #include "driverexception.h" @@ -51,7 +52,7 @@ public: private: int usart = -1; - uint16_t timeout = 1000; + uint16_t timeout = 100; // ms static B15F* instance; diff --git a/drv/b15f.o b/drv/b15f.o index ea73b41b58b8b33ef63a3fb88643d5bdbc682447..1a9b773c1c7e8323488b0c4c82fa00c7c189cbde 100644 GIT binary patch literal 76776 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≺eNwny#lSxg@EZX4NSy17 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 diff --git a/gnuplotscript.gp b/gnuplotscript.gp index 9b98559..9a5aaa5 100644 --- a/gnuplotscript.gp +++ b/gnuplotscript.gp @@ -8,27 +8,28 @@ set xrange [5:0] set x2range [5:0] set y2range [0:50] set yrange [0:50] -set label at 2,33 'U_{DS} [V] = 300' right -set label at 2,30 'U_{DS} [V] = 325' right -set label at 2,33 'U_{DS} [V] = 350' right -set label at 2,35 'U_{DS} [V] = 375' right -set label at 2,21 'U_{DS} [V] = 400' right -set label at 2,21 'U_{DS} [V] = 425' right -set label at 2,22 'U_{DS} [V] = 450' right -set label at 2,22 'U_{DS} [V] = 475' right -set label at 2,22 'U_{DS} [V] = 500' right -set label at 2,5 'U_{DS} [V] = 525' right +set label at 2,38 'U_{DS} [V] = 300' right +set label at 2,29 'U_{DS} [V] = 325' right +set label at 2,31 'U_{DS} [V] = 350' right +set label at 2,32 'U_{DS} [V] = 375' right +set label at 2,33 'U_{DS} [V] = 400' right +set label at 2,20 'U_{DS} [V] = 425' right +set label at 2,20 'U_{DS} [V] = 450' right +set label at 2,11 'U_{DS} [V] = 475' right +set label at 2,21 'U_{DS} [V] = 500' right +set label at 2,21 'U_{DS} [V] = 525' right set label at 2,11 'U_{DS} [V] = 550' right set label at 2,11 'U_{DS} [V] = 575' right set label at 2,11 'U_{DS} [V] = 600' right -set label at 2,11 'U_{DS} [V] = 625' right -set label at 2,4 'U_{DS} [V] = 650' right -set label at 2,4 'U_{DS} [V] = 650' right -set label at 2,4 'U_{DS} [V] = 700' right +set label at 2,11 'U_{DS} [V] = 600' right +set label at 2,11 'U_{DS} [V] = 600' right +set label at 2,11 'U_{DS} [V] = 600' right +set label at 2,11 'U_{DS} [V] = 600' right +set label at 2,11 'U_{DS} [V] = 600' right set y2tics unset ytics set ytics format '' unset output set terminal qt unset output -plot "/tmp/tempfile1" using ($1*0.004888):($2*0.048876) binary format="%int16%int16" endian=big title 'U_{DS} [V] = 300' w l,"/tmp/tempfile2" using ($1*0.004888):($2*0.048876) binary format="%int16%int16" endian=big title 'U_{DS} [V] = 325' w l,"/tmp/tempfile3" using ($1*0.004888):($2*0.048876) binary format="%int16%int16" endian=big title 'U_{DS} [V] = 350' w l,"/tmp/tempfile4" using ($1*0.004888):($2*0.048876) binary format="%int16%int16" endian=big title 'U_{DS} [V] = 375' w l,"/tmp/tempfile5" using ($1*0.004888):($2*0.048876) binary format="%int16%int16" endian=big title 'U_{DS} [V] = 400' w l,"/tmp/tempfile6" using ($1*0.004888):($2*0.048876) binary format="%int16%int16" endian=big title 'U_{DS} [V] = 425' w l,"/tmp/tempfile7" using ($1*0.004888):($2*0.048876) binary format="%int16%int16" endian=big title 'U_{DS} [V] = 450' w l,"/tmp/tempfile8" using ($1*0.004888):($2*0.048876) binary format="%int16%int16" endian=big title 'U_{DS} [V] = 475' w l,"/tmp/tempfile9" using ($1*0.004888):($2*0.048876) binary format="%int16%int16" endian=big title 'U_{DS} [V] = 500' w l,"/tmp/tempfile10" using ($1*0.004888):($2*0.048876) binary format="%int16%int16" endian=big title 'U_{DS} [V] = 525' w l,"/tmp/tempfile11" using ($1*0.004888):($2*0.048876) binary format="%int16%int16" endian=big title 'U_{DS} [V] = 550' w l,"/tmp/tempfile12" using ($1*0.004888):($2*0.048876) binary format="%int16%int16" endian=big title 'U_{DS} [V] = 575' w l,"/tmp/tempfile13" using ($1*0.004888):($2*0.048876) binary format="%int16%int16" endian=big title 'U_{DS} [V] = 600' w l,"/tmp/tempfile14" using ($1*0.004888):($2*0.048876) binary format="%int16%int16" endian=big title 'U_{DS} [V] = 625' w l,"/tmp/tempfile15" using ($1*0.004888):($2*0.048876) binary format="%int16%int16" endian=big title 'U_{DS} [V] = 650' w l,"/tmp/tempfile16" using ($1*0.004888):($2*0.048876) binary format="%int16%int16" endian=big title 'U_{DS} [V] = 675' w l,"/tmp/tempfile17" using ($1*0.004888):($2*0.048876) binary format="%int16%int16" endian=big title 'U_{DS} [V] = 700' w l +plot "/tmp/tempfile1" using ($1*0.004888):($2*0.048876) binary format="%int16%int16" endian=big title 'U_{DS} [V] = 300' w l,"/tmp/tempfile2" using ($1*0.004888):($2*0.048876) binary format="%int16%int16" endian=big title 'U_{DS} [V] = 325' w l,"/tmp/tempfile3" using ($1*0.004888):($2*0.048876) binary format="%int16%int16" endian=big title 'U_{DS} [V] = 350' w l,"/tmp/tempfile4" using ($1*0.004888):($2*0.048876) binary format="%int16%int16" endian=big title 'U_{DS} [V] = 375' w l,"/tmp/tempfile5" using ($1*0.004888):($2*0.048876) binary format="%int16%int16" endian=big title 'U_{DS} [V] = 400' w l,"/tmp/tempfile6" using ($1*0.004888):($2*0.048876) binary format="%int16%int16" endian=big title 'U_{DS} [V] = 425' w l,"/tmp/tempfile7" using ($1*0.004888):($2*0.048876) binary format="%int16%int16" endian=big title 'U_{DS} [V] = 450' w l,"/tmp/tempfile8" using ($1*0.004888):($2*0.048876) binary format="%int16%int16" endian=big title 'U_{DS} [V] = 475' w l,"/tmp/tempfile9" using ($1*0.004888):($2*0.048876) binary format="%int16%int16" endian=big title 'U_{DS} [V] = 500' w l,"/tmp/tempfile10" using ($1*0.004888):($2*0.048876) binary format="%int16%int16" endian=big title 'U_{DS} [V] = 525' w l,"/tmp/tempfile11" using ($1*0.004888):($2*0.048876) binary format="%int16%int16" endian=big title 'U_{DS} [V] = 550' w l,"/tmp/tempfile12" using ($1*0.004888):($2*0.048876) binary format="%int16%int16" endian=big title 'U_{DS} [V] = 575' w l,"/tmp/tempfile13" using ($1*0.004888):($2*0.048876) binary format="%int16%int16" endian=big title 'U_{DS} [V] = 600' w l,"/tmp/tempfile14" using ($1*0.004888):($2*0.048876) binary format="%int16%int16" endian=big title 'U_{DS} [V] = 625' w l,"/tmp/tempfile15" using ($1*0.004888):($2*0.048876) binary format="%int16%int16" endian=big title 'U_{DS} [V] = 650' w l,"/tmp/tempfile16" using ($1*0.004888):($2*0.048876) binary format="%int16%int16" endian=big title 'U_{DS} [V] = 675' w l,"/tmp/tempfile17" using ($1*0.004888):($2*0.048876) binary format="%int16%int16" endian=big title 'U_{DS} [V] = 700' w l,"/tmp/tempfile18" using ($1*0.004888):($2*0.048876) binary format="%int16%int16" endian=big title 'U_{DS} [V] = 725' w l diff --git a/main b/main index 17a4de39b7e062aed0d70acbcc96c143d0fab1fa..6522fb205f7e92d0f933cecd933f2303cde598a3 100755 GIT binary patch literal 67264 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 DRCU&h delta 733 zcmZ{gPe>GD6u`eXyEF6clCy@-Wi#d~xMhTg4j!k2%0icr2wAYj zF4HM^m!L~q(4mtu2a_ODV#(?d-nuo1z$mRXviu446jSRV#)?qzJ{4J!U3vk;%+*ovFEyAujh2zQ zHyy8{#G5n1+2F$mjo*$I=BiSmytk$@7P~h~Bl+0kvD{#6F?)8RZ|nAF4{M4ERZOWS z?BR8F8lL*^)c4T&fwNVRH#kE{{=wOINv?6W5|V#$_9!fGbG8h#6za)%d-}jiWO9Pd;uzTrhuA!p$xaJzJ}=CcaDnVg!S)Nbia|1d88{(| z`mIh;Hg6RXxFzs}z%L5?H1`Kn&!V8?*PdMT?nzP<102(tbM*h+j02Cc(x?H|dDMFy zc#SUA8LUv<#DMAm>V^Xk(KQ^2x8M`QhCdk4Lu(5rOl-IlZ;u|g&#o?-=jHXbNsE5`J=-3iRinQDp12K&3aJL9 z*MQ?wKp{mub33ecApH){DP$f|%yYNP*)F6aZ^-c(gDz(oV_omD-h<7^dvaglGol8-g zPazjl?vY_eWr(~ChrD)Lf!_@U2qy2sZ$yvYa literal 820 zcmc)EO=}ZT6vpxAPBOuXUSWh0rZUxu%s?PnM93mSkYa)rb>&NTDHgSL;W|hu^&{j< zh|E&OR>6gg=*Eq%gSZnBY^j~@{kLfg`UM>Lan8NxIhTp%Zw;JMf43J_uH0NbI_}>+nmasSUFaRQ2YLOy+xvId9_9Xf<2GbG*oGV*K|`ew z5q%7|&wR?UeKJ#}pid4F=NJhYcSv?9$HGT2B!ief*_(~HAE^{fl|w4Z5j93K;*GIN z9_(0Ue=IjbjD)-TnE%Oi%*#}@nU4FJP6P-u*$4@Db!JU6txRq^Q@N9=)XjJ|*Nm5I z7H4g)7_}f*66Q)H#PkX3xz0D4qt?oGu1&tfUN=`Xm+MSFSLjVN@F!XfCb}0*^Z-lo z)Wd{|B=UShZ#qYp1PQ$Lkqu-s0V?HSh7EX3eM6nlF{q{J^gRo763AW4D?*kMZPW X>TH}!ozIm^&U3uLOT5B5Ht^;T`(~23 From e3b7d60e1608a8683a0a0bdde7d97daaacbf486f Mon Sep 17 00:00:00 2001 From: Tristan Krause Date: Thu, 28 Mar 2019 15:22:06 +0100 Subject: [PATCH 17/32] verbesserte Stabilitaet --- drv/b15f.cpp | 89 +++++++++++++++++++++++++++++++++++++++++++---- drv/b15f.h | 19 +++++----- drv/b15f.o | Bin 76776 -> 75208 bytes gnuplotscript.gp | 39 +++++++++++---------- main | Bin 67264 -> 67264 bytes test_plot | Bin 1292 -> 1072 bytes 6 files changed, 113 insertions(+), 34 deletions(-) diff --git a/drv/b15f.cpp b/drv/b15f.cpp index ff95d66..627e3ba 100644 --- a/drv/b15f.cpp +++ b/drv/b15f.cpp @@ -264,6 +264,8 @@ uint16_t B15F::analogeEingabe(uint8_t channel) bool B15F::analogEingabeSequenz(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) { + + try { writeByte(RQ_ADC_DAC_STROKE); @@ -276,19 +278,24 @@ bool B15F::analogEingabeSequenz(uint8_t channel_a, uint16_t* buffer_a, uint32_t if(aw != MSG_OK) { - std::cout << PRE << "Mikrocontroller nicht synchronisiert" << std::endl; - throw DriverException("Mikrocontroller nicht synchronisiert"); + discard(); + return analogEingabeSequenz(channel_a, buffer_a, offset_a, channel_b, buffer_b, offset_b, start, delta, count); } for(uint16_t i = 0; i < count; i++) { - buffer_a[offset_a + i] = readInt(); - buffer_b[offset_b + i] = readInt(); - if(buffer_a[offset_a + i] > 1023 || buffer_b[offset_b + i] > 1023) + uint8_t block[4]; + bool crc_ok = true; + do { - std::cout << PRE << "Schlechte Werte gefunden" << std::endl; - throw DriverException("Schlechte Werte gefunden"); + crc_ok = readBlock(&block[0], 0); + if(!crc_ok) + std::cout << "fordere neu an" << std::endl; } + while(!crc_ok); + + 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 = readByte(); @@ -356,6 +363,74 @@ uint16_t B15F::readInt() return readByte() | readByte() << 8; } +bool B15F::readBlock(uint8_t* buffer, uint16_t offset) +{ + uint8_t len = readByte(); + uint8_t crc = 0; + buffer += offset; + + // wait for block + int n_ready; + uint16_t elapsed = 0; + auto start = std::chrono::steady_clock::now(); + auto end = start; + while(elapsed < block_timeout) + { + int code = ioctl(usart, FIONREAD, &n_ready); + if(code != 0) + { + std::cout << PRE << "n_ready code: " << code << std::endl; + return false; + } + if(n_ready >= len + 1) + break; + end = std::chrono::steady_clock::now(); + elapsed = std::chrono::duration_cast(end - start).count(); + } + if(elapsed >= timeout) + { + std::cout << PRE << "block timeout: " << std::endl; + return false; + } + + while(len--) + { + int code = read(usart, buffer, 1); + if(code != 1) + { + std::cout << PRE << "read code: " << code << std::endl; + return false; + } + + crc ^= *buffer++; + for (uint8_t i = 0; i < 8; i++) + { + if (crc & 1) + crc ^= CRC7_POLY; + crc >>= 1; + } + } + + crc ^= readByte(); + for (uint8_t i = 0; i < 8; i++) + { + if (crc & 1) + crc ^= CRC7_POLY; + crc >>= 1; + } + + if (crc == 0) + { + writeByte(MSG_OK); + return true; + } + else + { + writeByte(MSG_FAIL); + return false; + } +} + void B15F::delay(uint16_t ms) { std::this_thread::sleep_for(std::chrono::milliseconds(ms)); diff --git a/drv/b15f.h b/drv/b15f.h index c8cf7ca..e88e0a1 100644 --- a/drv/b15f.h +++ b/drv/b15f.h @@ -1,5 +1,5 @@ -#ifndef B15F_h -#define B15F_h +#ifndef B15F_H +#define B15F_H #include #include @@ -44,6 +44,7 @@ public: inline void writeInt(uint16_t); inline uint8_t readByte(void); inline uint16_t readInt(void); + inline bool readBlock(uint8_t* buffer, uint16_t offset); void delay(uint16_t); @@ -52,18 +53,20 @@ public: private: int usart = -1; - uint16_t timeout = 100; // ms + uint16_t timeout = 200; // ms + uint16_t block_timeout = 1; // ms static B15F* instance; // CONSTANTS const std::string PRE = "[B15F] "; const std::string SERIAL_DEVICE = "/dev/ttyUSB0"; - constexpr static uint8_t MSG_OK = 0xFF; - constexpr static uint8_t MSG_FAIL = 0xFE; - constexpr static uint16_t RECONNECT_TIMEOUT = 32; // ms - constexpr static uint8_t RECONNECT_TRIES = 3; + constexpr static uint8_t MSG_OK = 0xFF; + constexpr static uint8_t MSG_FAIL = 0xFE; + constexpr static uint16_t RECONNECT_TIMEOUT = 64; // ms + constexpr static uint8_t RECONNECT_TRIES = 3; constexpr static uint32_t BAUDRATE = 115200; + constexpr static uint8_t CRC7_POLY = 0x91; // REQUESTS constexpr static uint8_t RQ_DISC = 0; @@ -80,4 +83,4 @@ private: constexpr static uint8_t RQ_ADC_DAC_STROKE = 12; }; -#endif // B15F_h +#endif // B15F_H diff --git a/drv/b15f.o b/drv/b15f.o index 1a9b773c1c7e8323488b0c4c82fa00c7c189cbde..b909c96259f40513a118289a25eb670ba15cc0ce 100644 GIT binary patch literal 75208 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≺eNwny#lSxg@EZX4NSy17 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 Q_JAJJqmjqV70PM#Hy;bR)&Kwi literal 1292 zcmc)G&ubGw6bJC{%w~g$PI04KyTvW8vI{B6Awmy56e%Xyszsz~J*DVT@E{(7)*l!D zfPi=s1ofbM@TA^lkBTi`yu^$6`@VmG-)VN@7^GJNAKu$}?@iurxO8sqRC8(V^rg!y zZ2{o8ba5075#U0VkK4cV>l-IlZ;u|g&#o?-=jHXbNsE5`J=-3iRinQDp12K&3aJL9 z*MQ?wKp{mub33ecApH){DP$f|%yYNP*)F6aZ^-c(gDz(oV_omD-h<7^dvaglGol8-g zPazjl?vY_eWr(~ChrD)Lf!_@U2qy2sZ$yvYa From 0d439d97b86612cf5ff9b7ca782713d7a4847a4d Mon Sep 17 00:00:00 2001 From: Tristan Krause Date: Thu, 28 Mar 2019 15:36:44 +0100 Subject: [PATCH 18/32] speichern bevor bugsuche --- drv/b15f.cpp | 15 +++++++++++++-- drv/b15f.h | 1 + drv/b15f.o | Bin 75208 -> 76536 bytes gnuplotscript.gp | 24 ++++++++++++------------ main | Bin 67264 -> 67264 bytes test_plot | Bin 1072 -> 1084 bytes 6 files changed, 26 insertions(+), 14 deletions(-) diff --git a/drv/b15f.cpp b/drv/b15f.cpp index 627e3ba..427e6e4 100644 --- a/drv/b15f.cpp +++ b/drv/b15f.cpp @@ -278,8 +278,9 @@ bool B15F::analogEingabeSequenz(uint8_t channel_a, uint16_t* buffer_a, uint32_t if(aw != MSG_OK) { - discard(); - return analogEingabeSequenz(channel_a, buffer_a, offset_a, channel_b, buffer_b, offset_b, start, delta, count); + throw std::runtime_error("Out of sync"); + //discard(); + //return analogEingabeSequenz(channel_a, buffer_a, offset_a, channel_b, buffer_b, offset_b, start, delta, count); } for(uint16_t i = 0; i < count; i++) @@ -293,6 +294,7 @@ bool B15F::analogEingabeSequenz(uint8_t channel_a, uint16_t* buffer_a, uint32_t std::cout << "fordere neu an" << std::endl; } while(!crc_ok); + std::cout << "OK" << std::endl; 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); @@ -382,8 +384,10 @@ bool B15F::readBlock(uint8_t* buffer, uint16_t offset) std::cout << PRE << "n_ready code: " << code << std::endl; return false; } + if(n_ready >= len + 1) break; + end = std::chrono::steady_clock::now(); elapsed = std::chrono::duration_cast(end - start).count(); } @@ -399,6 +403,8 @@ bool B15F::readBlock(uint8_t* buffer, uint16_t offset) if(code != 1) { std::cout << PRE << "read code: " << code << std::endl; + tcflush(usart, TCIFLUSH); // leere Eingangspuffer + writeByte(MSG_FAIL); return false; } @@ -419,6 +425,11 @@ bool B15F::readBlock(uint8_t* buffer, uint16_t offset) crc >>= 1; } + if(TEST == 1) + crc = 1; + if(TEST > 100) + TEST = 0; + if (crc == 0) { writeByte(MSG_OK); diff --git a/drv/b15f.h b/drv/b15f.h index e88e0a1..870fb1b 100644 --- a/drv/b15f.h +++ b/drv/b15f.h @@ -55,6 +55,7 @@ private: int usart = -1; uint16_t timeout = 200; // ms uint16_t block_timeout = 1; // ms + int TEST = 0; static B15F* instance; diff --git a/drv/b15f.o b/drv/b15f.o index b909c96259f40513a118289a25eb670ba15cc0ce..34cee543966040a4cf3a590248598a801e5bef62 100644 GIT binary patch literal 76536 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 literal 75208 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 delta 20137 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 YugI)D1<+diqR% zS^zjy(l7~6SU6GRa`l@%HGlZn?e*pAzf0lTx_4@NZ5-~$-)E=)JuBDu{r5rhAdDgD zp;RZ6EDs|#IUckolQfsw9(12N9x4HKDI74AhiZ@d9t=aFB&kj&S&Dt+P*br>L2r{! z9mOu{at@hFu|vV2nh`Z^#qzpRs!8lP;sa^P<0a+ zZStv;pcYU!!DyIZgJSlWebQ3ik7SC`I+-b?m14{$C&k8QicK!H2O55gMu&nFo4XXI z*rJ%d6lOogxXdt7&#>Lh(4rj{)6THd$>7qiW`^Bv2G7s1r;}lCkiqX}*hjv~Fxks6 zW#pKpIho@mMP`n(bk53g-p+A>E;>0byE(4V)pm~Sbi>aPYXzPe1>Vs|Szv*_)C(+{ z1(s;pD)60t*ad#luN6*#-)CgcJ)cDHipX_)1Gd%gk@JR_Pkuq+4UH(o1^XXq7(e2TOP9K0Tm^^oSnQ MlcA@~=akZmKik~8zW@LL literal 1072 zcmc)EO>5Lp7zN;SXC^a~*jt-w3WG$6lF`&eO*M;I1PM0SQD>#LyA%}!L2)IiAN>#6 ziaWK76s_RaT@YNl5nKeS7C-k9+=!k!(}Mm10}tnY!@Y-V&RtkI>&-2kyL5RlD*&9T zDVTvPI+)kE{`oF0-aUPOd3*iy??$w>_ZMfk#?g8FeRuZXyK?*7e;-sALXz&HMs>qQ zqeCWVi)jxjjtj+e(ex>B(dtpiIT})97wx_abwElCp~k35GGg|{sGCC#i@O~|amXV- zW?#%c3S+b*iespKQWEwgsLO$=JI|&*V*$I2dOVFg2&!kpBy#(!WBudyvg9MtA zvXf+rx=u!l#wL@j6ip{Z%VYW}+C2&>N}`ges+vQSq~{nja>!1Oag(eZJMEzfC&z@BL#Iif0_x@1 z6;hOAcbvoM(;&x`Qecl-V4o~t(SE(a0i%H3DbS^ZW`RRifoZ$IVXuJa7dR3WIMyq0 zG-O5v{J6kzr9_|3s3qoQi9|1P#VB#LQ{tLg;<{Dhrc>fpP-2O0_lE9-CGJHfmX!)C zYK52dN>+G7Z}kf6^p4)s2ihgw~W|X5<7j z(4<%%m*W1U6sz=<*67)k6fZXImEv_*iuGwJHt1usD?ZZ~`byulZf$A2TYExl^t^ep Q_JAJJqmjqV70PM#Hy;bR)&Kwi From 2a8e3061dbb837c2e8daa8f00653c8292ddf06ad Mon Sep 17 00:00:00 2001 From: Tristan Krause Date: Thu, 28 Mar 2019 16:04:38 +0100 Subject: [PATCH 19/32] Schluss fuer heute --- drv/b15f.cpp | 61 ++++++++++++++++++++++----------------------------- drv/b15f.h | 16 +++++++------- drv/b15f.o | Bin 76536 -> 76592 bytes main | Bin 67264 -> 67144 bytes main.cpp | 14 +++++++++--- main.o | Bin 13128 -> 12480 bytes 6 files changed, 45 insertions(+), 46 deletions(-) diff --git a/drv/b15f.cpp b/drv/b15f.cpp index 427e6e4..0c41842 100644 --- a/drv/b15f.cpp +++ b/drv/b15f.cpp @@ -151,7 +151,7 @@ std::vector B15F::getBoardInfo(void) } } -bool B15F::digitaleAusgabe0(uint8_t port) +bool B15F::digitalWrite0(uint8_t port) { try { @@ -164,11 +164,11 @@ bool B15F::digitaleAusgabe0(uint8_t port) catch(DriverException& de) { reconnect(); - return digitaleAusgabe0(port); + return digitalWrite0(port); } } -bool B15F::digitaleAusgabe1(uint8_t port) +bool B15F::digitalWrite1(uint8_t port) { try { @@ -181,11 +181,11 @@ bool B15F::digitaleAusgabe1(uint8_t port) catch(DriverException& de) { reconnect(); - return digitaleAusgabe1(port); + return digitalWrite1(port); } } -uint8_t B15F::digitaleEingabe0() +uint8_t B15F::digitalRead0() { try { @@ -195,11 +195,11 @@ uint8_t B15F::digitaleEingabe0() catch(DriverException& de) { reconnect(); - return digitaleEingabe0(); + return digitalRead0(); } } -uint8_t B15F::digitaleEingabe1() +uint8_t B15F::digitalRead1() { try { @@ -209,11 +209,11 @@ uint8_t B15F::digitaleEingabe1() catch(DriverException& de) { reconnect(); - return digitaleEingabe1(); + return digitalRead1(); } } -bool B15F::analogeAusgabe0(uint16_t value) +bool B15F::analogWrite0(uint16_t value) { try { @@ -226,11 +226,11 @@ bool B15F::analogeAusgabe0(uint16_t value) catch(DriverException& de) { reconnect(); - return analogeAusgabe0(value); + return analogWrite0(value); } } -bool B15F::analogeAusgabe1(uint16_t value) +bool B15F::analogWrite1(uint16_t value) { try { @@ -243,11 +243,11 @@ bool B15F::analogeAusgabe1(uint16_t value) catch(DriverException& de) { reconnect(); - return analogeAusgabe1(value); + return analogWrite1(value); } } -uint16_t B15F::analogeEingabe(uint8_t channel) +uint16_t B15F::analogRead(uint8_t channel) { try { @@ -258,13 +258,14 @@ uint16_t B15F::analogeEingabe(uint8_t channel) catch(DriverException& de) { reconnect(); - return analogeEingabe(channel); + return analogRead(channel); } } bool B15F::analogEingabeSequenz(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) { + discard(); try { @@ -278,23 +279,21 @@ bool B15F::analogEingabeSequenz(uint8_t channel_a, uint16_t* buffer_a, uint32_t if(aw != MSG_OK) { - throw std::runtime_error("Out of sync"); - //discard(); - //return analogEingabeSequenz(channel_a, buffer_a, offset_a, channel_b, buffer_b, offset_b, start, delta, count); + std::cout << PRE << "Out of sync" << std::endl; + return analogEingabeSequenz(channel_a, buffer_a, offset_a, channel_b, buffer_b, offset_b, start, delta, count); } - + + uint8_t block[4]; for(uint16_t i = 0; i < count; i++) { - uint8_t block[4]; - bool crc_ok = true; - do + bool crc_ok = readBlock(&block[0], 0); + + if (!crc_ok) { - crc_ok = readBlock(&block[0], 0); - if(!crc_ok) - std::cout << "fordere neu an" << std::endl; + std::cout << PRE << "bad crc" << std::endl; + return analogEingabeSequenz(channel_a, buffer_a, offset_a, channel_b, buffer_b, offset_b, start, delta, count); } - while(!crc_ok); - std::cout << "OK" << std::endl; + 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); @@ -305,7 +304,6 @@ bool B15F::analogEingabeSequenz(uint8_t channel_a, uint16_t* buffer_a, uint32_t return aw; std::cout << PRE << "Da ging etwas verloren" << std::endl; - discard(); return analogEingabeSequenz(channel_a, buffer_a, offset_a, channel_b, buffer_b, offset_b, start, delta, count); } catch(DriverException& de) @@ -399,14 +397,7 @@ bool B15F::readBlock(uint8_t* buffer, uint16_t offset) while(len--) { - int code = read(usart, buffer, 1); - if(code != 1) - { - std::cout << PRE << "read code: " << code << std::endl; - tcflush(usart, TCIFLUSH); // leere Eingangspuffer - writeByte(MSG_FAIL); - return false; - } + *buffer = readByte(); crc ^= *buffer++; for (uint8_t i = 0; i < 8; i++) diff --git a/drv/b15f.h b/drv/b15f.h index 870fb1b..aa0c9c8 100644 --- a/drv/b15f.h +++ b/drv/b15f.h @@ -30,13 +30,13 @@ public: std::vector getBoardInfo(void); // Board Befehle - bool digitaleAusgabe0(uint8_t); - bool digitaleAusgabe1(uint8_t); - uint8_t digitaleEingabe0(void); - uint8_t digitaleEingabe1(void); - bool analogeAusgabe0(uint16_t); - bool analogeAusgabe1(uint16_t); - uint16_t analogeEingabe(uint8_t); + bool digitalWrite0(uint8_t); + bool digitalWrite1(uint8_t); + uint8_t digitalRead0(void); + uint8_t digitalRead1(void); + bool analogWrite0(uint16_t); + bool analogWrite1(uint16_t); + uint16_t analogRead(uint8_t); bool analogEingabeSequenz(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); // Serielle Verbindung @@ -53,7 +53,7 @@ public: private: int usart = -1; - uint16_t timeout = 200; // ms + uint16_t timeout = 32; // ms uint16_t block_timeout = 1; // ms int TEST = 0; diff --git a/drv/b15f.o b/drv/b15f.o index 34cee543966040a4cf3a590248598a801e5bef62..3e69e16056f030d9ac3882d97b9d794ad3fbc891 100644 GIT binary patch literal 76592 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 RQ?mTK`Z<(qT^HT?{|^Te&cy%# literal 76536 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 diff --git a/main b/main index 4ec05e8fa98e68887021a670c1c54778c56a66da..5e14dec20077396fcaf410f5eddf529ef54c0231 100755 GIT binary patch literal 67144 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 literal 67264 zcmcG130zcF`~MwaaNHQ`)k3ozZ7j$Q)G5@-QsajJ*!bsIm>%6OH3t<=UxW265$>iPC%CdVR4T1jo`m;IHefR5Xq=hY77 z2o;}JYW=Q2KXnMAS6zvLVCxxCuYCoiJrOr$qWzS?A|_piVG4Uouf~T=Dy^9rDrYu1{=ez4%DKG4*tA z68>v?gQcXKq|3V#YzqEo0 z>ztlzx{X7#u)imP_{=b8qM*QV@K4Y-9DGlw@bD>+Te$XbMQHDZQHN{43xWs-zbgWt zB<*nRZ-Vf{!RG-_|1fg+HUgicBJlHW1pKQaz{f?v-#@~*7Da%+2nPr^E+qo~ya;+Z z6ahXn0^Q*e;DaK--;SUcXN2}YMd05Z!EOT)?B_rPJc}dfWp{-3dn4d~C4xQN7eSuS zMSy=2f$r=G@;MrT|IQKMrU-WOw+Q$TLC$A{@r%L;`0tG%hw%~QHZB6)MG^3v8=?LC z5%8ZK0iGQJPp=5_c`E`uB?A1m2>fS9u-l6w$n&fScJe_4{P#w%pT5wcEsP$YjnMw5 z2y~YNN4Pjs6+sSPMv(uq2=YIUafP!t%A?`<9~A*!9)ZsnA^(2TSyK6H0$UB*(XT(o zOYq|=oboFDaxpG~&r#<)2?8wr3;H7X#yvI;5q~Ags^U*?*ZzDJzE^Eu!+S}RqT

1udx0zdtwIO)(3(GX(czclFU45_zd+iTwq9(PGexrQ`l zxIk7|T;iTvRTvIimLtEUtkTVUx7gp2Vh}Y0i+GVl?^Yi@??<^IY*~4Fy3@Z zN-`I0-rV9vDZ_AFS)7|+l2=)o>$$$%om*U5Se8ZjCr$G>@(Bdlg8by%#l;2gQk*aL zXu?brLV*4v$vACibn!@Nx04ONQhSs6)yxh64uF~B6JWqZR zPE7L~gUWGE4rD$;m3g61QCQLP z{$=F+ssa~gWlfz{mVvu86G>8X zxd;Ar=1B^9

&qNc{1f8iRB-pJely&&|v_l{hsng|mS0ABGRdI| zmcN+tWQs$jEWd#AWP(FQEI*s_WO_rnEI)(t6De8VyK_xZ=^h# z!caHMUq^W|fuW5o|7*&V=?itS{NHb{4&auX$w`b z{Kb?flNKsv`300GQx+;>`Pr1GkTjIb@-rwujq)azKacX$DQ{%?$&~*E}bLirfWPY&jvTu#aKH6YkZ3sNyaVF1(uP=1TbmTqQ5YC3Cj3@5eo`oZa>u#C+{ zA`eU-3353&;W(D$Ph+J!GeW08`Zb+kccx0;%IV*@g3*7%lKinM{Q)${=trvbv>w3! z0ZzY_(+^TJFm0iyRr)s>f??5m0R0+He;udarqbWY=q>x~{@s_!{`cgz4~9z19YOuK z2-D@@*fy3-e;Yi)6HY|kFAXQbAfx{mBC}8q>g~j^@R02P(DyT#+5?v(3sXDx((pi3 zK9}~8m5t_6|0v#(QH)LYVbqs*98Q(}L-G#g0$JB9?>_9y0>dW+!!g8Am3KV9*6AcZ zsrekaZTfsvK+n*hF&Oq8$SGsdeMQC)di9ThPDj;SY2v=<0ZWXB$S)1mfFhc=F19YR zF0?`z_qBc&4wuQ-e0o0&VznGdJB=2q?6*B*=~jLTC6@gi1t75pOU$|Q6LR_DIcLj@ z9o8o*mr+@8Bg*7pu={Hy{*Ep|Sz2TBJIn<&hW*{vt#e7J{*G><+!9U=r_u?E+}F_w zfI5n@PguQn^EzaEJ8nbn1VeTQbq$4wMB)8J+t+bFvg9nRe_O;Vzv%FPEc>4aVb*@? zXS?|s#$_w$q?!`{&Hcotuj3gc_b_kPNy5U5lWb1Ue9yA_S8dL0?Bv1d#<&5kYDN(i%b5F~r|-8&WxFHG*YV zr0{;a>+RTrWGrStMyJpNHUk(XCW1zRf#2Padu8qn^eFHoD-ISL<-$InUb+7p)Ct^8 zRjpg%oZKblv9SH5-M4Yj3fAXH*~@geDY$*gx!$?9Zatbo5!D6;tx6eVZ-LUtn34Z%`YphI0!Lpetao;_-^WAf3yZL@=+b&%j8`OAf+YciR9cRL%!Sqy6rKfzZ zCZDsR&fDA3g1k@mKiMF-)AI4Z2n%8Nzl15M1x&GLZ^s(k(b^>j%0~#fp^J=JWSLxZ zkPON!W0bwa4{IJ_&FflwXJz?@b5^QmM_4-i-^gt{u=rlW;yV*u(G;z1vR2GwuvIyZ z7pS&`Yz|+p-+aYtED<%xZ1I8tUQi$k$nf!kK3b$f^ z_V)kYi+C_5g`ka`+g#?`whMpK zO_GSXHiv&dm~xla!2}%jb@5)UgJwo}JXGTI)$t6?O4QT!cEtKJ)q!;=obDMkFU&RW zG_DLBxz2QuE=3*Na8Cxx7N#p5q>idz`wu&^WKK*Oc|OJ)WIoEeCEk0eZi&{R|2wQc zvM#d!Fc&lVHN{Q!g^%;^5efpm+;M=`4Rdo(k(Uz|m}FI>I;H)Io!rzUEIm<{+o`AM zMUDS)jo*a$;vMFwB)m?E@_Hi1)xnAEk9A8m{yB;KN9%cs2mZ|Gk%0?uhh84Jx3ec< z`^zZXh{JDhjYP_J~B-QWvd#(OnvMOI683Vgiqd^*+hy~jPD9vf=%e3rKckKy|Q z?u=f>!G@vzTAJmkqnk)BuBPz7syF?g*X#}%Hb3ir_6qps9igLwY5rhZtFF7Iu(x?z zO~*msX1Kyl&zATP!Xd&rDs}KY@jh{XVxRa3Hl4yJvTk&&VJA&}2TSt+Q zQZPjG|2WA5_;tV)J(f4K!svIA;s`vJIt0qO9S05V3$P%ptydRdTzeo$t6}@9Vv^L; z`>0Bv@+PrqW75Soh^6xMS5e8(aSv_4g4}Ix9p-~?CLgTvj51%tcE4D^aXxq%_OKCC zuUW?5f(vuQkrtR6X566_4zdc&izoBMZ_J1?ZtH>H*$d;af%>MpVP^KY%UjQJVGg5C z*vD~UP?_mvUYmj$@G0QtlbLRYvoI_0WERKoCxv17S)87GVD29nKAz*`OW=%z{|(a= z1fJ|7ux%Io?|$_B6Ardg1?GR>V1UN|8anQ#_F{do!~eB%4lxR(Ln&TOQvJ|8oB;rP(0!B8Pugvf@bqM z&BYXZ?D>TH*ryB)A`Rw$N%|6;z5wjDQXsA3g*ybT+V)DkSB8|<` zG`3PS)`rHot@#d<``v`_YmEIj8F1^2^Q886}6&nsfBbh_U(6BaA8l3)( zn-A+<^diZyCPi9$Ow&@XXi28w1@j$N#_mC|hTXArb-aCmEL5df#a4eHv4*J6g{*tlpXAJN#mNCn6Ia z-@0f$I_HgTuR>d|3>n1@a>a~)$e#FzdZLGM@c(5LH3pu_qA3WrQFzPk@CKURz~2sm zKk%rXU(fM999Jk|_SwhrEgXL)f-mLxZ5+Qpf|oG-iWV?m7Xi=VV38aw78d>lj+lVJ z4AbGvXoj3mrhW7!p&ve`VU<8})bl(HXb5B4o`P*GPGy(KfdWf6j_$^YqdSLLwmhpW zM7@q~f2!g7c52=Kp&xsx&y-9s@8~vkoD4Y_HWiNvG^JqoKVe@{0WsNW-9IjGo=)R;MLN3H7A7#yxIoP5BBj=BGGA@o4F6l!jIywBiH-PT+_VWD|j%VlV$LGHY)T z1(xN>==0#wb9du;FCuan2qLVja6;14>N#r8?166^@J_8iDe=plg zs)hEl0v8mm^O?uULHwgU_C9K~9n!J3vmyfAM{qFzmT21n*64)syzO0=@!>6uwta?Z zyAcq{Z!3I_Xs^Z}X|II0mlD_BRlL2K(e{q#?QIwZCc*rLqP-8944Hatr79R}3Tsb2 zn?Te9!_@ZaB+aRNi8%`)&vWQs>lI@VqvWDzjIeRAM@CO3!wpzigtKEn+`TId~rp{3Ud*pWRT`*+yC-bagH-to-^ z@{VuE$=T2OcdYEL_P>TbN#WCmAX!N)>256h?Z@Mpk+K+7JG!m@J|CX%_ODe}=u7&f0cRo?G~#p<@mtA2^?cFoJcuWF77leWc50 zu*F2>>8!lB#GKx$eE3gwNG#I8RJ{LPI6N)vy9l#0tAHkH`fk{gt?)IHvYZ4N(07w@ z2~K!|671sTz+FP)-!ilx1YPSD1(NSF!}g|P)c!4~l*8|!B39Nh)E$_LjEG-0bUce1 zP*9_)pioc588o&Xhf**!4BXIBk5$5yE2^)16@_t2MOUuJX{|Oq^R0ze@ijt+6I>bX zG}d7LfvISZE91x5R-twSOY%>?2;+eS9>FMijbnL@?r4q2K|1(?@E)~P42!xE6$S?t zH@c&k@ei;3CXG3m-xjUhLX~gerQ3L^D_VLnN<$v>cCc&kcklfLkt`Vbhl|pf<|~4l@0NMX*zbO+Dws)Em~nMGEl;)N^Fx(ew^^ zi|P{OuR|J(USlnM&FX)}u=XL)2d=_i+M!x=KPuxn_Maf69dx7=oW6XiFy&-~zJ-JW zW5@=T0`|YC6hgEldA^^9*6F#Oh1MxpkEC^mb|3DT=3!pey+sxJl&-hgD+K``GmLq{ zF#ZLUafT5iRrQO+Q&UnnU|9P!7Eb$H!D5(6Oe}TFTaMJT%*<>s`@Nr3 zR@s2ZW|ki7I$PMkr)}sr2YX-`_82z3wfnnBz67%We`_du+P+{mhgkW0c7I3hw9^va zJ=pdIHwY9ul6H<`J%Z>X9r$l_D47uqEX-h|ZTnW|D{K3<`sxvVHn;#u>gaBUdGMLX zsn%#*SXulg={Fhbi4Zz_78tS}X8w`e0;p}rjQ~QYVsLyP3KmDJERH^`jE}Gw4HlN} zke=6vlC8zdG|;A$i=ku&^gy|d^dq4EoYsAC!Y7o(o3k50$IRJcVa|4fN;&5Zu2{3s z7@GL~50u6E593Gn=rA25BN8Kq@Rry{*Krzdlbpz?&nZ#Q6sgx6SI-xW*s)fOSm{NB ziVo!5h^(f51oKUJGAk_F1PmJO|Bjjt=FcxTF^jf0Qp3h;e1`XqM2+`B8nI}%uz~GY z{)q~MgWC6R0<+S3w0Xm(S!1;J$G=LMJ(s_K?{?bZT@tz+sK%eOH%;(5jWhi2ps>@`Oi+V21-M{qTwqOa}#FO`p9hrHVk8SJ!sNHecKkL?8N z5DAPouPe)v{l&)K5^^RnF0Oe&jCu8#^35JFjE$pv@hTAZ9o%iD1Ut}X-v=7Ja8bJx|Cr5UfKV? zVny@Vx=(ljN@d6%Zyp?r_LSpaL-b#e)(kP@9fZBg9LgUG`#!=+=aXaslx#eBio~Cm zgLDGAmO!{nd2pO+kCo?Njpg?p<%wTW>popGyvoN)3s#RM%=&{KUW{%jkAv!V zwsQo*j!&|JXBmqOoAzbDsvM7|aQhWiG~k}nk9mrSLwOswR=haYJhG@jF|^-KfMJs>b~RQTj>40{QZrGsgTioBk&$b`LNs7A_NJxKB6s8E zP$i8|kN+Gr7@U6kLfAI=HA&e9amxYy1OOn-q$Jk1`5KvBn=b6yr!W=D;#X)yeTtWj ztWQ}^DRi0k6KTwCHlGV!Hbp`;n%HHmC9--MII`7RJ>MTy>os_{G8$ycOroU+(>=;V zOlkKkr?R&8Dl3uK#xoS?FHb9Ds)D&;s_K6~X1!7{^8p?Q(7NFIGZRmoNNPC{2c05m z^e6C-SpE4MguL1P^A2hJ;d0rtfD7m{{2?}PGu!-t*zgO4L3bqu*Yyy_a!Iy z^D|n$KV$JAZ;eHTOL>dU)MEe3jElc#JFRcUO3bTz{BM$^-QBthsba^sC&@bwot@q9 z?q0Z1lCpaYo8R*PQ@K`jL?Y^lSW2U1aoa#i!i}r)gH2+uZ@hJ6x zrv7z2bf7gv_s`>=(*Fa`X&6P63-i;F`t)Q_t$(Ygen8Z(N?e~cza6_qtgF2Wdqu|& z50MY*PMUvSPIiULf5Dku5}KfvN7|>iZq)XV1({(p>;9FZ`45n4yRX`xNPXtj)$!BA zBVK=+s87%H{$+g}(?r_874^|w5}^{Hdk7x+OD+xl@C7?ni^`wkd;hcawj`cg^3FJd zc~DP^^!H+oR^ZGiV>_Ks&_3Si@Q*Q<_)E-VN&B04iEt6s;sd7VGXy<~bXwR!k$M2_8an7vKuyO! zpRH}5&Ve?w<^|1@4Vz&n>t>|P)&1R}`-;WOd*Ojn5HqJJMhq6LYOLtlVI>7Q+}aL1 z3O{V#Lrs*jCYmQgJd;>ZsM;T^6Prc8KJ0K~cJ9VbhH+K4?FP?ae(M<|kDjf^FuC+8 z_YoXO<+ku)_VAfKkh>1$^z6m=b9$Uajm~+AI@PCC^&=gAenP9bmN8?`O~&F>HOBO9 z0|5*62LH;v#q-23nE!q@b%>of{|tv#u$sTe)*1zWn{7hDUS$dvvvMMF<{mwj+DBt^ zfNRzx9p{?jt>HB|+LI*TrLzBk{KQLNm%V@Aop=!Be_!75NviDcm%n}&cQ|Q>A9BA; zZym_lugUI%MKcU&8oDrebi^Mkm%JEjF9Vb(dl_dT(;*zwB|XZS=;smkZ#vp!t;177 z?r8gc-u(EezAJD2J+}SP|EB$iAYV=Uv|b#+tJ7%3uotATX0G{k9ktd+Rs_i`vKDCk zN-ToDSw_m>6c93vKEi0hBa8!hqC=;H&*7<6P!6|u58)~#8GV$R(w!RYc5^4d*E)`O+Hr#y5U>(`5l67a{9c-|{YAI^{0WDRV zm-Lq4Ig!snJj%ht3QZsqIk42cgl%0Mg+q>DmCmQ9HCJITd}Y;UIdG-fXl2U-4+dXG zAfgnI>QKeO+Yx^wzLf(@GUW4@7!Bbt6Jcb-+M?f1P=W!#^PF6yM0X z9XJK}itUkqFv$Kov&nF6AJuC6L5CG&==c^H9{C!nB7#Wh*vgFFv`Gjx)W+I+AP_W) z&Xqa}zxFLr9>u)2)|p4>=mc^EOl8Mz?9gba^!#iZolJD>q;>)ha|_}QF&V_s(D4T< zxMn9!V~h^0piD|E*qm>CcqNf-^8N@-c zH?93YzCa~>Y@w4-F{+=;YK#Fi*bnkCJ%69~-&AG}8&l9Ws z6Xuw(*vCo;5V5{XaGJ7}6b}IoVwnv11{8jD8U(xL1i+S;d06ujc+n9|sXe$5-7BZ5 zLKsDGn+aXsugt{2=n!C%Dvm1DQrpvz`s@5X73CvpAdKC7 zr+WTo_y4f4%pR<#y;ZGdZ?)bInUf~O*z6^k^>Iux`BkS%(pJnoqc$L*ek;z*PlySQ_KpKywjUn_Rq(>d+0*tl^9*T~CLnhYe(QjD~9;OJiAV zT;71ahX_aDD7%Q&CyD}S`i$PRT*iG8JNA#6Ha(L?{u$^TMA9dV?S&&a{cpHe7BTVY z|AKpRsrJBK;u#Chvc=~4Au$~KUR%YFm7r+LJ^~@>kQPtM*Optxb+>Col>)A7;{g@krQi=Q4 zE6oO&#(A*6B?SY94jXRJL=A7^SJcFty-*BDR>JOqSj+}1d)3Yo|9i+Kj{B|IJ8g!| zAC%x^VZCVhrVu`55*%Mmv46jz;~jW4TRRs2XJ`=ev|tfH&@awZ_m$OXS`O%+1i)wf zVKL))tLbsn;V-bf2{tT{!udZamBYJem^lB3SRDS(NUtwBgziSCvX00`5c6Pu78+F} zHdskz2(`%Mz|`!Q1EugLxysvw1@qI06p9A@MNG9z*%eC)Bh_G1Hgei`OrT}k4^De~ zEUgUMBBhLgib}XkjR!<&MAxcJjZoz+J05ZQtoI!;78 zh`MSuE)WKrt!YF1>G-%=XfJv$&Y8#qgY6B2e`NbGYujf!I@d6?)4MJq1=KVfce7?_ z6JPvJY$R)Fw{aSNbXmYM`;|IYfjq~AqlVR>GgpX!*Ej_8NK5cM)UXHWq2h$SZ^yUs zJc|K7<~6ocbutokLiRC5GM6#&lNly^M;@>U9}Z#fU-l_F2%6j(Y%~f(r+tUTaW@G+ zIKB6HtoBEC;vVLkIS5!+?vT!8)3aCk0^L&nj0_Lc%|sl`{{ilosZ@{B$X3FH??~vu z{P7o8B{FRSx&iP;#>RwFG zVg_lY&IQy#PGMc$yPfrW5i&I5&oJ_6Y{%oqVdvE+pP%Hsdf;j522LYh2b<`5_2=g$ zq2I{qmHSEhk@M>3fJXbkKN)!>=hfGtnIz}c=k7oQ|KaoMe=zwaIj>$t4bmDPc3wS( z#vGiUp9O6(5fxuM_c3npe@LT)hke8u^#R%cn(Tj$K1c&)EW@ESc5n*RjrLR>rC3G| ze{cyB-|6^3O9gHW*}(>uENnGoU)pKNc6AxD>o*#*o4XC!SM_T`uZ~HeqvQUWC*s3f zMr7o+fuX(*x-+4PzK-#@!`Umg$UEhr%}C)lBH@lKA`N!rBC)r9I0VFmTj-EA{IXoN zhZ$iWG~b;;G=4lLD5lW4`6~GQg_3n03nrhW_F>Yeu~St$B5Z7&vY_q*%}epZw8B2L zbgAZni5z^K_%Vy9%qL+6ZdMzx(}53*mf>0Zl+T}{QrRipRs(`4Zf+gcaw@1 zsZRmqfENq=B=Sn9GXJ3QOJ^~^l!^+>FWCbV&13{lBUOh12!+s2 zLvj=9?*AGrr&#PqrDB8pMXM>@9 z2r2H1hOkjP1f7$5!Kba;gv|zo+UuJvcf9QT44lz_EquTE1Jq;g2O`?5Gy$Ef!(*FftQKr>F$;KiO+21(`0H^3xe;T8KPcdC ziaz?+19|K;p~2=`2Okl7jv1w`rwLn6yf2OwLx-XK7$9BtFT%Xwgn*=iCH1>)L_iY{ zMKIAD2+$xS`(g{#-fw|2(lx?fxXW4HG!s@{ziodecAMIa4kUPHyANY=eOfvIzL1y9IdjCFi0bx^&B0;>$mdx zSDKB!e&s?`8hlo3O-o3P7vtz>vC(%T&DEGdx zUuWUU6AwMeFYIXj*slD87A+zI$C($!)wm_Yem8*7vB( zbXLIDrEi=SHp%KAfg|M-a~ckMXQjz_IYBP`&d`1=YC=)an>X;$IyrlX?0<%iC3Y)N zjhX4(jy-E=r!U_w!RJTXcHpl!y~J<*7O!Q@Jd6*ITMyIPctbAyha*^#?yHuAbHMJO zc(+hihjWI!`xEqhxBLW~uyFWS^2yK1!7&RQ!4i3l!~bri9eVm7Z3eBdM$m?%a7Xhy zIPP1JIyY!8p?9S9%9~p?is^!hs5eH#E~bRc?mkI7kkI>30j`HzgpAK%db5+O3#m@~ zi=-wi_oat6;l|+~3jG}YrSaO^4y7B~uR`t##_S@2!_@=VMesLRBkgDp`x5^An<6@B zHrEAq=;}M06v9BtO)7zh09u{E2(&L|72$2pR~=`b6OrYEcJk5RIsA%N9nN9%corrV z#(FYkxH?cY{0~T74wOM1cFxs(=o?23$X|LW?P_d9|!!_!h% z>+u>#ZO_88r|6K9mcEj<8I5CqbQJRZF~*H-LMP0bYQk*gZ?GVNVX7mP$9Pt%f|>UN z!m~QAk2U_)E41&AAYT`k_r&EJw0XI$uO)QrCU6w;x~A_o8f!Zswtlba+d_F?G{1-P z)zLh8+E95kk27~ER3h?$S+VlK`!2QG_6?h7#q=NfnEoRl(|_b+`Y)az({hZ7e%L!G zh%)>m9D$k^Iq$bUVa=SE>Xk3Wj>bb|1R#S*eoO(&+U)=%kf-{qjkjw8pTB8LA-&-Tc2QD zWpcoiVK3Zg_%*GU=CNv6&f-luknRYsg4OxL5p?O)hnqeG0gH_ETr*4iNRu5LFJm1{ z#dAh%g;H@ql+jy)Pm0iy0~%R<(%?O0|9jK20kLB2(M)Rbs$a{2(bUow1Nvewe34oz zMoT+a{e4(Vhu8#COVZ$@%mpg?jgUbw|7dzr$KBtfe<7(%C_e{n1oL;DfduZao~m;9 zH-oCc&|U{9>hCGe-ij3}@g4E^v?KmX4z6y&qm_Y4U~vh=KSo0)xtv9H}cKqa^g+3n^b+=Dno5PvQOP{L^J zfvXi+w-??{S;-`;KP#K$cm+ZwY_PD$oFx0(8Bb*^2|Cz>O&jmbc~l|L%&520NsUs# zrh=WXT+Z0i!NKz+w1dhEptfVXmnBa1_bP9K+D^|K?bzsY=2i@q zI@m(ZO%Pxg1G!ER{sU%;h`R+&8bSDn0v`}KDFxww7dV+pd*CrM=>_4B3!F?2;miU7 zzngIAU;*&RNY?=zH1c?io~!Lu(jO+>->Y~a6?r<|O_8qt$R5C3^LQST;V9haTcyT> zv_fQhPPmC4X3-0A7b6$U>p&gqiFM?c5b~GGV-FF>{mMk5-9ALj?-kI`7{uOFx?Vu( zQK~BlYTK0#8_|3tX_(?CgjA%Pnh5IOINc1V5TAm#y-Ldn9?%k$5Z(*heA!YazWCG;a`%8M^@G1~v_N z150#*uTo{tgJ>GE9HQA_Yi^g~WBp!)e(S$6oA_$Qh{hWSu^DHNHO3J&YHelduEE{x z{X1^I=r|8A^U!k$nm4@cV$_;2ez?cpIN2-v>6myXmUBas%s7WMqMwEI-5N5mj(yFx*fXN$T*Qqy z8|py}dl`5uR>6a+(imCYF~kp}d3Tl=BKSr`66bMbr10j=4V7(Ih$rMFySNe z48i;hL@Oi2yrRLksS5gQ21NV~n@7a#=dk}siP^twq8IujU#}_7XW6-rBY4`2C$q1f zJo_`GWmf+WcK<;~_J_0qlz04)s*JcFjo}qPd@YTte>f<^%Niwg4nF>ENK!|K!Jk0V z;<*z)g^M=$MGquM{6K+Q*qs!q*}1$44>KyOtLVu|RV{uSr6~txbn&0E;Xg2T-g)%X zEM58h=BHJX;W-1VlOTWV@NE|00&)nuCGYV6s7 zuZR(3F?0_6ND@&ss#Fb?jg|E-{EnIwLs#bVT`mY`R5n*P(l2Id+tZYb=Aw+WbPgAO zsEv2a+T64pKVjC?&|Fi4-y(}`PeW(J@2e%HBayjXJ@+IUsQ`qqnNo<;gKkqFX z`*W5Fzfx0I=Q3&f>v1)kYF&-Iow8xY^=_ZZT3y+IK@nL_PL2s}MeBoMlh0HGeOm5n zf`luV)3E2cngO$Rn(!k!Ca4+arm50*`32JaInw-QpUGQeYFgu|l1eH~_`S5{CYNt@ zWs_-@tFg|DX_ro`mS%V>8>>xr{GJ=*?`o{AtgG>z$Ao5*%GCyh;91YCix!w>x*O|P zS2ji($H+|0_4sFDZKG+DgxP{T^Gh1tXe+5eiHNRF`YxL2Mel;r6&=56Wu?bs^0=#N zeJ1>BR%N3bzrki&=vm(Es`I&*LuwZ`S7H%(eA30ursa*^Cj8Wxsf_&;U{2h+<-c4d z<(z}>NW_C|)7fXcJ*F7lvo_Z>HrJR|L8P2UbZt&Ee!k2D4Rp1b>R}g1;4`p%&@Iy? zxo4TCPPxB0NePgA=)pNT(sC=b&{+`|=?h5vkt#@yFMtpA{T^v2QZx1}^mzjZ(t%gP;m44+z8Vhip}ov& z7%z544fya8{YXnE9?;SEDHgpO4&OxSd*~nfU5fO38V6GPecx`Rd6d2n9DGb4q8;$* zM7k8IF$8{ichfkCc9G`p3y1GVT7+~P(k`R}NH-$=5@|Qm3`7k5NGBp4K$?qm2x$pY z=`-j7QX|qjq$Z@TNOO_igtQ3h{YXoZZbM4n9o3JNzDMi>q^(E~A?-vu2Fs-jsR?Pr zevB7s(Gc_tsqu5vM>>FX2v{LTdgdk9)0)3r#NYFU_D7QGL7p~teIJBQ>~e%wzOH98%?Rd zPs!Y3nvvO!zi05*Z@LWVWur1pphF*LWMh8ZQG*a@+vCA2t9>m|a=;cMGr=fMpXRlN^_Vn*aXND<~U489qxc%G|7s=BXNG zX?@}F7r0Nm3X20{xjtn^W>zqDMy6?fnl*FMTD>hZw=I2EW>Jb~RAw#^j1m-}#3*Ks zX20k3F!+pt-Ftxem4FYM2aL5Xb$(_;%6+5Qs4=M!{#j`2ZP2a9ykAP~(pT9;=}R(A z^R?uRehh5&HqbkX{)`ys0!u|24e>JYN9)!=Qfe*4ZylJbWHz&odw&ZT`Rz7#Dx8R<52s;EFXiIZo#kOcI4%XfzkbOYo!l!W>zs<*xa@nVOKYR zmTiclYhrGuDWy_f(q`}}0NwYX!#BBT^=N*k$)%DpTU`OV@z4BgI+~w#pgRk6#|wUK zDGMX^Yy--26O>Uux>1&gvI0?WE!kzVL8j`Mekh=G908pXzJcCpo-&NzlFTgFYFZ!F zD0>+Et^}Q)=CcIBP;`Amu3~*-KE?WWWLBi?!}6XvYXP|q#3cF-MZAi#0H4@UE)~*HnlH?!zW?x z(n!0aeT>@V=$y%!UAk0fTEb3JNFhzb-(z5thq!km?$f@55Wq7?c7A>8oJ`YN@~3V3 z`Ixe*QOu7*J3#?I3J%n#FHwI3>K~x`&&Je;*A?~Ar&3hMBt)v)MyITggIJ#^j-VL5 z=+0Q%C}29xg6ah@Vf39fbWBNO9u`Buk+r3l zWEOdcTQb||R2z85JE%D%QzQOv0`JznQD0#KHWApBz!u{^?J-Q?T#EbHT8Dq<^7?E5!n5}AhrmL$Dwd0u#$Zq_ z!1}3G%&G7#Z0(cPS)uhUhy$q(y?i|$`?_Rx>a}$sD5~Q_9r})>A5(`uOXtA8@yFD8 z8+DW)S;vUbu^s!*BW;Ilz!tP)dOsYd&wHeqF>BHF09z$uYPKF|6>EcO8?$wXP+$5W z9Dbf`-PbUns4rqg#AU;5=fcc^v{WgvUBaxu4&#sZ#aAlf@F~=%SHUyt%V%Ylru^5Mkju}zE0T_M8 zNX1HkwFBz}=EA*Z>`}WUlU-2#y(5ce>Fzx zPSfKHI{kY6AI3@pdOZ#e9!u9hI93Xb&_6s@`qPNRx<8MVZXTt7bgZO|(my{|x@Rov zg2w{l@z+%SbD7eCRQ)@d(ylc9;Y{f_dVQ-w8r185ZIGT$*S8y_yGH2O8l)W~ZcYX1 z6QlJ(gLLB<{e39NJRQiMOz>G}AU@za`Zk?Bpp!n+@kS<}jBPJ5qVAG4xpA9Q|y`hIs_j42#|&%@X%{`uWmq zem~||&=u(~krpM+8%`3X|9B^<8@DPCYcX zN3S2$OYiFS`}EZ8@n`IU_gb5we=0+|i@LNWL;rGy^mn=)KGdTMzK3ESPSIbdmtIeO z5%-`m&i@!w_j0QKK&qsqq6fIbcb=v@z5+b%((CU_*KJMLKc6o3rqlgv^wCDtWEZNR zZ@*wLP3qHGpUiDC2{hu?W7trSs(tRVS@R1SM>#om`dNcH(LG|f{ z77R+Kzh|`cm986lyfghx-It@K?IV{+(!Ha8j@x%exg_b0(fajcr2V5I#cRjtf!;9& z{J~(<8ogg9JtQX6a5m5lIz7JjW1oOBvh^j>1zh@ui@Y#SI(=J;bXdosobwQLcc$n+ z&yXHT(f5v&cBD+{94TFsx;E|6k<#`IJu>fQ=y4yQpQb>Irs=qyrE3s$rI&G}Ris5CRq6hh{(nOP8`mTm#}$cj zHExej-^C_^E)_p4^0Y;!i~WK$Qfx`twP7_+eX@MwLpEct6 zja^?I4kIAPepPH95j?YtJ;%l!PMp{^Aj)xs#ID8SaESKZbg6;%1fGrji)|FUy6!fy zRNbR0q9HoBqe~1|I+kapRxvOY?-q>Jes>GT>KT>V{)wW#N{2_pYQt6OXJ}d9En`M&!j~X2JbGmvjny5zq0KlQ{ARk!})cuSj1L=|>_xDAIHjuXl_{ zPZ#M_k0q#ud&ph(kC5$%igbdgRK=}eI>5^0S{SBZ43NN*A8 zA4IxIq`e}2O{5=*^q@%7g1vFF-&I_7oTUE zv~U?-Vrw>?n=>UR_w32%HnXhdYD+;*ZeBKrV`?SNq{3l3r5nPb{7;sdg$BA0eshHx|#3)O8<=kCasV5{r+D*r8Z_bi^LV;$x&% zu?}PLu~KV-`AwBFrOt%7K~n8|EFYt^akUoV_o))B)0K(vaguU%BK&CSP%sfbUQ+#t zwlr0mAgTT%7C%NR5`HBXKUPX)*HYmnR6h_)4`UyvpH!YI9VeL*;;NU6a?#;7P5L|> zMfe^0s}#stjrVc{0X_59fxqQm6GNyzT{iqB;xivO@nH{laUaiT^1UXYQUCn_?i2C( zD{$hY#+&hcitaUmBFg6#+$ZAmK5*ir#;fsstoNEg5#>W46;H(HIN-#mTg1Jr68@p@ znPB5RO+|Q0A895$K0dYqCwb=HYhr}Rva6io!}aG1!AFh91-W!BqaUt^e*m7S|H;Pn zXU1oo^ko7)PsC>%=%obf=q1KyxIXV;^y7!E3-;L_yww!Hj_BA|mq7o=!48gtJO}Ez z1laQz+!ivNW7>b|*FlNCdj?0<>8VLV-!AAkdN{qx{~>`ltc=B91bzzmtNR=FZU{&| z67)lEPOrwLd8xcV4LF&l%gGaI0q~QhW28=DA4~%85cHk&PzBdUo=7(Wr*_r-lG^S= zg5D_j(|c5O(R-*Q2h$3kSNn5J8t2nl!13pJBAo#oUmP*)ax*+rDyri}s(jW1H%dQ~ zvbsz$b$%=8HwroEMd_bZKGQfL#4V*DU{BO;kDza0FE60aOrIoa0vINu&rgEWd$uHp zRu;8N5&_(fw}QC|^lGQ(k)9GtFJ(9czI zF<)qoUA0O0{5A>xh~QHs_^ADP75FKFr#AUK2_O9kF1LQ6SIa~tGjP(wZn0md_n+vx zK+voHI*-Fr3ByH3ldMmIKO*?_3;D43jZlwXfuMHP^M!1|i}rgKPu&C zQhdDU1y1~pGH0xg%b$c#R}%WIz-e7?6zjTG^poD_V0w5V2ZUNn86!cD{usqN0vWsL zz3W8%pT=W_MUrnb9X;H|>W!yT~e4Z+7Wo#*L2RJuMBc*QK9SNWumNjzUB z;51+Ad0rN;CQVI3e{B-{A%;VrmvaW}y&>H834EZG<2MWbZzbWgFA1(o;$Oxy9C8!- zvsm!I6Uxcv%gli@1wJJSpP5PUrAhE#C&8a&IO4`Q{dq^=l34GmJ>Mtr*0}l7XY&4c zt>PUQVT5!v!^L1U$vH{zz6r!<_&#o?;J-1>k6!|u^g%rbR`r42>mYd=>v^MU{P0`g zWQXJ9hkF>kri0@4`y}|;2Ekv*4QjxyD+FFTkLSfQkZuxq=Uk2#@Ngvex?<7HTGjNI<Np1!Ani!$#H-}h%Fs=m*mgqfEx{OCBmfNXGa4W;nZk(T8 zDDY09S5r89sSY^xGd?c5meC6$O>(>7Ga&2_+$g&~PC~E4c`JrC?3xaoQB}rNS?_GHUGAn0-JzZ~+JC^9OWMSV-%=LM$x$ z90*+#1$~#$pMDNY7cg98G)Z+5{7JzlSImn`)cHGb>Sw>`XQ{x`k4Y>yYZCl7z-b=U z=Tq5&&x4E}^DE{{^^Y$JJXheVoWlYin!y>+=OySm_SnSznUVxQfI7^6ih;6sbb*zF zp2lku=i{oqZDxF6Z{zIV^#bn~IK7`v*JDZA{Q)@BXR%>jD&}z&8cL*x*C)X@C&6C? zPWDQDJ_Pf^uJ?hP#Jx5NC*gA}Oi7~ttYkRkVCP)u^A&Wp3cPDI&kI=UOv2}5L0=l@ zFLZctMDxw_TO&S`-Kc&Zd6ne6xXkA$a5~*yl=}Eb(i1b8m(M+$D(jrpK5t`_v$DBGs`A!1)ZzOKs&merS~xW^k+TM( za#l7rR<3cnJif*?QVo3xg0s50zJ3j=XmU;xY7A+$*T;wAoVma{*XFd%D{(qeY1X`j zPMa)1xnzOlEV*c&b*{Y_Wid>uV*yC2(HEKV`7>vh*~*>e))@{PxL!POj#fYx%W{`* zA$nAbZ*7>7&!){rDlo6iJEfu7XR9hIn&q(1C|n8i z<8|Wu2`YW~Sih*@oSZW`CqHqECHPW+VJ*gVtN{HYswFX zo~ydjS4rxiZTwt}W`V2bA{!J|RjtCvS8Uj79+u z>Jl!81<_UGMdPl@dOK`wuG3aF)fqE((e27QW+fpb^*dYQ$Ir!YA@Re!Vg^=m0S_~M zeA$-ad(xdwUu~mzwG%^M?yKeEkC#2yjUVfonZh+SxtDuv3+9yN#SV#SoU^*g>#VJW zd|cE-d@qG0S2cMW8r>dWP3&|fs=(9+tjNw<@*@ERB%916#mV{Nc|2sOcGbZfH#fnw zlq}9^bk*cIoy%KVoDKM@ATKG8Z;f+Ru2fY66V%k;a#auO+Z>7-@}Pki2_5&6JP?ZD zyIkz`Hrs+SZ+V6x!YG+w*b+H@cm-JV4Cb|khn^!chy%ltcmv5!a^4< zceTY>dqYNzLeYo2NF5yb*|q!VN*$p|{_@Tl_v)Z?41L^IK#5fm1D z+tG6294O`(Mx&h_HE?HfJ4UNr()F~Y$DDlb#Ofx6>XDu@MT{6I;e^%chcQs6pG6uZ zMKs{^A%_5p5Z5Ze*pIfYMamXG{bvlLTR4r>F1M;u@Z0Ve`DNc1De9rj%XjcyubS_^$Z0{5& z>>LXVp0tXgZX+)G$x)`TSe5WK-sOuMvGOqmw7Ph~6k*Cl37aTUMPuYtlk*=j+4~gVq*@z zwW@P3t8!K~H8YPz=8CpNKPlWsy(5ra0v({``C~VYI2yzb36XPxF+pA87YVgGOphq` zkBh^Zv4~N&d=SMP4p=5@v&58ZZ6S-2)wve|G4}L{P9PHO5#yFrxgFxvMzh0oZn)>q z)q4IsZaB(Zzif8VnRacdZ$)icu5$&Br>WEb)(Ybg4kwc~bYn6LyAgWBldAD>By80> z^vT$EdYvuUqv2asf6{Ic2leI7(wXj39B)8l%L<&O2&$Z`DxGyWNO$@wm)q*gW;ibw z;!S3Zw1VUIF-CmqF_yQk$>xqJp#@Mj+?&|T=Q^XO`3NrQEWf;R8J$Ng^sL60pE?(~ znwr^ep|}`_*tuN9KUS-0>t6*u!d7cReL~GzU9n3}47}OyGnzz-lqK z;iSh;f`8QAvdze3z8S$LLffBVeNmkbxpVQQ(X5T-^R?gxjBM{_#M+{tjk zN;yqy>V1{Vkop>VTC3jS0L|6dAm!j|yInarGCdn>PUH}`=PYY>*Hxd5FZ0f!Ty14j zt&~%}#shvl^)>Pme8Dk&`*KXiiLyoX{T{^X1EQ16KkwGNi7rL+9%I#uz-sr*~>>6%1&#H0&DuWMx{TUPJ?jrC?e`Z2IA zE{$LnaLvGbYi;qhq0P{nF<&~YW~;4pLB4So>1RD&sK)(-mO#XCk(wD*js&MHm)1K4?D?xbamiP>_6gb{%`Bp zwSzEpL;a&O4j=}SAN(=DrU)OM-f{4WV;I`tuXSkt@Tq4!4gQh~69d%iFEY=jLeTx) zJvpHdKFJBqw)A5fi}erV(7NVh zgZBMvKl9%qH|%^r@*fpH{KMkcTxA){5?lY-*r230#!b+J9%*5t+daa2;_lP=Y~4aX|+~9TIKa%2E?@2@{nPx@O)61IuZg8a=k% z?7Q4<_qJ$8;g%ZW?#(hP%_URX>>Y6-H8Wf0`#Vj;nI5e0A2e&h9<(7_Mn<2n$Qb@zFjqQT{NN(SS<7?^3ijl*4 zZs81xGyKBkJ30R%`0YHWS2V+WFq%cA0B6T zl)u%z5z4Lww_!;UafT(_vXW~LAdexN(E2g#Q$t%;8DV4BL*kek(cSg51?{dVW&Eiq zr$ZE_yV60alekmjvw{U~m*XW);u|m$NZ%(%mqp?xbTQ$U7WzFTUM2O1mq~+XWCk{w zvF2zH#&CiXt8MzI)gMNV395ERzieP%97?X9Zk}O`oS(XAVQPP6 z(cA@WYnvxnPTNI6eNr>nhPIv9(Y6JyV8y5e@xKuH3pTI5nbM}0+6=~cV z4hD(j({=LFj&mavC0Mz;NgkxEka9cp+s&QZT2UgEnUIsuHLIRS6NM}DB`@rQG}4I!vtR30xy>S7dPWPf2Dr1FeqylaKL<* zz*n@u>!g0ZbQmtwl)8oDWpNAK@{qv8eHQ+r>4*DV0$3ppC@PP^pEkF(79qSh{%BND z(rVHYFVy)NDOCBh>@V=Gu4gS=0pk<{zd6=Pngoh+&}-ow0u16%bE?zf z2nbE-xDF3$LKUT6ha+6zdFPb@*Z(uEhuvm+A0$o&E|P-cg79G@R<+Nhf$w z69DV1!z*=oR~`O_4)3PJt8}Q8n>mj9lR>IZ5T`Rp z)8Q5!ZqwmOIy_y6+jMvz9iFMf`!=;d6zn=dKb?U?hiB+;rw;G0!>8!*0XjTihi6Kh z=U=E34AL1C>+r!ke6bE6qQlE{c$N-dp~HviaNn~QQGe2QY*ca)zGcX&cF9zy<(<+UZoK%Jv}Z}^@jl|aVj1r{Zccok1mH#^>lFC@9Y zK7f>Xj(A!Y{B@lFhIm>I{I#4vNjxnB{wmIYMm&Xoeg z8}ZaI{$kF*M?8ghe?I5mBA&v!-^uw`iKl4pw{!j<#8VXa+c>|Pc#7VB3+JCEzBRSK z-^_t02#6+L;rtTfO~g0;0U+^V;wfzV>pA}*@f5B7b)3JSc#6{gTF&1~JVj@J73U`q zPf^)l$@x2ocTqU@`#3P10E)u?GR_Yoo}#b6nDc#zr>N`C=X@{XDcbs-oKGO0qO9M} z`HsX>aP`|b--dV!s(uUSBf+~0X?Nu}bHGRn6kYua=Womh-;Maj->C&I6K^5Dp7ZC3 zrzq;LxIy!uch{rxD-y8y^G2Q}FZGbN)f%Dd_p@IDbF!6zu%9oWGZNI=1?&I6r}Sif#T% z&fno8fP$Le$ARI*Q!w+Faeff-6vX_+obN+C1uuU-=X()P`%b@;^9jUL4D;JL-;sEV zU49$q+YnDN%WvVlE0O>TR(>-FjNs?^!1F|bLVW;(-qfv(0Eah=hBb#9F-9DotOyu5 zyzMC?hc{ygm+lSs-;eg2-CZ>WI3P;2|HGussxsNfZD_fVGkTe4^0BvlkiG_ zTw@D*$94=8@;E7fqe*^|{j+ym*3qAMhP5bTt~bZ(6t+7BT1ja6UR&P4A5gZp1XxDZ zSsnoJ61&=aNSkSZso7q`dPMCK^)nlul44lE7N!g_?nokvi1)QXkgM z*1>4F!n~;ijdM6>*uc)D_B9R?%>Ar)TDGw&o$G~PW>2PN86V}G;azqLqG6orfA^0~ z9eYWA8c|4g>?PGpObXg3&wWYt5kt!YG0ev1*)oh#vFue_qH%UC`=9Lr9j}*7DUGHr*VIqp@v_O> zdOWbC@&*IsdDd{)<5^NQ$CR{7O>01DKbVuMc{6omuFPcDn)B5D+pojF!&}}w$Ce8G zxWJoRewM(u3j81uKK1eh{-VH}`=TGmA6pFPE1HzM3DEBF_8K8OrnP`9h#EHG@mCbs z;TcTxuGLikg$6c$VE_1$0GHRggG|p*n;^2f4>;Tx)jt|o<-oX{?@)bHaVXN9vrkzRT>YAUM4a0&g%{D^6;ee1H7t&vvojy;}H-&VY zkTR0a5P2>pu}6s43h{Hz#`i+%e-KkvC_E+I4*qiZ4v*VY! z$M#m?xD<}bZ$`7du=w|pTlsY**L}eBtQW)EwEP_!nD?t}ZPq~BXh@gWX1foRU}u(5 zgncGr+c$S1&eOR^-O5Xm^(lZH_aCZXWg$b;20Ff{j1H*zX9EF$Zwx0>H!4zFVZDT` zqsZDRtmjJWWh$FLG_7m>cf$HQy!g*!^F!9|V-9yas~Y?R+cvb^=sL@W4a;&l;a?2G z{bb|K_$M~XvimBqpTQt(%}K_6P7814uE{}L{^Pq9fuWU(<&uILWMU8yZIQnb0Wn}h{;IFAz*A1rSw9KT}`a@)Ec{3b1V!-FC zX2IN4)XaX?C|`f^p*4Y@MUi;LtPFGQn1dXI^+iB`w2r!SO=FSL#}l zc(XQP*P~XQCVza;BvP|u9$lzshTOic72_<*EI3G{tQ_tfYg~G*I+2@Z?b4u^A03)|04qZO!~wV^e}x%%rV%*M>%QnQ2B{xj;}uV{7#O3q^Q z_(3>zWIT3~O$&VbwLBMgm5*?2Ve3@xE6Uo?Mq9JhbuAn=5Kj*6Wfu&kwX`QKyo!zw z@B*QTgHSH@KhS!K2TdsKIv3|nG22a>FC-sTTOljF{zQfW80KZ+<(SyrX1n*RAK^8- z?2kZcggsL=RlI~EXCo)m@-_i&Ae?}6YD#a&>!aAhJ1p_@sZ~7ftPb}`^nAtw2M&~` zg&}vPvN!IqIC9X2rWm_f^wH#SXqop18)+E7)CLW5gnGuCk$XFu*qgOK4ci`d{I_9dZ$4 ziS`@19-4RZ<}P1H{LMX-1YZshM%FAxUop-~Bj~s_b$a%+J!&sx+`LQ6o`mD$?-TRV z5gPUds~b>PRP_Le+6SIrLaBMjQm=M4n>K%${JHuPm38wK8r08FR-kiGV9;#$UUljf zR-Jcymm$K_Wb#ydf=k_dYUsjFO~1^3&r34??J~PnjhJcalNCTqGO5s3>8j&tdUiZ>+Z^S|C~KJdr}Q8NQnK& zG1q-$tovgu0S-@v)yH#RYK?x&?O%?JQdG63XRGt>X4 zD#$9^wD}X*xevq0qF%(H%0VYa0fOWphh0|n81QV2*5utUKz?&j%l~$f;TV8ke$3AOL&gE(cvw! z_8sZ|0|kl#(va&CtDb3djytOV{%Oiy66MG$x?OX>oXp4!aYF_k6m?m)(15bOm%t%bt?ONCi3V-dy|^d5tPN*qtuTF)IYw!;)ymH z>-Oilzj2y&Vv0BcWIEAx)HP0O@ElK`wV$WNYIk^+S~Jy%KVXc>;{crL!i*9fXIg$c za)7`=vnqRf_I=qi_TWAW+0k)vNT8%htI^g`mgX9Hj`11|kTs&)SSnfx!MCW;$BX`cTyWn})}{|?<1a**XxR56yi8aFw%JTHw4 zn!&^-@#UL09~ouBr~*r5iPh#ffKi1GQTFFp?TWWBP@2$CL_sQNMM@kM$A;NvFZ&&t z&9Y|h&xtcAy-M=P$yJmf8>=1ZI6Tv=nS4K%H?T3!JJV1S;_yte+S&ODaS>ao=}3#U zp4ig`-6Csdp1a;*P)j1lF8|I{F`tjm-%Sp8ku}Nm)B%*nQU1FDqs+AY1{egDcGeYG zCn2Vx=bjh7KR5{^HOGq2Zl;9e=EmZ1gJK%s9^>bdDe4HcXjzdp%s}%zjH1b>7zZeJ zmKuR_6R@AM!Bm;jG*h@klej%8-&?4kE^^z!E=^1vbR7pM|3iE@!$AqQMTih*)Me;< zsx;afMVyEjcP`I;mZr>r&q#v8vvHGpx{~Pp1$_(j)pZbw(OK{*l)M=g{DK6dbDtUr zqrPlU|JDRSOqK;^m(=%BGX$U2_%K5Ck`1y%)1c-U(T?)nX2-x|CC{lwIBs|b1~kq~ zq1UhsC(`V@v)Q7%x{RKdZBg>Pv#hq8_IFdTze}L9dNU?=SCnmu)IxBIDzqXPg}zdU z*{SR{@S^Nz$L^Xwm>-HLf7}(C#a&^0QJ0Qzf}*})mphj{ZKtC|5SN`TygSJ? z8IZ#}&1zPEJxrM#P}?FC?2}s0gS{y^&uVUnrV*(&K(60I_Wndpn_SOiORlFh4w;3) zTXqfKC!K;DRAsY8!69((HoD*?@B0AL&gE@bqkZOO@8H|dPjKdv+iWMVLqm+HVM{#ge5rBNQID z$+%AgQsE9Mq+nQioS1Jm^*lU5^)l|sw*`w9Ce@<^V}452BuB2N*rL`78!)Y~LQ-0-%aSDiC1AMtjuV?dt+yNxlgR_#iec%lH=Tw{FFsqx| z$rXcq@-W9S!w|syiNB&Z-ln{hd?qRSEaY&uaIOFW{>_X5MKp zx%%^RJchF+-Qp&Jqbu)v=wt84KjQAPeK5SEWumbbp>^oEPqS+06f~~dfxF{n>V(MV zaCccr>P?!WI5k}N#)l&7C*U3X2+!#7J+9_$I<8YfR`vahL$8mU;?Vmy*ft+}3;s$! zU+Ak2UUBWvy98)+hS_&zPiE~LJ&iZ|@I&y=2l*j*(IFgyJ3Ib|vQoeP=?uJsB;Kr} z7~g8$L8=jN*O9VaTZ1;|fg9p(1-&}AB^w%Mxt`8eYRg1)7cCS1UkI`u&?MDX;{I>Kvhi5u(bUqx*_p>i&PBa`~X|uW+H|%51Sp|8&?xU;^sBCW_Fn0O1 zlH@%1&+794)qlYU3V4H#fnLkc^Ni%<)_*u<7b`y$! z(oQz$!NyLzs382Tj3P`%;5aFl&-ZKC$ax82vun^O_ML3Oyp^4(Ot;kaf56%oC4@cq z0d$LN*wCVtosiqDb>lx^-$Qrb4(L{Xz@q1`?1U_Ct(&`pZJM7D_S1Ig*6m=Yp^GeT zt^4S9wtPWCSR&~vJJ^N=D-AnX?|Jd~r~AnZ6T&8M18&>S9$z>e_^E|+?}Q@46K!c4 zs&|^vL~8r@0eLfmXk#iO#phc|sl7EB9pue;&I*Elnop*ppC*tA`swNIY)x^Ju_}Sp z6u;267rbr{azmdR9c2yqJ^B76kxTx><- zWDGx}o`ZHSZIf~lRxK{7#c>H?k>H!wGwOaqV3yBsJVVy~5Fws5)-qIujp_}FbiQnGB3Kq5P{365+W^p{C&Bz(G z!zSw8GwS1;nQxK9wRfZF?9SK};PQqf?@B11L)cxMQU6auq0L$zg39-W<_^42x|%v% zeUlLCv05skH{?x=MY&>nJS4umHX_78far8LKo}t5{Y@S4PrLPMz| zDS02W^Am^q5p|1almAbc zW?aV>O4{B|J??40If2`nq-_`<2YjVEPbMgZbrZYsNKW_v>%{*xOt3r`MD?#&6)hf_@(0b4u9COU? zLJt>KcF;)(gvFqZ@KJ`UZiHPvqDdpD8EZuf*@NbTuLUgu^RQlZ(2qdtL4N~vVm(cvohTOerJy#@*Fb&PZCwSe1Pw>Qsz5t~)`HqV>p&M% z!9iDonz31Z1Jnt+mne41SNR>#XDA8I7nPvJpytm}5KtfJUeG$w^MoG>1lr+XXalu@ zIzjV5eV`?vb)aiO%|~GeT6`P@$A_Bc6M=ve)Cc+-Xc?|dome$0@hQP;F1$Fu4FtXe ztpd%b8i1C7HiG&xq6391bc$*MnO8fj}m@!qR}N0_u_rfj~W|6Z9%*6=+;* z_ybJ=tpl}#)`Lz0Z3J}{;zhZLrUf;F`amt9uYuY?w}RS1KLT}v)`RAQUIi@%4aaA3 zWuToweV{hbO3)n8D$pq;zl1ITbv6b9wV;+CVGr8)V_-rc2_F&FUJeANf%>kX0H9S@ z1Gr9t;V*%J6@#qm2D%2+{A(bv2Gj!j2B-~m2dEvi4zvn1j(z?3ZN|kLSfnd8bn%-s z8re`+LaP036c%;W64aGx_;X-GfpN(b{kvf?{&H&AGp=MyZbysKsZ&%~xDT;E6Sx(B zdp86EpJChu&uh(&xzbw|V!BiB1TSjM+Lk4|$VU?NPhro(@UCP>o1ZjhN5_>1jf%FR z4uBkx=V8KOlpwQcGo5><0doLLC2UNz`M&6Iu3G}!i7`)8gi;*-R**fgWC9$~=5pgS zXmeSL@*0Hs5aJV0DV)oNIbi!iRsq=+ya)dj#bTEYG%W?T6g#CiL4$Whu^G#{o7Us~ zH#E$2(%T)yo&|OaSPFJ(GYES%itSw1omDLhZZ!?q{e(Rp#V!G>Ults>7T5y9?qyw{ zNMPnCf+J69&>%MMiG=92h#8%+M|=x3xFdV~iJ_6yx{J{jOLw#A@&r>myjCDuOu}Rh z-rR}}E6;XOWLblN0Ej1Q%wRA+U|Ita76)u)3q6WPD|C9)kal2e-n_Zd$uaqu2AKnM zRr3pdhf)kM2jDGQUZE&61+rT;d}qj(LdF~Z<488TVqi3VMR5{N3ICxcc!51rF(@<> zneF%=J6w?(K`}82r>H`f{#08Qx7-~1B9NjFS?cnH&|19i{g6Gryen@t73?Wu6NZ{G zG_S%82UtGz%8iq?p`lP1y?zUs6{-%%e*2J}hVx>)wmZaMU&L$5A(r}NLUcd8=HSG2 z54s@u6kG6AY%a$0lcCwsndM>QqRR|HZyTal7)C|=3?rjoG&rIw4O4+miHy$7j<#h- zCk>Cb43CZ*9&H{T9XC6e3Y1no22 zvJ`hvDV+GLg<;aCfj~FZF?d%Pb3M_4C9g<}Zih*A^@~8D3Od0X*qjxq(@N3R3H0AAQ|g9>q-;064>JUfa@l(5@1OSMf$%Y`Y>H@d=OYs3+xoILSUE} zO_?+Tn*~f?xnMMAeiJrY%-1-8)0#kmr2wM_)EnD@Q3Gn24OvYB=47ipomh^iUC0V> z=fS0g?!eoMui1T`)X+w}TEF41R@9?byiUREv~OAJ%2X4+P^(35Ykj|r;31%I@lXP(3Ii1*-9 zjP(gk%SmoD6sWIh%`SnCzS(H~E(WI6lJsaTFVbN-z_6}|D}?}OD+*iqR0sBf_qNb> zSe$+5s?T}z46NYU-Ufv|{cNY`sjtJ?zd}Ryhbmh_6Ik`Lw$#*7!yAH?1BUE9Ax_FjUuugwz8LA-EYErDl?ah7WR!AG_2a&WgIxTJwJ3=8JzDL1 zv)cD$weQ7h--CrJPuiC~6}#YVl4@UP6(}0PW8tsbw^p@psmgDqR)?CcYVuQfg&2ZpK?HRS9}Tya(Z%`LzOf-6RcCOp4ZLdO;9oSiS7aoADS$`?ZOi z@ixl!5!M~Q;SF!j0 zTAICz-S~H!OL`Xmv1Ve@8PRck|E+>(8x!95^ldEql=~@s_>*8~5|)-fDx$&<52v z&*G(G@BAm(Xc^2-qA2wOQtCu`m330JvOoYDei%6YD1{az`4$x_XQjR+U+8PmtY47G zvQ{e25MpHlaNVzG3{osouv{~kB!DW3uLe#TYf)Frcpd#7NbU}4l`mmBZcsWZac4ef zn}Y0Zh;QVrzOTSP6hs+Jza3Jr1X60J;`;@xRsI#=W(@YY7K8mYsb4Q^hjodk8j1S` z2!4UYKVseAj*UMerIqspOzSwMp8S_fM$t2VI$Tjns%8rrZ3!r?=h6aor_`@a5P-IAoXou~ky6`8AzdV` zR!eV+T>!}ve@oNvD*z_(-Q>-1fu61r;bAWU%`Mic4(y?ISWdA~rpjnP&0vvM z1;EK$%Z7dwIF+`p#qehmw~Z1G_(>A4w38wIN~^%>5`+?6MFDT46i*hweS#=^saUzk zWcDrREPX|R+*RcZb*=I-*k==7+ai*5WvkZ58t~n+^|7w8Qm3r9u%-JKO7nnIRkdFn z(R|W|p5t;%A-wSPZ|SF)PIX9h89`~Q#A}BMUh`AOafQ9GJ|_Mg-l@5@{iWQmVHb@k zVHi)(^isrAs*7C)wm9j3mBf8_2>;IsqWp*3ZsE^E+{0<9Su8tAjtFHoVhDNm^$@1L zrH9|St(h%*J=V~ZKlA8W@D%o?q+gaV6txxzUQI+jrS zis$tUJzZU}Rc(Wx=4rWKGh+-=8TeHiY_zzV2#8uz+tF(+IY{c;XYwqX7P;xbY4*2_ z=X1Hf!ouE(G3;lCcVb;XYaa522Q(&6BXPG#C8?4_Tz0>5pTrwS3cZ0+f3d`!EvCdO z;54pkWw+2>1f`y4j<->?!-&@0!`b*M`lT>DyF3mh@qr7654XV_#Mh@#!kzz$|5xdDS|#VjI%`q+XXSzIaBIu@pBvWQHwT8)fnM`u5c)w zWZCah)W?Z)ajHPr)^O(=sra5p?^O)Y2&$ehKU$)9@p{Vo#PC046yyKMkG`6fd*6;#73x0qO zwUBl;PL?__#}xl z!H&wP{R)sa^AAaX#VzLNcM`Xa7Jle1l2RmlXk)BlB7e@~&o%VyvM!eVo11=V3S*zA zTHtgfZfiKjwXf1M-GS_>4~nye7TwEInlAA=*}@V=?b0{Jrtg)~s*yrliy5aSUO7(S zbhk+9B3T(sY}cmP_yL$vw`zYUNxLkBl#j9&vG(u4d4TBhvec+*F%CBZ=k@Ed2XEBE zg>DPaU7OG+G>!Bt(nn=JS5UORj_xROx8w-?c|nx!Z2acf_sW1FJeR6kNzZLH4v{NDyv zZwRZdKVmT$4l=_RX>H!Xeu9!lal117i_{qH3PPj*Wy`)u>!RJ8XcWgqo~Vz4*~ee> zh|w-5H2MZJ97~JQt|po&%RZJCsV#JsUD=Xj{o82w5gNq@P`i(%Mrzj)__vQ6q?I7D z)M%SAZ20liNbL^d$b7csc>fsf>OrG+w(EFWjCKOm=n-Z(k=91LcF^dQXg2&rYK(U4 zpwZ8u+>KS9h>4J6f=;(5254NSo84&U>~1#boL17w2Pxz8q%ou_a#)3-<~2B)03z0g=V83vOvgW<1s3czzcfbgJk7 E11foYMgRZ+ diff --git a/main.cpp b/main.cpp index 22cd69f..40dc56c 100644 --- a/main.cpp +++ b/main.cpp @@ -108,86 +108,38 @@ void kennlinieZweiterQuadrant() pf.startPlotty("test_plot"); } -void beispielFunktionen() +void testFunktionen() { B15F& drv = B15F::getInstance(); - for(uint16_t i = 0; i < 256; i++) - { - drv.digitalWrite0(i); - drv.delay_ms(100); - } + drv.digitalWrite0(0xFF); + drv.analogWrite0(128); + std::cout << (int) drv.digitalRead0() << std::endl;; + std::cout << "adc: " << (int) drv.analogRead(4) << std::endl; + + drv.digitalWrite0(0x00); + drv.analogWrite0(0); + std::cout << (int) drv.digitalRead0() << std::endl;; + std::cout << "adc: " << (int) drv.analogRead(4) << std::endl; + + drv.digitalWrite0(0xFF); + drv.analogWrite0(255); + std::cout << (int) drv.digitalRead0() << std::endl; + std::cout << "adc: " << (int) drv.analogRead(4) << std::endl; + uint16_t a[1024]; + uint16_t b[1024]; + drv.analogSequence(0, &a[0], 0, 1, &b[0], 0, 0, 1, 1024); - while(1) - { - for(double d = 0; d < M_PI*2; d += .1) - { - uint16_t v = (sin(d) * 511 + 511); - drv.analogWrite0(v); - } - - } - - - - - uint16_t schwelle_unten = 1023; - for(uint16_t i = 0; i < 1024; i++) - { - drv.analogWrite0(i); - drv.delay_ms(1); - if(drv.digitalRead0() & 0x01) - { - drv.discard(); - uint16_t val = drv.analogRead(0); - if(val > 1023) - { - std::cout << "Fehler: " << val << std::endl; - continue; - } - if(val < schwelle_unten) - schwelle_unten = val; - } - } - - std::cout << "OK" << std::endl; - - uint16_t schwelle_oben = 0; - for(uint16_t i = 1023; i > 0; i--) - { - drv.analogWrite0(i); - if(!(drv.digitalRead0() & 0x01)) - { - drv.discard(); - uint16_t val = drv.analogRead(0); - if(val > 1023) - { - std::cout << "Fehler: " << val << std::endl; - continue; - } - if(val > schwelle_oben) - schwelle_oben = val; - } - } - - std::cout << "Schwelle für low: " << schwelle_unten << std::endl; - std::cout << "Schwelle für high: " << schwelle_oben << std::endl; - std::cout << "Verbotene Zone: " << (schwelle_oben - schwelle_unten) << std::endl; } int main() { - beispielFunktionen(); - - //USART usart; - //usart.openDevice("/dev/ttyUSB0"); - //usart.writeByte(5); - + kennlinieZweiterQuadrant(); std::cout << "Schluss." << std::endl; } diff --git a/main.o b/main.o index b17054645c3dde56d19865a69b923e1d3c2518c6..c3c698dfd9d366406764349cf62d99b0dd2ed74b 100644 GIT binary patch literal 15712 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%0DaNKa=pcB>a5|za-&bg6BLe z*e~kO3<;kr;eH9YV4tMfbaI{0$`@Muy`8eUX5&PdIoXWpN`0YggJ;JH{?PEX)3i?w5hv?Tm zgj4w^3BQBLZzY_{|A_EAiTuli)Ajxu;dH$pA$%&aBR)Z)|I-NnD*rTvoUZpRgwu7p zpK!WPPjHU&3g5Fte11jvY{K6ocJLddkUuYx|AffTA@bAsCn)s)Zov}CA?0;8zsC=!naBIOA`Kb2|pp>pA-Hy63=}8zK-KQ zk#INRbf1~SImV6dGs_64@r)3TU+l#^*+e+qmtH2E?n?&<{|2%17U5Nd|AKH2;qP*e z{iXByzli)?B0s?aH&Cqe^Jc>7{JfoWw2xl{MSrIePTQ>@cIZ0t5ME8}s1iGMM4tM; zk#M@c48p1ZKOmgOc{|}%#2@%O5GxoT8s`@|x5jxVk*9vXPdN4SBf_bl|3mE4IDbkw zjkBG9JVHNdoW~PR<9rk6R{w7$^3?xDgj4^Q6HfhaAe_coC%g)L74zo_!fBk_Ik)=R zN#v=YuMtlDJWM$C^G#x(#`!qmG|s;!c4(Z>5KiNKPGaXGk*EGoMJJ$G*Q1+o>i{qPyiF`jfkJS>qvDv|$8BA<`{`2vd7eg)^)FY3=XB=SuX`E?TcA4}w4 zmdKwV@^s%GB%JQs7%MF3|0Fm>oJ$cxv2xYKBlt=QZ@Rxw=v^fMKj*+%e0xXa#2+YV zU&I#gg$#23%7R$Y*sm#n3%|w_`#1q-l*dDqC;0_3{))rMD}-a6`1{LV!co44-+xFr z%8S2iRAPsqAjAHOQfJ{+qQaF}zgCC;Cgp+;Vdl9}T*cwDqYJ*Yz=!=%Ko2OcRf&Yc zfD1ki(XUtZGd_HO=V~ZLKdjf_7kyVlFsOxFgW+afgZAK)jw>ER^XP!v1%Emi)@L6R zTben-?_ydY9uKVNfN6oWt0@)?G`YU$)4wYiTe~(Kg`PxXde}98;gT8byCSy~Zq(}I z0r=eLYKX_6!T*18K)m@Dn_;Yq-|^Q{8pkTIh+hOn)&p z0)^`1ycK%l>;#5WhR$`kRaW8;lwb3G*1Q|}w=djd(N>iZ;O9*x=EW5LJd6ILoQQ|m zr|}&X+qc0%%h$vPMj>4D>7Ax`!4=w+>09Nk_ik=;6fPuEs(AZWyZmt=Ex8n~(56+t zj_bdXmNYM{`ilUw_*vS2rOcEcV{TtK7yb${0{0v~cw$7hpTt8~jxAy;OsLwio%1uQlZwUL3ua4IKzW@xUn01`0 z_&+rf@*u*BxEJT=fo5yJtHP8Q^Ay|1M|zJ{1t6;@t_-)!UGo27l+ zXRPgi01VqNg@cwl-abBS(!#^ZbdaBeLoh10f$LL-*H&3O0A!Z#D{WkVrA0ybpSBD2 z+2TLQ`;Y!%!T6&|p)cZ}t!_{L~PXjy=Dn<){AqUHvv0^iO;@ zG2cJ2n7^WO{o8FET;$65eMME2x8`^FBYldp!@qd(n;xW>{DHox8^QM|0;(?*(}+=) z{9E~S$=`6#f94M!WXZ4jh|b?pksgQ|ZuB3By7zs#!ymiEP3}ySfijgY&#M7G#roWw z@<-kQZ!lMKZ>;yDBP3tA4RviE4HWd&EGqn+p;k%ROFdH6R*{U=S zJlQr?z4paoPx|HUBYXFZY=0fzt?qH}9oeny8XnmVnds9s2_8^UR^V8P&x3zVS+p7? zyb4Z6nU9vmW^^gxhS%nG;<*kHW$fj^+`(ASsXR=jrG$!wP zE&Li|Fc*{e{7tBeGjPY{)AK$5g_)6}kc`Wbs$m>`cE;sMqi_n*!;VOwu6|Tg9ZaLe zUGzIIpmA7;%cn;vdE}FTa6L2V8nnAC2y7D!B8#`fL-v}*((w<#Xg%|#1@;#FP|x6O zz1I-YKZS@HxQ-UygxA;VMMo4`>n!*Z^2z&3U_;P_ta$R=)~#Wlk6p-$zs4Seh=5lL_MZ!QuYjKx@T7p>vT&-2K6sdSEx#!j|4VTEKID?jDDtB%3b~cz zW0xC-mPY2&i9)ejYLyqM-y|(|!NKmA*l?Td`-#L3I@k*mJKDz79yr;?#;6XvLOLcS zg!SQLRU+ApkrW83h);l@|??n}ey`s0){1XZazgI1f486hP0 z7=mGorLVY++G7ZgrRs{wHv%)MHea>1qZC1b%|x;GrKHikMNp^>s%H#FA?KaCG9Cmn84wo)qI z=WIq(uR>KPbL|X3rn6SP0>d3FKKVZhD2Ow`Z*Z)WdG=V9C$Nu*x{NErTptIlWzz6( zQ&pCECM~08$Ymp{4~DZWc-BgD&nk}ksDOjnL~zzB`J(l~qCGZXCY$gSXo}JgYFEm0 MB4KLPkn4*43or*2OaK4? From bd80e3dbf7fbc0fcc43502e68d5cb92ae4ab1125 Mon Sep 17 00:00:00 2001 From: Tristan Krause Date: Fri, 29 Mar 2019 14:54:38 +0100 Subject: [PATCH 26/32] Jede Menge Kommentare --- Makefile | 2 +- drv/b15f.cpp | 49 +++++++++------- drv/b15f.h | 142 ++++++++++++++++++++++++++++++++++++++++------- drv/b15f.o | Bin 28288 -> 31024 bytes gnuplotscript.gp | 34 ++++++------ main | Bin 56416 -> 56816 bytes test_plot | Bin 256 -> 1140 bytes 7 files changed, 169 insertions(+), 58 deletions(-) diff --git a/Makefile b/Makefile index 39e260b..e9a3e0f 100644 --- a/Makefile +++ b/Makefile @@ -14,7 +14,7 @@ OBJECTS = main.o drv/usart.o drv/b15f.o drv/plottyfile.o drv/dot.o COMPILE = $(COMPILER_PATH) $(CFLAGS) -B15F: clean $(OBJECTS) +B15F: $(OBJECTS) @echo "Linking..." $(COMPILE) $(OBJECTS) -o $(OUTPUT) $(LDFLAGS) diff --git a/drv/b15f.cpp b/drv/b15f.cpp index f503a71..67b041c 100644 --- a/drv/b15f.cpp +++ b/drv/b15f.cpp @@ -10,13 +10,23 @@ B15F::B15F() void B15F::init() { + std::string device = exec("bash -c 'ls /dev/ttyUSB*'"); + while(device.find(' ') != std::string::npos || device.find('\n') != std::string::npos || device.find('\t') != std::string::npos) + device.pop_back(); + + if(device.length() == 0) + throw DriverException("Adapter nicht gefunden"); + + std::cout << PRE << "Verwende Adapter: " << device << std::endl; + + + std::cout << PRE << "Stelle Verbindung mit Adapter her... " << std::flush; usart.setBaudrate(BAUDRATE); - usart.openDevice(SERIAL_DEVICE); + usart.openDevice(device); std::cout << "OK" << std::endl; - delay_ms(1); std::cout << PRE << "Teste Verbindung... " << std::flush; uint8_t tries = 3; @@ -197,34 +207,19 @@ bool B15F::analogSequence(uint8_t channel_a, uint16_t* buffer_a, uint32_t offset uint8_t aw = usart.readByte(); if(aw != MSG_OK) - { - throw DriverException("Out of sync"); - } + throw DriverException("Mikrocontroller nicht synchron"); - //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[i] = usart.readInt(); buffer_b[i] = usart.readInt(); - //std::cout << buffer_a[i] << " - " << buffer_b[i] << std::endl; - - /*buffer_a[i] = ((uint16_t) block[0]) | (((uint16_t) block[1]) << 8); - buffer_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; - + + throw DriverException("Sequenz unterbrochen"); } void B15F::delay_ms(uint16_t ms) @@ -236,6 +231,20 @@ void B15F::delay_us(uint16_t us) { std::this_thread::sleep_for(std::chrono::microseconds(us)); } + +// https://stackoverflow.com/a/478960 +std::string B15F::exec(std::string cmd) { + std::array buffer; + std::string result; + std::unique_ptr pipe(popen(cmd.c_str(), "r"), pclose); + if (!pipe) { + throw std::runtime_error("popen() failed!"); + } + while (fgets(buffer.data(), buffer.size(), pipe.get()) != nullptr) { + result += buffer.data(); + } + return result; +} B15F& B15F::getInstance(void) { diff --git a/drv/b15f.h b/drv/b15f.h index 132c4c8..4a12632 100644 --- a/drv/b15f.h +++ b/drv/b15f.h @@ -21,25 +21,49 @@ class B15F { private: - B15F(void); // privater Konstruktor + // privater Konstruktor + B15F(void); public: - // Grundfunktionen - void init(void); - void reconnect(void); - void discard(void); - bool testConnection(void); - bool testIntConv(void); - std::vector getBoardInfo(void); - // Board Befehle - bool digitalWrite0(uint8_t); - bool digitalWrite1(uint8_t); - uint8_t digitalRead0(void); - uint8_t digitalRead1(void); - bool analogWrite0(uint16_t); - bool analogWrite1(uint16_t); - uint16_t analogRead(uint8_t); - bool 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); + /************************************* + * Grundfunktionen des B15F Treibers * + *************************************/ + + /** + * Initialisiert und testet die Verbindung zum B15 + * \throws DriverException + */ + void init(void); + + /** + * Versucht die Verbindung zum B15 wiederherzustellen + * \throws DriverException + */ + void reconnect(void); + + /** + * Verwirft Daten im USART Puffer auf dieser Maschine und B15 + * \throws DriverException + */ + void discard(void); + + /** + * Testet die USART Verbindung auf Funktion + * \throws DriverException + */ + bool testConnection(void); + + /** + * Testet die Integer Konvertierung der USART Verbindung + * \throws DriverException + */ + bool testIntConv(void); + + /** + * Liefert Informationen zur aktuellen Firmware des B15 + * \throws DriverException + */ + std::vector getBoardInfo(void); /** * Lässt den Treiber für eine angegebene Zeit pausieren @@ -58,14 +82,92 @@ public: * @throws DriverException */ static B15F& getInstance(void); + + /** + * Führt ein Befehl auf dieser Maschine aus und liefert stdout zurück + * \param cmd Der Befehl + */ + static std::string exec(std::string cmd); + + /*************************************/ + + /************************* + * Steuerbefehle für B15 * + *************************/ + + /** + * Setzt den Wert des digitalen Ausgabeports 0 + * \param port Wert für gesamten Port + * \throws DriverException + */ + bool digitalWrite0(uint8_t); + + /** + * Setzt den Wert des digitalen Ausgabeports 1 + * \param port Wert für gesamten Port + * \throws DriverException + */ + bool digitalWrite1(uint8_t); + + /** + * Liest den Wert des digitalen Eingabeports 0 + * \return Wert für gesamten Port + * \throws DriverException + */ + uint8_t digitalRead0(void); + + /** + * Liest den Wert des digitalen Eingabeports 1 + * \return Wert für gesamten Port + * \throws DriverException + */ + uint8_t digitalRead1(void); + + /** + * Setzt den Wert des Digital-Analog-Converters (DAC / DAU) 0 + * \param port 10-Bit Wert + * \throws DriverException + */ + bool analogWrite0(uint16_t); + + /** + * Setzt den Wert des Digital-Analog-Converters (DAC / DAU) 1 + * \param port 10-Bit Wert + * \throws DriverException + */ + bool analogWrite1(uint16_t); + + /** + * Liest den Wert des Analog-Digital-Converters (ADC / ADU) + * \param channel Kanalwahl von 0 - 7 + * \throws DriverException + */ + uint16_t analogRead(uint8_t channel); + + /** + * \brief Komplexe Analoge Sequenz + * DAC 0 wird auf den Startwert gesetzt und dann schrittweise um Delta inkrementiert. + * Für jeden eingestelleten DAC-Wert werden zwei ADCs (channel_a und channel_b) angesprochen und die Werte übermittelt. + * Die Werte werden in buffer_a für Kanal a und buffer_b für Kanal b gespeichert. + * \param channel_a Auswahl des ADC a, von 0 - 7 + * \param buffer_a Speichertort für Werte des Kanals a + * \param offset_a Anzahl an Werten des Kanals a, die im Speicher übersprungen werden sollen + * \param channel_b Auswahl des ADC b, von 0 - 7 + * \param buffer_b Speichertort für Werte des Kanals b + * \param offset_b Anzahl an Werten des Kanals b, die im Speicher übersprungen werden + * \param start Startwert des DACs + * \param delta Schrittweite, mit welcher der DAC inkrementiert wird + * \param count Anzahl an Inkrementierungen + * \throws DriverException + */ + bool 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); + + /*************************/ private: - uint16_t timeout = 1000; // ms - uint16_t block_timeout = 1; // ms USART usart; static B15F* instance; - // CONSTANTS diff --git a/drv/b15f.o b/drv/b15f.o index 80956dfa059134caec3fb7df4484dcee49a22499..d0b1584fd82be174df6e9b3e685e68de735fe5fd 100644 GIT binary patch literal 31024 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 U`)Th}sQ&OKv;MK1!rc1*4};>2k^lez literal 28288 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 literal 256 zcmb332nqMr^$7P#O!9SMWME)$X8h0mpP7+?k%0@yg8&2zCc;3GEHA>Cfo1^!0-6R~ From 6dd836c7292277adea8fb75fcca8c3cfeebe8de1 Mon Sep 17 00:00:00 2001 From: Tristan Krause Date: Fri, 29 Mar 2019 15:06:35 +0100 Subject: [PATCH 27/32] Version 0.1 --- drv/b15f.cpp | 8 ++++++++ drv/b15f.h | 2 ++ drv/b15f.o | Bin 31024 -> 31232 bytes drv/usart.cpp | 30 +++++++++--------------------- drv/usart.h | 1 + drv/usart.o | Bin 19712 -> 24440 bytes gnuplotscript.gp | 16 ++++++++-------- main | Bin 56816 -> 61256 bytes test_plot | Bin 1140 -> 1080 bytes 9 files changed, 28 insertions(+), 29 deletions(-) diff --git a/drv/b15f.cpp b/drv/b15f.cpp index 67b041c..2ecff4e 100644 --- a/drv/b15f.cpp +++ b/drv/b15f.cpp @@ -140,6 +140,7 @@ std::vector B15F::getBoardInfo(void) bool B15F::digitalWrite0(uint8_t port) { + usart.clearInputBuffer(); usart.writeByte(RQ_BA0); usart.writeByte(port); @@ -149,6 +150,7 @@ bool B15F::digitalWrite0(uint8_t port) bool B15F::digitalWrite1(uint8_t port) { + usart.clearInputBuffer(); usart.writeByte(RQ_BA1); usart.writeByte(port); @@ -158,18 +160,21 @@ bool B15F::digitalWrite1(uint8_t port) uint8_t B15F::digitalRead0() { + usart.clearInputBuffer(); usart.writeByte(RQ_BE0); return usart.readByte(); } uint8_t B15F::digitalRead1() { + usart.clearInputBuffer(); usart.writeByte(RQ_BE1); return usart.readByte(); } bool B15F::analogWrite0(uint16_t value) { + usart.clearInputBuffer(); usart.writeByte(RQ_AA0); usart.writeInt(value); @@ -179,6 +184,7 @@ bool B15F::analogWrite0(uint16_t value) bool B15F::analogWrite1(uint16_t value) { + usart.clearInputBuffer(); usart.writeByte(RQ_AA1); usart.writeInt(value); @@ -188,6 +194,7 @@ bool B15F::analogWrite1(uint16_t value) uint16_t B15F::analogRead(uint8_t channel) { + usart.clearInputBuffer(); usart.writeByte(RQ_ADC); usart.writeByte(channel); return usart.readInt(); @@ -198,6 +205,7 @@ bool B15F::analogSequence(uint8_t channel_a, uint16_t* buffer_a, uint32_t offset buffer_a += offset_a; buffer_b += offset_b; + usart.clearInputBuffer(); usart.writeByte(RQ_ADC_DAC_STROKE); usart.writeByte(channel_a); usart.writeByte(channel_b); diff --git a/drv/b15f.h b/drv/b15f.h index 4a12632..8b1b465 100644 --- a/drv/b15f.h +++ b/drv/b15f.h @@ -91,6 +91,8 @@ public: /*************************************/ + + /************************* * Steuerbefehle für B15 * *************************/ diff --git a/drv/b15f.o b/drv/b15f.o index d0b1584fd82be174df6e9b3e685e68de735fe5fd..bb61a6a1732f8dbd60dfd94bb8a8fdc16f997029 100644 GIT binary patch delta 4012 zcmai%e^6A{702IwxWE!vSPWj?#0XoFpvDRvBAJP@?lg(+BFG{rs6;RbI_&^k1!-a( z5yxizF@c=4+N6$QY-c(hGnFuzsre%r`g1Vt1SU!AA8nPiO|_*>=$O=m^vCyH-nPdd zJ3TY^y!YDMgS`uLUCJvdU1 z=K*K1Vbh&7)ul~?4F4OHhUvt`w(GdCZsqBB^1EgCLPiswqJ`N7YpuHpGX9_79v0N5 z7B0#zID%8l3T+8(j*o{LLiHO?mU~UkQ2ZZsJheRi^-ORqdGxi^WhwamDt0Vp}&x8y9Z(KC;H-^yM72L%#fhl(4U`%au;zuWl!8EY5r6F7vnabHa_U zxFdcioh{C@pH}oj$$i<6`AUzbhI|hXq(yu!_Vno0;>Ik;tO0TN<0j-j zv|Kx;TU^z;bi$$NDSeNUpc01)m z3&v;vp0h9oB8%z4NTzD0{)l!CB+C;ew;*;!hhy4uCfCoafh;# z%oiq^Urv*#Rbl)Wjjy8C4O*R`GWc&9|9zfuejzgK5*6R3A<*BslsEGhLH|f&pwoi3 z3wncQHt6ubl4SO{yNYubiKrYgFKgXT(Q2Kw#HD;^8t7!TrW4hf&ajwm7P-b~q*^iCw3FFKMF%p@VQ>;cijV|RC z77N-;!!=s%W{v8lNhlABJPktm45^LUc~<0kK+qSc40PC~%Rmkb`aNm|y&y7o2>Kcg zf&Ns`FA3_<*hZ}aGy`96{AuIgp+K#6_V7a<#;XovBvw5@QP4lQlvn+AL1(ESG>@P8 zFpjOmNW?x$BcK}umG>b^Q=lz^%01da{-}03UCMP!MCKzD0zEG1QbEs940Kx1b)fF0 zRZYWDty+xlph>Qh1q|aVaU)Lp|U!yerfW&ORZ2|7s`lG-eirF z>cbR_tMKod$a4?PAT~D%)rPKe>FvMHHz}}5JFke?QNwIaiJO}6vqeAM{gvUlDSIc1-J zHg#u>(xT{Q?WFmU6vp{KkCCXZ4J~jf_qI*YFHk>L@i@h{XjMZa$kQs6@`)6qDbOQ= zwun5($&U=r(IosS3c-(>oNpNaa~j6X+s6ORC_ggFPmQveRHJqt%0)UDci4rI=zk5B zfi}DJ_Pf_ct&LiBQlLqz9&>)y`0vmdqRxw)a@7}U22q!c@-2>aekJm+6xH81nLjle zH6H-RJ(OZ3I`q>Bsu#0&RtQa*(5x|H|q9ZXOd!2UNe4{ zz0+|olEPTI2P4r#j3z-(C!yyIy_AH$!!$gbgr??ky}4CCiesW;xjWCDM8$kP4QmZG7)9NTiw`+BrW}tjdEI>6E5H1$!`M?#QKiOi;94 zt6JLA{w%)AKWSfyukxiGEAds{1YbBB?^u_n{508Fkzw&RgVipi+^$vjR6Ye3FQAsL z68t5^yMmq%xhERwn@?A}N^HxajP6R6L*eeAUE4y(aIu!gadEnZGGdjgkHWDax{Jf# zq;dFj8dP+Da(AqZ2=&i)U!@WWKnKn9xi$gTt z%XPf_gIH1+{xZe)2kn$1v(l^kOYHO_%IK@Ktz8u9t5h#hye|kp-WRk7cT>h!i~j?n CCK^@% delta 3780 zcmZ{ne{fXQ702IwxCxPDNx*P(LB_;D2)2^!G{896UAJ|H{2(z)5;n_^BrBMt+L1&; zNJ?#4aKKbDX8W~Ttep}aXVh^9V%pk~ie$7F|8Q#BP9Yhprav4iIzw6!JJ`~5?!L7L zBzNYXefNI8=f}P8=Dn9apQxk%R70ii(fdYjIendf;6mlVrQ<%waVqzHG#drJWoE_P zn;xRE<1{s-XojF|U(kl*nLIym=`3q22j1KC555>mdp8`PZRcm=>F8OkqTDvj+?P@4 zTU^{e)c!@DwC?&Z>u$W3ZjPrzb4KB!a5TJO;H_{|xG_9%v8myBcB-UxgB4kLJfmXt zRK`*@M?@LDoVor6UHzhRoM&C%yRLK0rM)@j`lemyqtVVAH)pL`NgpFI& z6(L@sjjfSJ^&Wl4qZ&z~wi=>)Jz7q`+$u0up_khlX!Mdt4|{Znw`Zrl`9i3b+MM76 zMr~*6$8qQ&ay@s9239_y)Cs(`s#TR^`RZM&4a2LoXFC0mSdS7)n)9SC!AuQW zd(PU6*3L%vI<4konCwk#ad=&U`WgbYTJ=DYO<4Owo-se?KRIfg_a5q>Urx1Sh!cI& zqkLndg1(I;(LV~>F6bGI)#|DbW{CW;@LD3gJ`?jYmk&jC+T?h5i0f<;UbG8DlY(v$ zbOebyoul~hQ)A!F7_8IybzQazh}i}r>6JHOs!mrO5cIo({#VRDDCYhAaG}OIzDGSB zZ4ttEX;bM@-p3L_Ytem|R?VzY?HDHI{UVNBXCKCieqY2{CgS`6s-AYiqqh**E9j3A zAbMCt?hy0^#EJew(E9|%h)h}?s`_1f$fbh)5| z2opUc=vt!Q(D^#L*K1X8Z4|?#Y{?-^jkB~NAm~TqPd8`hM-lG|{Jp?^nn_o$C)M zYSiX~8GKzt8u^4I$d*{U#@ZH)(9BlkHEDG(rs(=R_WB@O^V(dlGIjSm={KG0w+NH| zwDtY7RsPLW@``R1%1>;x&#gWS;}rAWT*B0Nb&pX`$9xcKgEkL&l;hki=pzVh(CSAR zro2zt>u0Qeo2~i1h$-uw#29&c{D|hYuiLUUE9rwM73Il zaI;oHB%(SeB9!#Biqg|6nr(W-Y@6`kjVbcqi(&FVfIPC#*jPubeHq;}^SZU~TIJuZ z@Ma)VQ+k)YFyS3Ki3))}vSNS|b86ty(Zm_8xovsI`wFNnTHhm~yqx zV~q6l_9Ocm`R$kfdHKHaBdRtw+#!ncuWU_#I#K`)4y@;x^Ts#U8w2#{TjB-tS1 zt@KspeY$e}GR`rpnY3PK*_sQUlJ}ujWc-hf`8wkC9r;&le=>So+s`u8VNA4_nZiuc zQv2$x)GsIEegZ`uTHS%$Iv(Y(){ZjzYW+9aHZ1QfQ@NwD&b66JVR-xM>(75P*d3(MhiGuJ z6_YgRgn1xD)y2q`;t*M2g6wlJJ3?w3Vq|Ha>>f;zrAR#?^*&-fA-6J)CwqeQcAcO> zUmOc}2Gu)=?WEv$<4GDgn4m%PRxIod`f`i8u)wzY=;|%yn7tvlYbz#ugS2q7E9Cxa zD>m*5sxBPb6{203AX@;_7g8q?>kGO6Dz+;<+E?m+R*cEMpj*BT3;Tm=2(kVU*+cyy L_e2LK`%C@@SVOB% diff --git a/drv/usart.cpp b/drv/usart.cpp index d9c0dbf..2d4cf41 100644 --- a/drv/usart.cpp +++ b/drv/usart.cpp @@ -51,14 +51,15 @@ void USART::clearOutputBuffer() void USART::writeByte(uint8_t b) { - //std::cout << "write(): " << (int) b << std::endl; - if(write(file_desc, &b, 1) != 1) + int sent = write(file_desc, &b, 1); + if(sent != 1) throw USARTException("Fehler beim Senden: writeByte()"); } void USART::writeInt(uint16_t d) { - if(write(file_desc, reinterpret_cast(&d), 2) != 2) + int sent = write(file_desc, reinterpret_cast(&d), 2); + if(sent != 2) throw USARTException("Fehler beim Senden: writeInt()"); } @@ -102,28 +103,15 @@ uint8_t USART::readByte(void) uint16_t elapsed = 0; while(elapsed < timeout * 100) { - int n_ready; - int code = ioctl(file_desc, FIONREAD, &n_ready); - if(code != 0) - std::cout << "n_ready code: " << code << std::endl; - - if(n_ready > 0) - { - //std::cout << code << " \tready: " << n_ready << std::endl; - - code = read(file_desc, &b, 1); - if (code > 0) - return static_cast(b); - if (code < 0) - std::cout << "usart code: " << code << std::endl; - } - + int code = read(file_desc, &b, 1); + if (code > 0) + return static_cast(b); + end = std::chrono::steady_clock::now(); elapsed = std::chrono::duration_cast(end - start).count(); } - if(elapsed >= timeout) - throw USARTException("Verbindung unterbrochen. (timeout)"); + throw TimeoutException("Verbindung unterbrochen.", timeout); } uint16_t USART::readInt(void) diff --git a/drv/usart.h b/drv/usart.h index a52d74a..bc9c220 100644 --- a/drv/usart.h +++ b/drv/usart.h @@ -9,6 +9,7 @@ #include #include #include "usartexception.h" +#include "timeoutexception.h" class USART { diff --git a/drv/usart.o b/drv/usart.o index 57ade56e20212e50d8a7d653c907d02f30926438..209f02e02c87d466ff3d32a412cc4c477090b70f 100644 GIT binary patch literal 24440 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 diff --git a/gnuplotscript.gp b/gnuplotscript.gp index d611d65..752e2b8 100644 --- a/gnuplotscript.gp +++ b/gnuplotscript.gp @@ -10,20 +10,20 @@ set y2range [0:50] set yrange [0:50] set label at 2,36 'U_{DS} [V] = 300' right set label at 2,33 'U_{DS} [V] = 325' right -set label at 2,36 'U_{DS} [V] = 350' right +set label at 2,21 'U_{DS} [V] = 350' right set label at 2,38 'U_{DS} [V] = 375' right -set label at 2,5 'U_{DS} [V] = 400' right +set label at 2,23 'U_{DS} [V] = 400' right set label at 2,23 'U_{DS} [V] = 425' right set label at 2,24 'U_{DS} [V] = 450' right set label at 2,24 'U_{DS} [V] = 475' right -set label at 2,12 'U_{DS} [V] = 500' right -set label at 2,13 'U_{DS} [V] = 525' right -set label at 2,13 'U_{DS} [V] = 550' right +set label at 2,25 'U_{DS} [V] = 500' right +set label at 2,5 'U_{DS} [V] = 525' right +set label at 2,6 'U_{DS} [V] = 550' right set label at 2,13 'U_{DS} [V] = 575' right set label at 2,13 'U_{DS} [V] = 600' right -set label at 2,6 'U_{DS} [V] = 625' right -set label at 2,6 'U_{DS} [V] = 650' right -set label at 2,6 'U_{DS} [V] = 675' right +set label at 2,13 'U_{DS} [V] = 625' right +set label at 2,2 'U_{DS} [V] = 650' right +set label at 2,2 'U_{DS} [V] = 675' right set label at 2,6 'U_{DS} [V] = 700' right set label at 2,2 'U_{DS} [V] = 725' right set label at 2,2 'U_{DS} [V] = 725' right diff --git a/main b/main index 6ab14c5569dbbbd50f674773289f3973ba7ffbae..3b3b93bdcf9ee85cb9197c51eee02ca72bd9e284 100755 GIT binary patch delta 21988 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 Ot3mSoE9}%)J^v5sfAOaP delta 20837 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ìAOKQiu|w3EvA(dJ0L@z}-$S!@?^0j90N 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 diff --git a/test_plot b/test_plot index 9860ede0d4612062b8c3ee8da43962dba46183ef..9dbebdd9681e1add841d03d2452a51e976125eb2 100644 GIT binary patch literal 1080 zcmc)EO>5Lp6b9h;&P+0sw6~gRQ=Mvrh%-8xps7a4Vvt~?jdgJ0M;F4BiXbZDMhSit zapO80e?%5iL02yG2NYap)0K!t>mmy`f^VC)pnt%?!#OA1^Kz{DYl{o+{Nm;1Tf;d4 z;CxNNEF96n4V~lGcYW#E#j7j3}Pc5wk|TjjT$;9x-nOwNEa2c8X>{h31k+ zJ_RZCL5i`Eq7>sX4N1wMX&H1Hla+BJ!?>A2b}~#@WM|mZ&0zG&&CvG9&oCKem>N)+ z!HhCY$224*$3ZQJEpr?(a`em`M>{!=QQyjO+|F^r&2iGpamuG4$1I&5P?+OPoa5{! zrNEG`Xa#P{0?TyUC~$}Fng#CB{Z4_0c7aFqxLY9U7kENX-2%_O%8FlL(~F?M%c#IB zrNkRrrMFs%&$7gtQDU7oIwgKvr4UrNOQCtCn4)RgNBjL!%mk%4ph|Ip=IIhG&}ChU z*Ar5FXiM>tK21xpHY3IQAt}nkQvB-4TAdnduO?}N_L4zun$ml#X1D2W`;LKY?7gX8-^I literal 1140 zcmc)EO>5Lp7zN;ynaRu~)7v)FrZ7s>s2PnU+NiUb#UR0nZK$*Iqr23)5J6q|fg_gs z^$UXH!k-Y_xKP|@DTv@UD;MIzR$B;IH{xky3;G8PJe+&OeP50-dwzb-ot;0sczMv5 z0Guw#I1Wc@;iAgx)^}lHY3AJW&UNeG4S)L{F7&sLf8OKo+5W$?V&~m|KgbRwg@l8W zMuvm3=|Hx~bx`%FLtO{89{CRH0fjVhpvnQ~1C%xi(nt?bZjnJ|LAC-^NVW@AFW}w) zwJx*Aq`DtK378=bc$Opfiny~-)+6pEgUpB>$&J{NI@FE0hx~{;A}E81{f6vDqEOa` zDC>nvi%AuOOtOZk+T;#V^O#iYFsat1-jE%K>^OuPG6zgKMp-FTM2w0SL)OWNQ8i=K zEwagtp?K7xF7;xl)bL}B1k8{*AUQ#u6eWQw5;U{~BYFbSA|t`5Ss1etjM)h^m%Ku= zlVGAty#$j!1r#RG2MMO+6uXradug9YabS~{;$SPqAtS|Mvdt7ntQ3w-Zi=Iw6vt?~ z%cSXE3eQh*B1~~o&Jfa^l3`wCxI~LuhAVo8tE~*z=(?HVCf%ajR)#xvhP!TtdtQe7 zoeWE~+|BTym*JtG;SoI!GCYxUyi{_$rw{Z|CT=_x&<=k#J!NU!N_Q%LW23F*roA+69Vt)X9Y5)KL From 8dcd24adbde9be923f323eb891fc0c2c5d24a5b3 Mon Sep 17 00:00:00 2001 From: Tristan Krause Date: Mon, 1 Apr 2019 08:36:45 +0200 Subject: [PATCH 28/32] block senden stabil --- Makefile | 2 +- drv/b15f.cpp | 7 +++++ drv/b15f.o | Bin 31232 -> 27648 bytes drv/usart.cpp | 83 ++++++++++++++++++++++++++++++++++++++------------ drv/usart.h | 3 +- drv/usart.o | Bin 24440 -> 29472 bytes main | Bin 61256 -> 61760 bytes 7 files changed, 73 insertions(+), 22 deletions(-) diff --git a/Makefile b/Makefile index e9a3e0f..6353eb8 100644 --- a/Makefile +++ b/Makefile @@ -8,7 +8,7 @@ COMPILER_PATH = g++ OUTPUT = main -CFLAGS = -std=c++14 -O3 +CFLAGS = -std=c++14 -O3 -Wall -Wextra LDFLAGS = OBJECTS = main.o drv/usart.o drv/b15f.o drv/plottyfile.o drv/dot.o diff --git a/drv/b15f.cpp b/drv/b15f.cpp index 2ecff4e..37ac3e6 100644 --- a/drv/b15f.cpp +++ b/drv/b15f.cpp @@ -27,6 +27,13 @@ void B15F::init() std::cout << "OK" << std::endl; + // Temporärer Test + uint8_t block[] = {0, 1, 2, 3}; + while(1) + usart.writeBlock(&block[0], 0, sizeof(block)); + throw std::runtime_error("SCHLUSS"); + + std::cout << PRE << "Teste Verbindung... " << std::flush; uint8_t tries = 3; diff --git a/drv/b15f.o b/drv/b15f.o index bb61a6a1732f8dbd60dfd94bb8a8fdc16f997029..7554439160cc22c4fd5b0496972bd0b962cf8b8c 100644 GIT binary patch literal 27648 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 R$;J39mRl5;*(&Y!`yY2pi{StO literal 31232 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 soeMSLQ&^wYM^XfG>= 1; + writeByte(buffer[i]); + usleep((1000000 / baudrate) * 16); + + crc ^= buffer[i]; + for (uint8_t k = 0; k < 8; k++) + { + if (crc & 1) + crc ^= CRC7_POLY; + crc >>= 1; + } + } + + writeByte(crc); + usleep((1000000 / baudrate) * 16); + + writeByte(0x80); // Stoppzeichen für Block + + usleep((1000000 / baudrate) * 16); + + int code = read(file_desc, &aw, 1); + if(code < 0) + { + std::cout << "WARNING: read error, retry..." << std::endl; + usleep(100000); + code = read(file_desc, &aw, 1); } - buffer++; - } + if(code == 0) + { + std::cout << "timeout info" << std::endl; + for(uint8_t i = 0; i < MAX_BLOCK_SIZE; i++) + { + std::cout << "i: " << (int) i << std::endl; + sleep(1); + writeByte(0x80); // Stoppzeichen für Block + + code = read(file_desc, &aw, 1); + if(code == 1) + { + std::cout << "YO HO" << std::endl; + std::cout << "aw: " << (int) aw << std::endl; + i = 0xFF; + } + } + } + else if(code != 1) + throw std::runtime_error("fatal: " + std::to_string(code)); - writeByte(crc); - writeByte(0x80); // Stoppzeichen für Block - - uint8_t aw = readByte(); - if(aw != 0xFF) - { - std::cout << "Ende Gelände" << std::endl; + clearInputBuffer(); } + while(aw != 0xFF); + + std::cout << "OK" << std::endl; } uint8_t USART::readByte(void) diff --git a/drv/usart.h b/drv/usart.h index bc9c220..01c0533 100644 --- a/drv/usart.h +++ b/drv/usart.h @@ -122,7 +122,8 @@ private: int TEST = 0; uint8_t timeout = 10; // in Dezisekunden - constexpr static uint8_t CRC7_POLY = 0x91; + constexpr static uint8_t CRC7_POLY = 0x91; + constexpr static uint8_t MAX_BLOCK_SIZE = 16; }; diff --git a/drv/usart.o b/drv/usart.o index 209f02e02c87d466ff3d32a412cc4c477090b70f..0489533929ce3676ed52c15ecb2d93ebc5a8977d 100644 GIT binary patch literal 29472 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%0D!{UF_QhJ9DRK9!O8GjS)GmGW8L4p4_d z+9Nkc^r+)f{XwnQ&jUvK}JKe4b6d><%8JI#ZM2=*-@jL0A&q44KHl7wLEcHnJ zPPxwdF9c6E{sGC)_YfrB$#1&wKXRP>w71Kqf3xH-BBd-j^*@L*(SDBlZMNEZEPWzkRPl1YE5v{T(SO8x3RgTj^l#6xL`6Bv5>|oLiR0qqOp0IOEiU>uOZ}>!k$#GWicjIU$of0` z-+}l-zAnztjFfsh__i zAU>!4znA<@`}ZHG{cpM0@4Jz-;a|zwHxWNCMqbrl*-z)SssB0kAC>wGCBM2Ue)T*a z{Mq{dbyEK_Nl5;qxnA)r{pBwD3;Z_Yf2Y69MgP_;`pdHDUoQ32yB3}*{q~c*rHWMh zse8AJ{mUeys;?5@e5Ut6+5A_q)aForBLC4`s`wTDsMKGg6v%tC-_Bg%z^Sb%sXP7u z3zfG^?BDzR{3)Gx(!MD99m7X^Q1Tm8IhK_D3Znm~ku83e$oelsIVGz9EL@6T)t~Hf z>IS482+%M750ZS@N_#)rzdHHp9k5h^TsrNd&Vr=QHQG;^zM}Y)jej6wbL?>xI{o*5 E0Ss*Lxc~qF literal 24440 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 bZEw3eB=~J1zp*F#x^0+#{&%d$rGEbp?LH{Q From 6ca3d36bcb2e0366402dc9fcbd513d089620b94f Mon Sep 17 00:00:00 2001 From: Tristan Krause Date: Mon, 1 Apr 2019 08:47:55 +0200 Subject: [PATCH 29/32] separate timeout read funktio --- drv/usart.cpp | 60 ++++++++++++++++++++++++++++++++------------------ drv/usart.h | 1 + drv/usart.o | Bin 29472 -> 28400 bytes main | Bin 61760 -> 61792 bytes 4 files changed, 39 insertions(+), 22 deletions(-) diff --git a/drv/usart.cpp b/drv/usart.cpp index 8b7809f..964ddfc 100644 --- a/drv/usart.cpp +++ b/drv/usart.cpp @@ -70,11 +70,35 @@ void USART::writeInt(uint16_t d) throw USARTException("Fehler beim Senden: writeInt()"); } + + +int USART::read_timeout(uint8_t* buffer, uint16_t offset, uint8_t len, uint32_t timeout) +{ + buffer += offset; + uint32_t elapsed = 0; + int n_read = -1; + auto start = std::chrono::steady_clock::now(); + auto end = start; + while(elapsed < timeout) + { + n_read = read(file_desc, buffer, len); + if (n_read == len) + return n_read; + + end = std::chrono::steady_clock::now(); + elapsed = std::chrono::duration_cast(end - start).count(); + } + + return n_read; +} + + void USART::writeBlock(uint8_t* buffer, uint16_t offset, uint8_t len) { buffer += offset; uint8_t crc; uint8_t aw; + uint16_t us_per_bit = (1000000 / baudrate) * 16; do { @@ -84,7 +108,7 @@ void USART::writeBlock(uint8_t* buffer, uint16_t offset, uint8_t len) for(uint8_t i = 0; i < len; i++) { writeByte(buffer[i]); - usleep((1000000 / baudrate) * 16); + usleep(us_per_bit); crc ^= buffer[i]; for (uint8_t k = 0; k < 8; k++) @@ -96,40 +120,32 @@ void USART::writeBlock(uint8_t* buffer, uint16_t offset, uint8_t len) } writeByte(crc); - usleep((1000000 / baudrate) * 16); + usleep(us_per_bit); - writeByte(0x80); // Stoppzeichen für Block - - usleep((1000000 / baudrate) * 16); + writeByte(0x80); // Stoppzeichen für Block + usleep(us_per_bit); - int code = read(file_desc, &aw, 1); - if(code < 0) + int n_read = read_timeout(&aw, 0, 1, us_per_bit); + if(n_read < 0) { std::cout << "WARNING: read error, retry..." << std::endl; - usleep(100000); - code = read(file_desc, &aw, 1); + n_read = read_timeout(&aw, 0, 1, us_per_bit); } - if(code == 0) + if(n_read == 0) { std::cout << "timeout info" << std::endl; for(uint8_t i = 0; i < MAX_BLOCK_SIZE; i++) { - std::cout << "i: " << (int) i << std::endl; - sleep(1); writeByte(0x80); // Stoppzeichen für Block - - code = read(file_desc, &aw, 1); - if(code == 1) - { - std::cout << "YO HO" << std::endl; - std::cout << "aw: " << (int) aw << std::endl; - i = 0xFF; - } + + n_read = read_timeout(&aw, 0, 1, us_per_bit * 2); + if(n_read == 1) + break; } } - else if(code != 1) - throw std::runtime_error("fatal: " + std::to_string(code)); + else if(n_read != 1) + throw std::runtime_error("fatal: " + std::to_string(n_read)); clearInputBuffer(); } diff --git a/drv/usart.h b/drv/usart.h index 01c0533..2355f2b 100644 --- a/drv/usart.h +++ b/drv/usart.h @@ -78,6 +78,7 @@ public: */ uint16_t readInt(void); + int read_timeout(uint8_t* buffer, uint16_t offset, uint8_t len, uint32_t timeout); void writeBlock(uint8_t* buffer, uint16_t offset, uint8_t len); bool readBlock(uint8_t* buffer, uint16_t offset); diff --git a/drv/usart.o b/drv/usart.o index 0489533929ce3676ed52c15ecb2d93ebc5a8977d..56837e6147800dded77d22ba5ca55202ff10f44a 100644 GIT binary patch delta 8665 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%0D!{UF_QhJ9DRK9!O8GjS)GmGW8L4p4_d z+9Nkc^r+)f{XwnQ&jUvK}JKe4b6d><%8JI#ZM2=*-@jL0A&q44KHl7wLEcHnJ zPPxwdF9c6E{sGC)_YfrB$#1&wKXRP>w71Kqf3xH-BBd-j^*@L*(SDBlZMNEZEPWzkRPl1YE5v{T(SO8x3RgTj^l#6xL`6Bv5>|oLiR0qqOp0IOEiU>uOZ}>!k$#GWicjIU$of0` z-+}l-zAnztjFfsh__i zAU>!4znA<@`}ZHG{cpM0@4Jz-;a|zwHxWNCMqbrl*-z)SssB0kAC>wGCBM2Ue)T*a z{Mq{dbyEK_Nl5;qxnA)r{pBwD3;Z_Yf2Y69MgP_;`pdHDUoQ32yB3}*{q~c*rHWMh zse8AJ{mUeys;?5@e5Ut6+5A_q)aForBLC4`s`wTDsMKGg6v%tC-_Bg%z^Sb%sXP7u z3zfG^?BDzR{3)Gx(!MD99m7X^Q1Tm8IhK_D3Znm~ku83e$oelsIVGz9EL@6T)t~Hf z>IS482+%M750ZS@N_#)rzdHHp9k5h^TsrNd&Vr=QHQG;^zM}Y)jej6wbL?>xI{o*5 E0Ss*Lxc~qF diff --git a/main b/main index 158b1921793bb41d7d9e1204e6534db4507e2561..25cec96e7f6577d55897277860fa3060b97e2d85 100755 GIT binary patch delta 18523 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 Hr|$m`_d$Yr From f4ca17346c1f53cc5c972ba7859e9d66250268dc Mon Sep 17 00:00:00 2001 From: Tristan Krause Date: Mon, 1 Apr 2019 14:30:21 +0200 Subject: [PATCH 30/32] send block scheint stabil --- drv/usart.cpp | 43 +++++++++++++++++++++++++++++++++++++------ drv/usart.h | 8 +++++--- drv/usart.o | Bin 28400 -> 30696 bytes main | Bin 61792 -> 61888 bytes 4 files changed, 42 insertions(+), 9 deletions(-) diff --git a/drv/usart.cpp b/drv/usart.cpp index 964ddfc..70e738e 100644 --- a/drv/usart.cpp +++ b/drv/usart.cpp @@ -74,14 +74,13 @@ void USART::writeInt(uint16_t d) int USART::read_timeout(uint8_t* buffer, uint16_t offset, uint8_t len, uint32_t timeout) { - buffer += offset; uint32_t elapsed = 0; int n_read = -1; auto start = std::chrono::steady_clock::now(); auto end = start; while(elapsed < timeout) { - n_read = read(file_desc, buffer, len); + n_read = read(file_desc, buffer + offset, len); if (n_read == len) return n_read; @@ -92,6 +91,24 @@ int USART::read_timeout(uint8_t* buffer, uint16_t offset, uint8_t len, uint32_t return n_read; } +int USART::write_timeout(uint8_t* buffer, uint16_t offset, uint8_t len, uint32_t timeout) +{ + uint32_t elapsed = 0; + int n_sent = -1; + auto start = std::chrono::steady_clock::now(); + auto end = start; + while(elapsed < timeout) + { + n_sent = write(file_desc, buffer + offset, len); + if (n_sent == len) + return n_sent; + + end = std::chrono::steady_clock::now(); + elapsed = std::chrono::duration_cast(end - start).count(); + } + + return n_sent; +} void USART::writeBlock(uint8_t* buffer, uint16_t offset, uint8_t len) { @@ -99,15 +116,25 @@ void USART::writeBlock(uint8_t* buffer, uint16_t offset, uint8_t len) uint8_t crc; uint8_t aw; uint16_t us_per_bit = (1000000 / baudrate) * 16; + uint8_t block_end = BLOCK_END; do { crc = 0; - writeByte(len); + // send block length + int n_sent = write_timeout(&len, 0, 1, us_per_bit); + if(n_sent != 1) + throw std::runtime_error("fatal (send): " + std::to_string(n_sent)); + + // send block + n_sent = write_timeout(buffer, 0, len, us_per_bit * len); + if(n_sent != len) + throw std::runtime_error("fatal (send #2): " + std::to_string(n_sent)); + + // calc crc for(uint8_t i = 0; i < len; i++) { - writeByte(buffer[i]); usleep(us_per_bit); crc ^= buffer[i]; @@ -119,10 +146,14 @@ void USART::writeBlock(uint8_t* buffer, uint16_t offset, uint8_t len) } } - writeByte(crc); + n_sent = write_timeout(&crc, 0, 1, us_per_bit); + if(n_sent != 1) + throw std::runtime_error("fatal (send): " + std::to_string(n_sent)); usleep(us_per_bit); - writeByte(0x80); // Stoppzeichen für Block + n_sent = write_timeout(&block_end, 0, 1, us_per_bit); + if(n_sent != 1) + throw std::runtime_error("fatal (send): " + std::to_string(n_sent)); usleep(us_per_bit); int n_read = read_timeout(&aw, 0, 1, us_per_bit); diff --git a/drv/usart.h b/drv/usart.h index 2355f2b..36a0c33 100644 --- a/drv/usart.h +++ b/drv/usart.h @@ -79,6 +79,7 @@ public: uint16_t readInt(void); int read_timeout(uint8_t* buffer, uint16_t offset, uint8_t len, uint32_t timeout); + int write_timeout(uint8_t* buffer, uint16_t offset, uint8_t len, uint32_t timeout); void writeBlock(uint8_t* buffer, uint16_t offset, uint8_t len); bool readBlock(uint8_t* buffer, uint16_t offset); @@ -116,15 +117,16 @@ public: /***************************************/ + constexpr static uint8_t CRC7_POLY = 0x91; + constexpr static uint8_t MAX_BLOCK_SIZE = 16; + constexpr static uint8_t BLOCK_END = 0x80; private: int file_desc = -1; // Linux Dateideskriptor uint32_t baudrate = 9600; int TEST = 0; uint8_t timeout = 10; // in Dezisekunden - - constexpr static uint8_t CRC7_POLY = 0x91; - constexpr static uint8_t MAX_BLOCK_SIZE = 16; + uint8_t buffer[MAX_BLOCK_SIZE + 3]; }; diff --git a/drv/usart.o b/drv/usart.o index 56837e6147800dded77d22ba5ca55202ff10f44a..58b46cd09bf86da9ca04dd939eced03bd8dc44c6 100644 GIT binary patch literal 30696 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 literal 28400 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 delta 15904 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 Date: Mon, 1 Apr 2019 15:15:46 +0200 Subject: [PATCH 31/32] bereite vereinigung vor --- drv/b15f.cpp | 20 +++++++-------- drv/b15f.o | Bin 27648 -> 27648 bytes drv/usart.cpp | 66 +++++++++++++++++++++++--------------------------- drv/usart.h | 7 +++--- drv/usart.o | Bin 30696 -> 29968 bytes main | Bin 61888 -> 61888 bytes 6 files changed, 44 insertions(+), 49 deletions(-) diff --git a/drv/b15f.cpp b/drv/b15f.cpp index 37ac3e6..f53d066 100644 --- a/drv/b15f.cpp +++ b/drv/b15f.cpp @@ -83,13 +83,13 @@ void B15F::reconnect() void B15F::discard(void) { - usart.clearOutputBuffer(); + usart.flushOutputBuffer(); for(uint8_t i = 0; i < 8; i++) { usart.writeByte(RQ_DISC); // sende discard Befehl (verwerfe input) delay_ms((16000 / BAUDRATE) + 1); // warte mindestens eine Millisekunde, gegebenenfalls mehr } - usart.clearInputBuffer(); + usart.flushInputBuffer(); } bool B15F::testConnection() @@ -147,7 +147,7 @@ std::vector B15F::getBoardInfo(void) bool B15F::digitalWrite0(uint8_t port) { - usart.clearInputBuffer(); + usart.flushInputBuffer(); usart.writeByte(RQ_BA0); usart.writeByte(port); @@ -157,7 +157,7 @@ bool B15F::digitalWrite0(uint8_t port) bool B15F::digitalWrite1(uint8_t port) { - usart.clearInputBuffer(); + usart.flushInputBuffer(); usart.writeByte(RQ_BA1); usart.writeByte(port); @@ -167,21 +167,21 @@ bool B15F::digitalWrite1(uint8_t port) uint8_t B15F::digitalRead0() { - usart.clearInputBuffer(); + usart.flushInputBuffer(); usart.writeByte(RQ_BE0); return usart.readByte(); } uint8_t B15F::digitalRead1() { - usart.clearInputBuffer(); + usart.flushInputBuffer(); usart.writeByte(RQ_BE1); return usart.readByte(); } bool B15F::analogWrite0(uint16_t value) { - usart.clearInputBuffer(); + usart.flushInputBuffer(); usart.writeByte(RQ_AA0); usart.writeInt(value); @@ -191,7 +191,7 @@ bool B15F::analogWrite0(uint16_t value) bool B15F::analogWrite1(uint16_t value) { - usart.clearInputBuffer(); + usart.flushInputBuffer(); usart.writeByte(RQ_AA1); usart.writeInt(value); @@ -201,7 +201,7 @@ bool B15F::analogWrite1(uint16_t value) uint16_t B15F::analogRead(uint8_t channel) { - usart.clearInputBuffer(); + usart.flushInputBuffer(); usart.writeByte(RQ_ADC); usart.writeByte(channel); return usart.readInt(); @@ -212,7 +212,7 @@ bool B15F::analogSequence(uint8_t channel_a, uint16_t* buffer_a, uint32_t offset buffer_a += offset_a; buffer_b += offset_b; - usart.clearInputBuffer(); + usart.flushInputBuffer(); usart.writeByte(RQ_ADC_DAC_STROKE); usart.writeByte(channel_a); usart.writeByte(channel_b); diff --git a/drv/b15f.o b/drv/b15f.o index 7554439160cc22c4fd5b0496972bd0b962cf8b8c..0bd67ccf55b16a5bea1db8436d61cdc44067f8a5 100644 GIT binary patch delta 227 zcmZp;!PszvaYF_ZtA8`5NOb0gUQ$V zbQlvRv+yfRD0p--A9v;eo9WEM^&%8%=45+*aZMa1^adLsnb~=NU&7{k{!41CX*s3E Q8I!}z3?Qt{-Dahx042v$2><{9 delta 227 zcmZp;!PszvaYF_ZtAs~)xxnUJrny`oX0gCzeqMVBYjZHK8Ka+oNAnvFk52aw$K8K0 z0KqZ$KU^=~eft03qqo|?qt_H9_TnCh-+BK9h~v=>5)XFp=sfCSdA)=cCI~d>u)^f) zd^(H)lUewcB?LS=nU6bjfV3QQ=HYq~3N>@GJ-@gn4ikEV6_CvAyuUACb3OkhHP+;u S)Wo96VP*yp*5+=rQd0n;>QTc0 diff --git a/drv/usart.cpp b/drv/usart.cpp index 70e738e..b120c68 100644 --- a/drv/usart.cpp +++ b/drv/usart.cpp @@ -24,8 +24,8 @@ void USART::openDevice(std::string device) if(code) throw USARTException("Fehler beim Setzen der Geräteparameter"); - clearOutputBuffer(); - clearInputBuffer(); + flushOutputBuffer(); + flushInputBuffer(); } void USART::closeDevice() @@ -35,14 +35,14 @@ void USART::closeDevice() throw USARTException("Fehler beim Schließen des Gerätes"); } -void USART::clearInputBuffer() +void USART::flushInputBuffer() { int code = tcflush(file_desc, TCIFLUSH); if(code) throw USARTException("Fehler beim Leeren des Eingangspuffers"); } -void USART::clearOutputBuffer() +void USART::flushOutputBuffer() { int code = tcflush(file_desc, TCOFLUSH); if(code) @@ -112,31 +112,17 @@ int USART::write_timeout(uint8_t* buffer, uint16_t offset, uint8_t len, uint32_t void USART::writeBlock(uint8_t* buffer, uint16_t offset, uint8_t len) { - buffer += offset; uint8_t crc; uint8_t aw; - uint16_t us_per_bit = (1000000 / baudrate) * 16; - uint8_t block_end = BLOCK_END; + const uint16_t us_per_bit = (1000000 / baudrate) * 16; + const uint16_t n_total = len + 3; do - { - crc = 0; - - // send block length - int n_sent = write_timeout(&len, 0, 1, us_per_bit); - if(n_sent != 1) - throw std::runtime_error("fatal (send): " + std::to_string(n_sent)); - - // send block - n_sent = write_timeout(buffer, 0, len, us_per_bit * len); - if(n_sent != len) - throw std::runtime_error("fatal (send #2): " + std::to_string(n_sent)); - + { // calc crc + crc = 0; for(uint8_t i = 0; i < len; i++) - { - usleep(us_per_bit); - + { crc ^= buffer[i]; for (uint8_t k = 0; k < 8; k++) { @@ -145,22 +131,30 @@ void USART::writeBlock(uint8_t* buffer, uint16_t offset, uint8_t len) crc >>= 1; } } + + // construct block + block_buffer[0] = len; + std::memcpy(&block_buffer[1], buffer + offset, len); + block_buffer[len + 1] = crc; + block_buffer[len + 2] = BLOCK_END; - n_sent = write_timeout(&crc, 0, 1, us_per_bit); - if(n_sent != 1) + // send block + int n_sent = write_timeout(&block_buffer[0], 0, len + 3, us_per_bit * n_total); + if(n_sent != n_total) throw std::runtime_error("fatal (send): " + std::to_string(n_sent)); - usleep(us_per_bit); - - n_sent = write_timeout(&block_end, 0, 1, us_per_bit); - if(n_sent != 1) - throw std::runtime_error("fatal (send): " + std::to_string(n_sent)); - usleep(us_per_bit); + flushOutputBuffer(); + usleep(1000); + + // check response int n_read = read_timeout(&aw, 0, 1, us_per_bit); - if(n_read < 0) + for(uint8_t i = 0; i < 10 && n_read != 1; i++) { - std::cout << "WARNING: read error, retry..." << std::endl; - n_read = read_timeout(&aw, 0, 1, us_per_bit); + flushOutputBuffer(); + flushInputBuffer(); + std::cout << "WARNING: read error (" << n_read << "), retry #" << (int) i << std::endl; + usleep(1000000); + n_read = read_timeout(&aw, 0, 1, us_per_bit * 2); } if(n_read == 0) @@ -178,11 +172,11 @@ void USART::writeBlock(uint8_t* buffer, uint16_t offset, uint8_t len) else if(n_read != 1) throw std::runtime_error("fatal: " + std::to_string(n_read)); - clearInputBuffer(); + flushInputBuffer(); } while(aw != 0xFF); - std::cout << "OK" << std::endl; + //std::cout << "OK" << std::endl; } uint8_t USART::readByte(void) diff --git a/drv/usart.h b/drv/usart.h index 36a0c33..006ffef 100644 --- a/drv/usart.h +++ b/drv/usart.h @@ -5,6 +5,7 @@ #include #include #include +#include #include #include #include @@ -36,13 +37,13 @@ public: * Verwirft Daten, die bereits im Puffer liegen, aber noch nicht gelesen wurden * \throws USARTException */ - void clearInputBuffer(void); + void flushInputBuffer(void); /** * Verwirft Daten, die bereits im Puffer liegen, aber noch nicht gesendet wurden * \throws USARTException */ - void clearOutputBuffer(void); + void flushOutputBuffer(void); /*************************************************/ @@ -126,7 +127,7 @@ private: uint32_t baudrate = 9600; int TEST = 0; uint8_t timeout = 10; // in Dezisekunden - uint8_t buffer[MAX_BLOCK_SIZE + 3]; + uint8_t block_buffer[MAX_BLOCK_SIZE + 3]; }; diff --git a/drv/usart.o b/drv/usart.o index 58b46cd09bf86da9ca04dd939eced03bd8dc44c6..1bc72dfc2554d7f560d7878a84c354469e48f305 100644 GIT binary patch delta 8404 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 Htr+pYIZ#4E delta 9084 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 PJf-ENi;6DXsMh=s?A~G1 delta 13958 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 Date: Mon, 1 Apr 2019 15:16:17 +0200 Subject: [PATCH 32/32] rename --- Makefile => driver/Makefile | 0 {drv => driver/drv}/b15f.cpp | 0 {drv => driver/drv}/b15f.h | 0 {drv => driver/drv}/b15f.o | Bin {drv => driver/drv}/dot.cpp | 0 {drv => driver/drv}/dot.h | 0 {drv => driver/drv}/dot.h.gch | Bin {drv => driver/drv}/dot.o | Bin {drv => driver/drv}/driverexception.h | 0 {drv => driver/drv}/plottyfile.cpp | 0 {drv => driver/drv}/plottyfile.h | 0 {drv => driver/drv}/plottyfile.o | Bin {drv => driver/drv}/timeoutexception.h | 0 {drv => driver/drv}/usart.cpp | 0 {drv => driver/drv}/usart.h | 0 {drv => driver/drv}/usart.o | Bin {drv => driver/drv}/usartexception.h | 0 gnuplotscript.gp => driver/gnuplotscript.gp | 0 graph => driver/graph | Bin main => driver/main | Bin main.cpp => driver/main.cpp | 0 main.o => driver/main.o | Bin plotty => driver/plotty | Bin test_plot => driver/test_plot | Bin 24 files changed, 0 insertions(+), 0 deletions(-) rename Makefile => driver/Makefile (100%) rename {drv => driver/drv}/b15f.cpp (100%) rename {drv => driver/drv}/b15f.h (100%) rename {drv => driver/drv}/b15f.o (100%) rename {drv => driver/drv}/dot.cpp (100%) rename {drv => driver/drv}/dot.h (100%) rename {drv => driver/drv}/dot.h.gch (100%) rename {drv => driver/drv}/dot.o (100%) rename {drv => driver/drv}/driverexception.h (100%) rename {drv => driver/drv}/plottyfile.cpp (100%) rename {drv => driver/drv}/plottyfile.h (100%) rename {drv => driver/drv}/plottyfile.o (100%) rename {drv => driver/drv}/timeoutexception.h (100%) rename {drv => driver/drv}/usart.cpp (100%) rename {drv => driver/drv}/usart.h (100%) rename {drv => driver/drv}/usart.o (100%) rename {drv => driver/drv}/usartexception.h (100%) rename gnuplotscript.gp => driver/gnuplotscript.gp (100%) rename graph => driver/graph (100%) rename main => driver/main (100%) rename main.cpp => driver/main.cpp (100%) rename main.o => driver/main.o (100%) rename plotty => driver/plotty (100%) rename test_plot => driver/test_plot (100%) diff --git a/Makefile b/driver/Makefile similarity index 100% rename from Makefile rename to driver/Makefile diff --git a/drv/b15f.cpp b/driver/drv/b15f.cpp similarity index 100% rename from drv/b15f.cpp rename to driver/drv/b15f.cpp diff --git a/drv/b15f.h b/driver/drv/b15f.h similarity index 100% rename from drv/b15f.h rename to driver/drv/b15f.h diff --git a/drv/b15f.o b/driver/drv/b15f.o similarity index 100% rename from drv/b15f.o rename to driver/drv/b15f.o diff --git a/drv/dot.cpp b/driver/drv/dot.cpp similarity index 100% rename from drv/dot.cpp rename to driver/drv/dot.cpp diff --git a/drv/dot.h b/driver/drv/dot.h similarity index 100% rename from drv/dot.h rename to driver/drv/dot.h diff --git a/drv/dot.h.gch b/driver/drv/dot.h.gch similarity index 100% rename from drv/dot.h.gch rename to driver/drv/dot.h.gch diff --git a/drv/dot.o b/driver/drv/dot.o similarity index 100% rename from drv/dot.o rename to driver/drv/dot.o diff --git a/drv/driverexception.h b/driver/drv/driverexception.h similarity index 100% rename from drv/driverexception.h rename to driver/drv/driverexception.h diff --git a/drv/plottyfile.cpp b/driver/drv/plottyfile.cpp similarity index 100% rename from drv/plottyfile.cpp rename to driver/drv/plottyfile.cpp diff --git a/drv/plottyfile.h b/driver/drv/plottyfile.h similarity index 100% rename from drv/plottyfile.h rename to driver/drv/plottyfile.h diff --git a/drv/plottyfile.o b/driver/drv/plottyfile.o similarity index 100% rename from drv/plottyfile.o rename to driver/drv/plottyfile.o diff --git a/drv/timeoutexception.h b/driver/drv/timeoutexception.h similarity index 100% rename from drv/timeoutexception.h rename to driver/drv/timeoutexception.h diff --git a/drv/usart.cpp b/driver/drv/usart.cpp similarity index 100% rename from drv/usart.cpp rename to driver/drv/usart.cpp diff --git a/drv/usart.h b/driver/drv/usart.h similarity index 100% rename from drv/usart.h rename to driver/drv/usart.h diff --git a/drv/usart.o b/driver/drv/usart.o similarity index 100% rename from drv/usart.o rename to driver/drv/usart.o diff --git a/drv/usartexception.h b/driver/drv/usartexception.h similarity index 100% rename from drv/usartexception.h rename to driver/drv/usartexception.h diff --git a/gnuplotscript.gp b/driver/gnuplotscript.gp similarity index 100% rename from gnuplotscript.gp rename to driver/gnuplotscript.gp diff --git a/graph b/driver/graph similarity index 100% rename from graph rename to driver/graph diff --git a/main b/driver/main similarity index 100% rename from main rename to driver/main diff --git a/main.cpp b/driver/main.cpp similarity index 100% rename from main.cpp rename to driver/main.cpp diff --git a/main.o b/driver/main.o similarity index 100% rename from main.o rename to driver/main.o diff --git a/plotty b/driver/plotty similarity index 100% rename from plotty rename to driver/plotty diff --git a/test_plot b/driver/test_plot similarity index 100% rename from test_plot rename to driver/test_plot

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 delta 4071 zcmZ{ndu&s66vyxFhHTh&9WCD7t#j?xVcF=qI$%>bM%|d#WF#mf5_HZY9iSU*tP3oP zQ>Mm&Q}k%!GeCTVKU^Z2PXao`7bf^fH24TAnkXtWqWnP!is$_9@5<>f@gzO>{=T1c z&hK%5_tDAJhuu4(t`Fz#t$H+n`22a@YtGcPo2UJzYj-}VYuaGfnt>}rT1~vKXG114 z6pF>xtq*0=1DP%ow6^rxp7h4hs`R?vP)LR(2fH^8c5BOSUE4D_Fi@i@wtSg2avGb5!0S5w~<(RnzW%p_m`)4%d%%6(|PUDX( z4_7#sPLf{V{jQ|9Xe6iAyVP}ThPMcnq&F{lu~vk*ZzAa}&|N+qt}l4L#jQ=J9A;ve znp-Pl8l7G#+HQHg0Gr`d!6tJV3gsHj%C;PNTo3p741Fu?MgN5GJB2a<$9;zRDMp1| zg)$cBAkR)hVPRa)h5kZAzh3xV!v87!BG`@kL&ASA{8`}xpwBe)D}?V9en|Kignv!= z!@?gG{x9KO5cV7TQ5u`+#|4~;tGG)JKP47a(-I-y{4%;g1OajqvBln}KOm z$8%v`cx}i`C=3|-9O3T}eyi{Yg#UuPIfc1CmmSajS?CX3e;X+og5rklUg!RnRKt# zwQ^ZzUV8oN9{8y!0h49`_L~iQ4El==&pg>TjU)`E#fDjqXXnn_c9*2IK0#Q5G|cEe zMk`lw?;Pk<_l-gmgBme3<11p|`~Fgc)_i zbwLC6l(@6TI)_T3*%gl{Ic;zc=Hvz4S+l=E=Fkl0KrEQu&sx}vIct@iA(m4OV;FHV z==QwI)EFEH8YVpfoonzhqj8wRemK>kztn(esoPAjoV(=4me;M+FfV8HaYpN43(^py zpG!*JhG87(0!F8@=rN?_jMh+xXm-DzOSAXOZH!hx6H>lkc1UXX+lw@Um7G=hh~)<1 zS*5ZEZzeJds)Qp-){y2G_blQ^6fw?R1co80X<>2-T?>k%nG~Bt61#QGM2{B2)$v$G#Ne4C|)O| zeCM5EvEvolGLdeKhr0e&gsMA*)*%GFgV%zDxgXt8HUq!Qj`@3%Pi&hK z?|cJ1q8Hc|Y5l_ZYll>&e?Fbjl_uM%q&jnXQPCUWV5Ps5GDDPx_Kp(K4W}yoX^Oa4 za83I}iLk#=HSMUPFOu=c6@7`+e^K-dTsPZ497eiAM*O2hJSO!#nmC#>|C{Wl=2!Gr zq+Y7%w@STI(LZ;tY^?&Er`A=9ep(hYpw_j$Ha@93b_8)SpxIBB_rnx^wHkqUd!p{w=A~ zEl)S8>FiWI7e;aPPtXUuYyJ8>SRB1ZFN3k@NEN?d>3y|I#A{kcmZr)gQ=cfGvrX4c z7_Vy912BcY3}V%{yKX6&c&d7#?pjd+U(apRGZ2o|=YLE&Xf2S!R%nLZdIxsL>SxqO z?A9$8!4I(o`Ux;=nq51pU}eoh{SSB&8+)qYYiyhWGv4f~@IWf>66lLZ^P}?L#{;lC zUY|cnPcpPW;CQ@#*2`YIwMTvd6k*eZSZ(#J6|-zIT@ulPWZVyT*A}^6u7;;-Xa5UF CThMs` From c1564064ac3bb5ec0bbe66745d3b58bd3aac7310 Mon Sep 17 00:00:00 2001 From: Tristan Krause Date: Fri, 29 Mar 2019 08:32:11 +0100 Subject: [PATCH 20/32] save bevor debug --- drv/b15f.cpp | 13 ++++--- drv/b15f.h | 6 +-- drv/b15f.o | Bin 76592 -> 76928 bytes drv/plottyfile.cpp | 7 ++++ drv/plottyfile.h | 1 + drv/plottyfile.o | Bin 16448 -> 17832 bytes main | Bin 67144 -> 71568 bytes main.cpp | 89 +++++++++++++++++++++++++++++++++++---------- main.o | Bin 12480 -> 16032 bytes test_plot | Bin 1084 -> 256 bytes 10 files changed, 88 insertions(+), 28 deletions(-) diff --git a/drv/b15f.cpp b/drv/b15f.cpp index 0c41842..ebcef9f 100644 --- a/drv/b15f.cpp +++ b/drv/b15f.cpp @@ -4,6 +4,7 @@ B15F* B15F::instance = nullptr; B15F::B15F() { + init(); } void B15F::init() @@ -262,7 +263,7 @@ uint16_t B15F::analogRead(uint8_t channel) } } -bool B15F::analogEingabeSequenz(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) +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) { discard(); @@ -280,10 +281,10 @@ bool B15F::analogEingabeSequenz(uint8_t channel_a, uint16_t* buffer_a, uint32_t if(aw != MSG_OK) { std::cout << PRE << "Out of sync" << std::endl; - return analogEingabeSequenz(channel_a, buffer_a, offset_a, channel_b, buffer_b, offset_b, start, delta, count); + return analogSequence(channel_a, buffer_a, offset_a, channel_b, buffer_b, offset_b, start, delta, count); } - uint8_t block[4]; + uint8_t block[5]; // 4 Datenbyte + crc for(uint16_t i = 0; i < count; i++) { bool crc_ok = readBlock(&block[0], 0); @@ -291,7 +292,7 @@ bool B15F::analogEingabeSequenz(uint8_t channel_a, uint16_t* buffer_a, uint32_t if (!crc_ok) { std::cout << PRE << "bad crc" << std::endl; - return analogEingabeSequenz(channel_a, buffer_a, offset_a, channel_b, buffer_b, offset_b, start, delta, count); + return analogSequence(channel_a, buffer_a, offset_a, channel_b, buffer_b, offset_b, start, delta, count); } @@ -304,12 +305,12 @@ bool B15F::analogEingabeSequenz(uint8_t channel_a, uint16_t* buffer_a, uint32_t return aw; std::cout << PRE << "Da ging etwas verloren" << std::endl; - return analogEingabeSequenz(channel_a, buffer_a, offset_a, channel_b, buffer_b, offset_b, start, delta, count); + return analogSequence(channel_a, buffer_a, offset_a, channel_b, buffer_b, offset_b, start, delta, count); } catch(DriverException& de) { reconnect(); - return analogEingabeSequenz(channel_a, buffer_a, offset_a, channel_b, buffer_b, offset_b, start, delta, count); + return analogSequence(channel_a, buffer_a, offset_a, channel_b, buffer_b, offset_b, start, delta, count); } } diff --git a/drv/b15f.h b/drv/b15f.h index aa0c9c8..c5a8790 100644 --- a/drv/b15f.h +++ b/drv/b15f.h @@ -37,7 +37,7 @@ public: bool analogWrite0(uint16_t); bool analogWrite1(uint16_t); uint16_t analogRead(uint8_t); - bool analogEingabeSequenz(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); + bool 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); // Serielle Verbindung inline void writeByte(uint8_t); @@ -53,7 +53,7 @@ public: private: int usart = -1; - uint16_t timeout = 32; // ms + uint16_t timeout = 100; // ms uint16_t block_timeout = 1; // ms int TEST = 0; @@ -66,7 +66,7 @@ private: constexpr static uint8_t MSG_FAIL = 0xFE; constexpr static uint16_t RECONNECT_TIMEOUT = 64; // ms constexpr static uint8_t RECONNECT_TRIES = 3; - constexpr static uint32_t BAUDRATE = 115200; + constexpr static uint32_t BAUDRATE = 38400; constexpr static uint8_t CRC7_POLY = 0x91; // REQUESTS diff --git a/drv/b15f.o b/drv/b15f.o index 3e69e16056f030d9ac3882d97b9d794ad3fbc891..f95b1124bb6f0b983bcf55e01111581c62102a6b 100644 GIT binary patch literal 76928 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 RQ?mTK`Z<(qT^HT?{|^Te&cy%# diff --git a/drv/plottyfile.cpp b/drv/plottyfile.cpp index 5259633..a2d3d5a 100644 --- a/drv/plottyfile.cpp +++ b/drv/plottyfile.cpp @@ -189,3 +189,10 @@ void PlottyFile::writeToFile(std::string filename) file.close(); } + +void PlottyFile::startPlotty(std::string filename) +{ + int code = system(("./plotty --in " + filename).c_str()); + if(code) + throw std::runtime_error("Fehler beim Aufruf von plotty"); +} diff --git a/drv/plottyfile.h b/drv/plottyfile.h index 5fc7465..17b02eb 100644 --- a/drv/plottyfile.h +++ b/drv/plottyfile.h @@ -47,6 +47,7 @@ public: std::string getDescPara(void) const; void writeToFile(std::string filename); + void startPlotty(std::string filename); private: void prepStr(std::string& str, uint8_t len); diff --git a/drv/plottyfile.o b/drv/plottyfile.o index ef4c3bb0488cbdf992fd2a530a56a4677d484c7a..561a627b9aecebc8ef642c027acaa345e5eccf0c 100644 GIT binary patch delta 3750 zcmZXWeN0=|6~Nzfa0i4&e*3B{%+b-|8p2!UX1iUQ2(X5(o$LB-K-iPTKhIo>ylI^ zOHvjYP5JikTAK2mvm5s2cUpd!o9{$VQ+{^SCdrBT`6an%Ro>l0q0&Z)Eu7i9im}T^ z$t(EC9OC|VSWynhqtN73t+1zr#3fA*6-NJM)(+Q@JlZFK~3qHbm{>$dR0H;+&y^4#b*)H(e=+=;Y1lN%M zi__%{S^|Gl73+%@NwUM~LWg_>+>a~jLmX4B`#d^NFC}$A7t*)zHWRh;DGa&>Cy_Q{ z4$&Z|yo59eSCGzf+R3TW<$3rR>CZS#WYAS8ELPMk^it&oPH*zAo`R-gMShX#B-7t# z`T|_Utm`~0_?RAUWc>+NkmhXEYu@Cy-=IN|w<+oYP7}F$ZV}!^lD8qWO_A4_&W3Af zyP2+q(`cue{S&5t$@E{Ct_F9BBFC7XXL^Nc8=OS{6HHeyUB|S>bT89mOrK}^w@iP^ zbRishLXpduu3>tRw0Z_Rrh9eBu6InY1j(mFt)5N%d0R&xS&2v1>yNCr4XfnmWZ|yJ zl;81)EufYj%-_+zr$$1xlhm%IBc=XaH5BY*FMaFiSUeP(O7$mGx&vHgyWyC-Dz`Qn zpNc1s##_cA;HeMlhebGUquus6{{F+y%>lk{@)v`xLQzF}j2{>}jZ`SI3-(t8;KPbMTR%BbD)3hZ z=P>h0w2Zn5PU+%-8%WCqO1qqdF56)pX+2s-ZZ+;I5~5-7R|ez;=&MvzI)99qKMOJS zFkh+2VfaC1Ky46We0)b!od~Q|D)2>Rp6w5UHw+~{s@~yKY-05^toRi8o-YrpzTq=h z{gA&2dewVAbMI3*I2nrGyUkD4BYt!Br{S7kfp7V#`YFG;`WSzc^y)YKirS3Tj8*T% z-9$pP8P@&uJhtu#s4X})Vh-^bdM>Tdw?k3)3UpGa;DLFh;&XXbpxfa+q+h{Yxzy1oi0khY;kBa)bq+XjnB+tF*xdr6=j za1ZIT0=*?vZU+f1GtqMybVQ)ta3h1hCeSWe z&!Cr0)E_c;b=ySyLW)i7`7t@O6oSnj8`k_L7~C`r?iuL;2hEy1p2Z-+u#P$UV;8zsN4zbNIM0(F3<@0 zcbapz@h=5+z8(6I_6fPwoKjb9Fuzlo`G!Ed#azLEUhp3h{8xo)4#EF{5Z^EOZ~wo4 zh8^&K6u^Lx@OQyqEclBGaezY0*n&Ufu@!SaEq+k&2L-=ar><}Yqfpr0!mCjzA|!|> z?q0#~65^lberjl|;6EtDn@&IOub?BMRY({X3YiW>p^!(2KQ8#o;XQoZet~{Q>q4Q6 zAJ#Hxwv|CnOKQxyUK8!83CKfm0%PKsWZWkD2$RsV55pqH48y&efVBh1PH-1Fjwv*2qU6$u9hn^e%;Vzbwn8uvlMhdzG(_5&VOZNQAxCTNDo0q7Jwm_U5n=I=%@Xhih{hHdBryO@q6k*7ELV=xK;r z?r(;(cv+~2yA9C|E{6nHl&uhqcrC6l^hBZ?yxeseU3Fo&i>{y%74=#=F)A9h)H&cR zUIrbkllxI`&Ir8@C<$;k*5-_a^^pesjkR0vDEerbe}ju~=!C__%7QoDI=Q2Nqo4qr Uxf#tm^Ncg+a#TlOLVvjQe>MyjWB>pF delta 2730 zcmZ9NYitx%6vyXo3$kU0z9@G_y3m$Jm%?_o*4?GWHoMzmOU+VJ6(k6x& zObuxKfI?{Vj}am@R52k|63JqGBqX$n322(2gh(O}NhE1Zco<_u1M0bV?!-HD)Bb1X z{LcB`b7$_(oP39!+s7tip-k)PhW%yup*)7CDz+8QR9q=uWEqALE6nm63^mqb+_7`4 z4^5A9HY##&4uisVS*>sl!r7 zq`o2buAFO{dsig`1NdOg2_?};8(bSOYS0gLh`(W|K47odNr z_=JjIRNYz_j&e32^(CqMgxZsoCwzt$yNO=@8O%oc<{uR`miX!4Dt<8#uO%1Zc3j;; z&#fD^t2lcP+eoiV{Yz>E_OIf0>=CzWVyQdJceDmE_6o|5OD#yfA+;Xmt2x^$^>wLp zQvZ=!iZP-qrLL9QA~i2{Q0if+UrW6#HH6_B&MKuoCUv{iH>JKW)Gm}5Mw!~fZilX( z6BI{k`wFaXeF@gayUIlODn%@YV?54n@uPY0uR9JXAD5mA&~9}H#371nafhvf*~snH zn!|3DBaCX$*2ocQjF_)!m30`Qnl)ODt)8+-N@J>#vkmyX(J@=JoB>Rd*AgdUr?qGi zJtHwhN8chh-e1hApG>dnq zcB;MP_B@^t?(Zi2?#D2e;8;lbd+wm;C5G#6HVOB(Ccpc)T22-tM6*=k&E2JTq;QC0 ziX3v7r<@Kg=Vg^6oeNE z1GL3QZxij(oVRMU8_{NNcN6vAUDN7Bta>x@M0@CLIsJ<4Px@(}kG2u*)oS+~dW#nyC-Zs3kICh3f48k(i7OP~?)z*(M{$vh|@@Ip(tM;h}QZx)IYB z73b#4gxSpF*xhM`uPBzmfzEU|k#gs@aG^6@Wvy_p4E4SjmsP0Rw64SwpFJA$CFt3d R3U`aI6^%dT1XnYW{{S7X(Ek7c diff --git a/main b/main index 5e14dec20077396fcaf410f5eddf529ef54c0231..c5917ccca06462a154794fbe3efc6e33ae5f9b4a 100755 GIT binary patch literal 71568 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 i;mx>#*R;0<=R2Iv3_t2nInj!vOO(PEl!D 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 diff --git a/main.cpp b/main.cpp index 60a41d3..b208336 100644 --- a/main.cpp +++ b/main.cpp @@ -2,11 +2,11 @@ #include "drv/b15f.h" #include "drv/plottyfile.h" -PlottyFile pf; void kennlinieErsterQuadrant() { B15F& drv = B15F::getInstance(); + PlottyFile pf; uint16_t ba[1024]; uint16_t bb[1024]; @@ -34,7 +34,7 @@ void kennlinieErsterQuadrant() { drv.analogWrite1(u_gs); - drv.analogEingabeSequenz(0, &ba[0], 0, 1, &bb[0], 0, 0, delta, sample_count); + drv.analogSequence(0, &ba[0], 0, 1, &bb[0], 0, 0, delta, sample_count); drv.delay(10); drv.discard(); drv.delay(10); @@ -48,11 +48,16 @@ void kennlinieErsterQuadrant() curve++; } + + // speichern und plotty starten + pf.writeToFile("test_plot"); + pf.startPlotty("test_plot"); } void kennlinieZweiterQuadrant() { B15F& drv = B15F::getInstance(); + PlottyFile pf; uint16_t ba[1024]; uint16_t bb[1024]; @@ -81,7 +86,7 @@ void kennlinieZweiterQuadrant() { drv.analogWrite1(u_gs); - drv.analogEingabeSequenz(0, &ba[0], 0, 1, &bb[0], 0, 0, delta, sample_count); + drv.analogSequence(0, &ba[0], 0, 1, &bb[0], 0, 0, delta, sample_count); curve = 0; for(uint16_t k = 0; k < sample_count + 1; k++) @@ -95,28 +100,74 @@ void kennlinieZweiterQuadrant() } std::cout << "u_gs: " << u_gs << std::endl; } + + // speichern und plotty starten + pf.writeToFile("test_plot"); + pf.startPlotty("test_plot"); +} + +void beispielFunktionen() +{ + B15F& drv = B15F::getInstance(); + + /* + for(uint16_t i = 0; i < 256; i++) + { + drv.digitalWrite0(i); + drv.delay(50); + }*/ + + uint16_t schwelle_unten = 1023; + for(uint16_t i = 0; i < 1024; i++) + { + drv.analogWrite0(i); + drv.delay(1); + if(drv.digitalRead0() & 0x01) + { + drv.discard(); + uint16_t val = drv.analogRead(0); + if(val > 1023) + { + std::cout << "Fehler: " << val << std::endl; + continue; + } + if(val < schwelle_unten) + schwelle_unten = val; + } + } + + std::cout << "OK" << std::endl; + + uint16_t schwelle_oben = 0; + for(uint16_t i = 1023; i > 0; i--) + { + drv.analogWrite0(i); + drv.delay(1); + if(!(drv.digitalRead0() & 0x01)) + { + drv.discard(); + uint16_t val = drv.analogRead(0); + if(val > 1023) + { + std::cout << "Fehler: " << val << std::endl; + continue; + } + if(val > schwelle_oben) + schwelle_oben = val; + } + } + + std::cout << "Schwelle für low: " << schwelle_unten << std::endl; + std::cout << "Schwelle für high: " << schwelle_oben << std::endl; + std::cout << "Verbotene Zone: " << (schwelle_oben - schwelle_unten) << std::endl; } int main() { - B15F& drv = B15F::getInstance(); - drv.init(); - int n = 0; - while(1) - { - uint16_t ba[1024]; - uint16_t bb[1024]; - drv.analogEingabeSequenz(0, &ba[0], 0, 1, &bb[0], 0, 0, 1, 1023); - - std::cout << n++ << std::endl; - } + beispielFunktionen(); + - // speichern und plotty starten - pf.writeToFile("test_plot"); - int code = system("./plotty --in test_plot"); - if(code) - std::cout << "Fehler beim plotty Aufruf" << std::endl; std::cout << "Schluss." << std::endl; } diff --git a/main.o b/main.o index 7878d59e0d10b27ecbde80dff098f60aa468ca1f..d3c8707461ab223ef335d4e5e9fbe4aabd959d1f 100644 GIT binary patch literal 16032 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 CNi_BV literal 12480 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 Jh^yK5{{uXr>w*9P diff --git a/test_plot b/test_plot index 8eaed19adaf34038a55609965ad901d8f02a9127..53376b0b5129b5b02278851ef4f85a04539a493d 100644 GIT binary patch literal 256 zcmb332nqMr^$7P#O!9SMWME)$X8h0mpP7+?k%0@yg8&2zCc;3GEHA>Cfo1^!0-6R~ literal 1084 zcmc)F&ui2`90l+<+diqR% zS^zjy(l7~6SU6GRa`l@%HGlZn?e*pAzf0lTx_4@NZ5-~$-)E=)JuBDu{r5rhAdDgD zp;RZ6EDs|#IUckolQfsw9(12N9x4HKDI74AhiZ@d9t=aFB&kj&S&Dt+P*br>L2r{! z9mOu{at@hFu|vV2nh`Z^#qzpRs!8lP;sa^P<0a+ zZStv;pcYU!!DyIZgJSlWebQ3ik7SC`I+-b?m14{$C&k8QicK!H2O55gMu&nFo4XXI z*rJ%d6lOogxXdt7&#>Lh(4rj{)6THd$>7qiW`^Bv2G7s1r;}lCkiqX}*hjv~Fxks6 zW#pKpIho@mMP`n(bk53g-p+A>E;>0byE(4V)pm~Sbi>aPYXzPe1>Vs|Szv*_)C(+{ z1(s;pD)60t*ad#luN6*#-)CgcJ)cDHipX_)1Gd%gk@JR_Pkuq+4UH(o1^XXq7(e2TOP9K0Tm^^oSnQ MlcA@~=akZmKik~8zW@LL From 70e85ab8e9490f6b566fd0f58c9d3ecba2a0dce6 Mon Sep 17 00:00:00 2001 From: Tristan Krause Date: Fri, 29 Mar 2019 11:12:31 +0100 Subject: [PATCH 21/32] usart Klasse --- Makefile | 2 +- drv/b15f.cpp | 20 +++++--- drv/b15f.h | 51 +++++++++++++++++---- drv/b15f.o | Bin 76928 -> 46008 bytes drv/driverexception.h | 2 +- drv/timeoutexception.h | 35 ++++++++++++++ drv/usart.cpp | 74 ++++++++++++++++++++++++++++++ drv/usart.h | 102 +++++++++++++++++++++++++++++++++++++++++ drv/usart.o | Bin 0 -> 11208 bytes drv/usartexception.h | 33 +++++++++++++ main | Bin 71568 -> 60672 bytes main.cpp | 34 ++++++++++---- main.o | Bin 16032 -> 14096 bytes 13 files changed, 327 insertions(+), 26 deletions(-) create mode 100644 drv/timeoutexception.h create mode 100644 drv/usart.cpp create mode 100644 drv/usart.h create mode 100644 drv/usart.o create mode 100644 drv/usartexception.h diff --git a/Makefile b/Makefile index a2dd96d..39e260b 100644 --- a/Makefile +++ b/Makefile @@ -10,7 +10,7 @@ COMPILER_PATH = g++ OUTPUT = main CFLAGS = -std=c++14 -O3 LDFLAGS = -OBJECTS = main.o drv/b15f.o drv/plottyfile.o drv/dot.o +OBJECTS = main.o drv/usart.o drv/b15f.o drv/plottyfile.o drv/dot.o COMPILE = $(COMPILER_PATH) $(CFLAGS) diff --git a/drv/b15f.cpp b/drv/b15f.cpp index ebcef9f..c58b4eb 100644 --- a/drv/b15f.cpp +++ b/drv/b15f.cpp @@ -31,7 +31,7 @@ void B15F::init() std::cout << "OK" << std::endl; - delay(1); + delay_ms(1); std::cout << PRE << "Teste Verbindung... " << std::flush; uint8_t tries = 3; @@ -65,7 +65,7 @@ void B15F::reconnect() uint8_t tries = RECONNECT_TRIES; while(tries--) { - delay(RECONNECT_TIMEOUT); + delay_ms(RECONNECT_TIMEOUT); discard(); @@ -86,7 +86,7 @@ void B15F::discard(void) for(uint8_t i = 0; i < 8; i++) { writeByte(RQ_DISC); // sende discard Befehl (verwerfe input) - delay((16000 / BAUDRATE) + 1); // warte mindestens eine Millisekunde, gegebenenfalls mehr + delay_ms((16000 / BAUDRATE) + 1); // warte mindestens eine Millisekunde, gegebenenfalls mehr } tcflush(usart, TCIFLUSH); // leere Eingangspuffer } @@ -219,7 +219,9 @@ bool B15F::analogWrite0(uint16_t value) try { writeByte(RQ_AA0); + delay_ms(1); writeInt(value); + delay_ms(1); uint8_t aw = readByte(); return aw == MSG_OK; @@ -253,6 +255,7 @@ uint16_t B15F::analogRead(uint8_t channel) try { writeByte(RQ_ADC); + delay_ms(1); writeByte(channel); return readInt(); } @@ -316,13 +319,13 @@ bool B15F::analogSequence(uint8_t channel_a, uint16_t* buffer_a, uint32_t offset void B15F::writeByte(uint8_t b) -{ +{ if(write(usart, &b, 1) != 1) throw DriverException("Fehler beim Senden. (byte)"); } void B15F::writeInt(uint16_t v) -{ +{ if(write(usart, reinterpret_cast(&v), 2) != 2) throw DriverException("Fehler beim Senden. (int)"); } @@ -434,10 +437,15 @@ bool B15F::readBlock(uint8_t* buffer, uint16_t offset) } } -void B15F::delay(uint16_t ms) +void B15F::delay_ms(uint16_t ms) { std::this_thread::sleep_for(std::chrono::milliseconds(ms)); } + +void B15F::delay_us(uint16_t us) +{ + std::this_thread::sleep_for(std::chrono::microseconds(us)); +} B15F& B15F::getInstance(void) { diff --git a/drv/b15f.h b/drv/b15f.h index c5a8790..4d48b21 100644 --- a/drv/b15f.h +++ b/drv/b15f.h @@ -15,6 +15,7 @@ #include #include #include "driverexception.h" +#include "timeoutexception.h" class B15F { @@ -39,25 +40,55 @@ public: uint16_t analogRead(uint8_t); bool 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); - // Serielle Verbindung - inline void writeByte(uint8_t); - inline void writeInt(uint16_t); - inline uint8_t readByte(void); - inline uint16_t readInt(void); - inline bool readBlock(uint8_t* buffer, uint16_t offset); + /** + * Lässt den Treiber für eine angegebene Zeit pausieren + * \param ms Verzögerung in Millisekunden + */ + void delay_ms(uint16_t ms); + /** + * Lässt den Treiber für eine angegebene Zeit pausieren + * \param us Verzögerung in Microsekunden + */ + void delay_us(uint16_t us); - void delay(uint16_t); - + /** + * Liefert eine Referenz zur aktuellen Treiber-Instanz + * @throws DriverException + */ static B15F& getInstance(void); private: int usart = -1; - uint16_t timeout = 100; // ms + uint16_t timeout = 1000; // ms uint16_t block_timeout = 1; // ms int TEST = 0; static B15F* instance; + + + /*********************************************** + * Grundfunktionen für die serielle Verbindung * + ***********************************************/ + + /** + * Übergibt ein Byte an die USART Schnittstelle + */ + void writeByte(uint8_t); + + /** + * Übergibt ein Integer an die USART Schnittstelle + */ + void writeInt(uint16_t); + + /** + * Übergibt ein Integer an die USART Schnittstelle + * \throws TimeoutException + */ + uint8_t readByte(void); + uint16_t readInt(void); + bool readBlock(uint8_t* buffer, uint16_t offset); + // CONSTANTS const std::string PRE = "[B15F] "; @@ -66,7 +97,7 @@ private: constexpr static uint8_t MSG_FAIL = 0xFE; constexpr static uint16_t RECONNECT_TIMEOUT = 64; // ms constexpr static uint8_t RECONNECT_TRIES = 3; - constexpr static uint32_t BAUDRATE = 38400; + constexpr static uint32_t BAUDRATE = 115200; constexpr static uint8_t CRC7_POLY = 0x91; // REQUESTS diff --git a/drv/b15f.o b/drv/b15f.o index f95b1124bb6f0b983bcf55e01111581c62102a6b..47f3a9cba8df9f3a78f6c763f9af42dfa4a2ef38 100644 GIT binary patch literal 46008 zcmeIb3wTu3)i-`7lL_HsCLmQ>FN_+MREP=JAXXE|z=;kT4PdL{BqS3O4M|KUg7?@Y z%5;dLwNG`LFw!NdH&z` zeEWIMoO6C>?X}ikd+oI^XXoV7aAbCd&u5wBvyQX+?+j{LyYJ|~E>V{y)--FXqRqv< z?$Li}4&WGshBlP)5oX6?we4M|lugBv&L0=c( zd^8SD^XNhh3rIkG2o*0k)GPTpxqPB zylZ?-Fdhu#A7@v#O0f~wCtV}bM2a4 zcITHqJ2AX{dTDS?X5R8yxpwkFkydL@I#x?>%eE8SH)j@E!S1_M#@MbiO3z%lF*vqE z7Zat$sIXcfyROTigE>B)GdbgdpXyk6Yr*e$l`On>U{!_k3%kv-ad}+7Pj>Wm? zvBY0GH)PLEW*$3zLnM)TOzV4f!LeP!&a#ukcP@nn=Kjvi_Pp-(@i(F1=)5~KmRIJ+ z|B-mOG=r8LMWh1}reIhuv%(6k^2QadS8P)GlgH*Mvquu|ZZ69UT8=q8 zcl+8;uM0M-x(nu)<>mGUm0s#`XK`kGuAO+nPQ2*c@9vAgUefW7uYGkX_!WKZFiAoj zEbr8N`}ge5M~cr_SbApZ!i^7&gPsmi&lFsuF1Of;jT#Z3M~&(SjtJ*bVv`YRC*D)g z{7R)g$~-1{e97{7-Uzz~KMuK+VhF^JIpaSOX%CiGw-WL)L^~y~F5#A!@lDGsJ*{+s z)bV`PBs<@>2h?Vf74EEDF5Vbd&9qvw>Nw` z%Fh2&-So=L;N^b#RsZH+jut zXFi%2wYLGnrP#Tw!P*gyc!+ag7$g@g6Hhv~iHEfocCstO(PDkDD=u0r6D?LKEm~mD zZ90R)XXl^4ltzw{ZL<^ejLamiv>Db76T!(0l(5jAzB|}88ES*NZ) z^YRMiPPbeWJ^c&*qIWRZ4 zW=H;C``d*rL1clZ%ToCAGxM?>P2}0RMh~1z6OX6|r5&I51+RU$cw_L|^@nV=;bYmT z(-Epp+h?FEbEPW((=bT&V}fKVdiLUKP>}5HMX%xb3nIy0*vGEfu1wUh!&hZhiKPNC zQ^0R;_-ukUQp1k<^DQfXyNTXnlCx6gLO?=|!(L^|2&4O#Ts|Ooi%AVCT zx_0RH;JxdoZ-wFhe_*z{l`8(O^P?Ch3V#95vhCz)Xi`f}JCn}#ptO-W)s1ajJ6Sav z9d^(t&^L!1lOSG?wG)|n61Wdmks2*TwSr*&yu48F=zjlJ8PfK@u(=uols=FRL5dFX z2&nQ|r+Yt0M`Kh{uzMIP2XgiSwH3^dK+cG|mEQbIJKjeB4t~0OFLJ{0faYW;C+C5} zX-#8&Wj%Sh;ozEAOY@%@*r0;l--2+b57G*jEw9ZxSV@-_7wmoxA(yD~(yNT3rDT!dMJWBUN(g|&i z--73=1M0nw>^CT=7*)-KRQyei+4N{EC2nvGQbkukdy>?9?Vg_QY(p2-du#8i{`MfF zBjsBNY>AKbASskQUSidLh*kRq1~khtx)V@Q{egC{?`!?F=oEKAfBIGS&H8`#RW?KhE*p{o%X&5An9`Va7wGmn6452W~lTkFzX2h;pKViBYNcyT$H&%h!J50EaZ9 z20CMJw=Val^29SHQb!W+MH2t)UF&wK{_)42%8Nl#YL%cYZ$Ml9KeoKoeq`WPn)ndo zhYF{X4?-m$G;~0rZ3yHN{x*e=Kp1QIGb*~x0?nfQYs`D4l zg)#yt>>Z}+H0}7pRBp1A?LR1S=yS8p#9w@2i60 zp5<*UPdwKz{l!S)Upp_5&Sg+Abg#EieY*RbZ=pKBHEck24)9^!-|XkqNTM-sKd11W zyHO#k^VU5;%EZ*Lmwr?I&2o2t6TH`}yE*?G?rx;}N@HQK{-(dZlsN6>U>Nw|;R6h8 zRzRFV z&a1zS|i$+nyH=wpuv24RPH@foq8$?)4<{|}+~jk_Y%Eb}Vr`^;zn^Y$F&vwL9@}=fAGL6OSMM z4{kShexULStHj2qJ`*`=Ci7Hp=Lh!O>8}O5&xTK#CRDT$m5@^4{|kk@3WK?tDqiQO zzIbKlr?r<1*%Ho%C9UrD?U-!E^G2!mk3ciZ8EHF#WiIS~9}a8h3C=p-hTRz`RbpeX z`x*c{4@2QpJqe3_4U2uhbbLrnXk}hkw0`F>y-qmL-5feIzuLGq2;%-}p5K`y-sN|E z>z!biTy$KFN#be2bnBGo10StCEfDSayD&(0eQwMnW2fL(9 zm82y5sSKR{7=8AXqxbQ&Ygo!g>WAVBR|P#TYbV2ZCN5r{ET($?5KTB4UJ1%S_EY}Rq3jw!dA*`s0m=u| zkRW*P_PRv)0Y$p7qn{L`gY6PQ?hW4r+I4#P5MC#Q1E`)?3|E0@y=M3*7$V3(%btr+ zPXnl5mROU#_)eueh8*4N;o!;es=Ds=Se=&Zxz~5T=_^ZKoQoy7NY9duJ!L*$;?Je| ze@TRI?>%1mdvHzok;LB+_!9^l;f+JL)|DnQPr~Kq(w-4xJ2(2wqfJA%&RBT6JdFgq zo)Zs)=%S~wE~Vsmt#7|a^wi5Oi`8$cg;<_j4~$Mmt*)R>Qn?D3g1+b40qtjtMgydPK^giHB9Z==iiR{?JzyY(J-9cy*&>mP?ycFG8p{ zxdKw1-sDD5OK)O^uR8cR>$_hiYWP>$u=@c-D5ZzQ4 z?iF#uFn%iH$jjM1g@W|KL*8*=nhLSO?n_b4PE92j-f3i`sjLdFX}=Z~Tn1lUiCUH_ zPQ2*UFdnZMSjEf3PBQ@UojXUM6nn4K|1CKj7nIjnFB*r8BtG4lG+xoG*YVAQzwTgq zAMgEB@1wn&UGt?%gyIl|S~ab|?Df7r%Ze|wQ78BR<&(-+?zj=HEb)rH;Vr+N*lK_B zGOjZ11m40oJpHDGsr={chL1~T2GK9!y=CvdsrP+K+w}8QjErSyrC&d1srl1JMNj?5 zp7i@3WGd-fGV{=EAo~?Z{MTBKm(|&?mM?vmo!BKW7gTRCzp^g)-g@l4xLygoC@+*O z7NNPagk2$8z?jZx(N5fxw;Vvx$1>=ch9S$e3|Sv2QDt<-Et6G@zevB2>}l!iS}!lj z#|FFV(Qf2@LrDagtJF&exrH#iwdZ(dGMD!($n9D$YSfDw5Z7X1M~J*gtZL8ey~G)J zmMtHTz+IMC)%lLEq~i;OhT6RP&1GYJR{Tsm30@KWIFpA`v|^!@SDy9dJtyTlqn_!H zMtW*|@qoOSY$>1q%z1Z}sz_S&7?$%BFGLcb^s`X;dz13s6-;b<#+i8)!7kZMV|VX} zpKkYH2S~ynN!E&##=QDS;w9VnW_;*enOQs`WSw6GZOp`rgID|$g~F{5aSN{}@Jwyd zSdJHzcr3vzaZdK;%yC*$=SDcJh(vL!%6n$#+S9khTb1QI8uP~bWW9E*bgF-pkSGOL z&jdM4*V7 z>#>8aix7JToRnX2;lo6!TIyXZ(rTz3zf?d;%9y^c5)!qy5y+%boGZuB0b1!>4 zTUGXemxUA!yYhCUQq7W|8UAltd$`ni>TS<^@>X6CN0L+U2n|;)+?C#EJ?yjA<|^v< zz~;EWqlV2hdCOGvG@^r^b;^dTmhv9il7KebB0Bap}DiNZEqmLJToM_muLb4J~vaQgm<(_-;Rx1$;lnA+I5%Mf+hy)#?S@Ocdbs0lbUJyxqoY<1^D*l^J0KEZyhZ;XSS;c)EgB#B@ z>Pe?lIB0(u!iaH#PT3#k+7?v$;2;$fo7T#fN5kIut#nJ{?S%7s{HRnJ(dJ{RxU-pPMf^|($|swsLS$}R!YY>bk3f=AKwqvW}XXNed2 zoix@rP@a$jPs15mdyD($J#AZgF}76Rlv2fwY5HTP{cy`85!yn^WqJ z67Ny$>CeaWdHjSW1&l&4I;gcVXmHe=-rJ7$Ak-M9VDo_KBAxyqHE0cXeWsgWN zLR~+`JEa(3m12Aq>^c^m@y@=_P5&$dlj+a5U(tKB(_fn<$Mows!LEamGqsj85;v*! zLtP`7i>90ReG0LueDC1qYv%ilT5!_y#fNd@64)S6a@CJB zlu?(xH>X)1LrHg@iyXbL?2+jQQfs^53-Pd6wt8-!6S0)l;dw!^8_d!7kZc6zN$CKl-FR z@uBw5-9cH`!Z>H?G1Bd~H#!qg>}Qspv1Mwk2=7ky4(+GH71c&kS%%c}K|ArfEUJE@ zD;fN-AvcM!Q$n`tVsnN}@0^E%CeO+4U8UxW_@jjDdY^Zm36_3r@w zJ_UKc6FJ7R9`OZ!m|^{0cz@;#{3OF#nSo1rddBgVwZj*94i-{TA5`bpo&M>4D{GXf81_;1e;31zE}EuZGjCwf5I2Q z<;}i*w)w1oN;!;(z8k+T-4tK`q?>)e%Yg0vj^?x2bYJnXcTEF8pDJ?+stz{S5yXQbE4!GDfcOThC<# ze&qMRouQC{;-tzB`0hP0_!mP0YqG5$XG5F2vjdN1TaRQ*Z0@_U!MCs+;KCQOJ{sct z`;frDhWU353E=wb?1}##X1$jk*fz}HJyeieh6WPD{r9TtzYY!b4EOI;*WJSc$>IJR zhY8KS!va?g_dhXgJg&QjyUGsRRsp&x5V#}Dw>B&A=PYY;mRvuVnB3~`>eq8S^h0q@^E`r01tmRB=Fb}|06>L zF%{~xjb&32U4H5d?9R1NT|0u-yBUG!M_Nz%1GkN|9?0AVcDD|D*0(*^`td$TTGpTU zITDwhIk>z!75}|Vevqh&-$f!8SX|Lj&osPw)F#?ozx#HL+wp*#Ld>`n)+DN_z>b~ zV+B0ko>1_Lmmvzb z*zIx}9?0S(R&v2DxW-yO2i(y2L=wwjHcY!`Zq6(Q$$aSb&tTVBq3<~%BrAtKGjr|y zCsAZ9N>41r;zap|_X53BQ}#*>leL+|31DdN#u?WoyRfvhTg-{o4ZCxF$nJa?M%^5r zh(7^}zYES#9@*?&_Vh>FAH-Ave@HSjxA#Gr2R#U_t?~`81$OSl*mGrh=N4c2hBpE* zh3w15ZAhuuDO5e!@CJ5g%vlQJy?D&ru0Ox>K=i|#?pYGGVzC=f|3$qja|Mj0_A(0^p7Hjls_kAxtw{kq=YYd=Sg%KL&) z(bIYufb|Y>ppc!w8Z?&ButqUPtYT*Js^Z}YA=%`Dm6qI{yJ(+)SqvOfK7CX0inH)U zUc`2vjmiiYeY{il7s&WxZsL=j=K!0Fb+4|~0F@i{UZck;Thw`O_s8*kGk8fe6w!+W zW;`N_*?2uN1FP%tt%|<)G1!2Ud7qrxv6RGUK)h9LX)tRa7^tge%{iUxqA6vq4H%V% zm(|2t;)p1NNxl(8-fc4gti@`V+ zg;ZLdtuNfCIkRRR6B;*v5u$&4Xj;Lfg2D+Cr?sowqDzX33koOaJFt^c7U(4TE;!Zl zEz9*CFk(pdN;JV-UxQv&@G}Sa&kK}&dd?@J2PkJ6lUBwEGGm6 z%EMMrUh-Y9^A+qN-+#OENg1~4d_Nsr2HUF)KhH>81~H@Zy*zYRlID>vy8h>+>VK9~ z{}mbagX*5LJ~!=&kJhIpV|6-pR2#ob8Pl>3m%{b8E!6S6 zoH4Ui)3PFXG+EQl$5~yXmG7~gRQZoc-%REVm-^_^{H{jOQ2K0 z&LRF2GYUdyOV~Pbcv*qv|BbI8bZ&taLjGDEEPsM)(YrGPh0RC|Gr>S;mTQ{!0W=LM z8fkNPX_}bOpiJCOmpRb|4fLeprp&HAp&laGMLK+8k8UapQ!X7XRt#o7~Ld z(uS|q{QkTreh3_z--$U}eg0AD86xspmhgO2^BgtwYt`8aIqNh0v$N91g)-qO^>(bh zHbD9>9L5iHJ3KMf4o^l^oHe)|79-C^I{#TFf4|QmHdesmWvU9p!>dx)5|pIh`#z@0 zk_zPK#GKr-RIevD=@Xg;bbKG%Xa*<0HDWLb#Bb$z;Lg~?{m`#^a5pM^p)y;m^90qayqPjn7kf*<@@sK+A|2Wfx!G7|trZ4O#RaYNsyu^in zs&R>B1Cnxp{j7NdK+DR~_-QWO8RP9|wYl(7n*Kr;j*VDI`&o-!_`w>##)ao8d~mzV zSNK7e+s;R8KEHPHnWFJWT=)!yA7xd!@KR0xmX`|+r{Kge3$52>q|#;aWTIhxPiF8o}DyS>)3exz{Ky9~&2hr)HIHsFc0Bez#M z1b&%#q)C26nsmtzPU({0>FowR@>^c|=#I{n!*A(MY!Ggu+rS5Y3!QhG9=QCePdfS} z@I$G8G;(iO_~?`bHSfip?2bvtXOjmm?>^GezpnWA_m48?mE?n=4#_aRkd^9xpk#h4;-%y((=#tz;6V8s2U+TdK>-M03U^M!fMk5^!YIlK2Lez+dOdD_nXcR z|MI|Jg@YYJ{jah3a5VLFeD?Ri#{*a8LcK|9a!yvM#zT-V$>1_)5&D%Hm$|;A1`qyM zdf-3yz;E!tZ}Y(4_rO2%z=yzY>Fo0@4}7WzeiCr8!+IT>WPL)}!GpfZ1D7wJrPC*_ z`M;z?oUCI=TA}e=9m-^#Leec7U#*AYveqE!j~@J=@W7u3en`f6Co_IcB>hzL&&_cj z8UCYDez8M~9@4*|b578Bl`fpYXKTDd59v2(J);^A?dvdb`ccbTrtuCPvSf}f=_*67 zhjxcMuyw29uW|8LN%w1f^>>_mnJY_r(a?v~t)=F`xcorlyELxmy}*Z{J`T0|M}aXX zn>F79zfIwq320@GE2$WUO;_*7dEgP?%Fc&4`DJb^snLV}51PJ28%E}>k~VtKKjDGz zhkWVuJi`ND@I_rPxlF7~O?UCe(u#kGF#fv?ke?$Hk6S(^T4oJV4Q zWD?Ax(sLei-}S(=Fr<+EitefD5Jj;w2rh3pvJ#cFgwk{Raw6s{!(@&Zn zjV^9#kJc<(Rx~jhjWjPpXVhiz>XRXd-VxDX*!F7ZugiSGPvvtA zWi@`nVI1?K6|);E<`qVlRGe5@9IYst6pfx&9mUJkcr;$UIJ~5CX7qvrwS%RlwYjBW z%491#Cvx)4(nvJg*1jlO9)(hqvAJq?G2W5JtD9Cdp?p6fB#l9?V-X zC|9Z`Po6!y5}q)xbY>(RMNw)SD^y`Caspo0=h^rdquf zY^rW*ZflIi(9Y40tE1J8>QOA3sssH%X{N91T4MtUbYq;ZWX#0gyKuc|>9kM<5O!;?xyBR(FGHWCSrpG_U1)vWE0+`rskz6gwR_J%{6hUvdZ}68tltc zS4C5!(PmUfta?clp#X0V(?y=}sj%)OCq8NFa(G^0G+a3~iV!p@s$8M6xv?$WAX-*7 zPikq8JC0x3JVja1aX4-v2wQWVCIZhF zid+=K_C$z}*BAtw4fVb8?bGL#r)i(M;s!DNi#_IEnkyOiPd&KBHR+I8M}WGoneydc)ZoBscVbH+gf6=T7bAzpai>#g(jY$&siL= zr+z^fc$W4p)zoGUXm>?mUv7p-I@lIBG`B?&3}cha5w#3`WqcrBrual_+nS^G2u_XC zcc=~`9$SXtRrK_EmFZ%~yagx0aG+dPy{O^5B2m7r0kOQgtt~183;0)Evkcbem2*d* zS~r%VuFQ(?2OTQ?L631|`n7=YpX>RX;Ig)C=wBs#5#bqn3@!9EgqyLoJRVEE#q6{1U>e2=6AmlJFITFDCq2jf>oR!m$TgCBfNl zvYsbN@CF>FT-d0rlHfA8F}VB%mL$R1o-Y#4<(2h3NpcF|Fnr!8yo&JMgmZcO2tem#e_HGnV~;P?2u&wBoY=no@4Z+pj!$}f)_S=&P&%-lA-$3}`gm)9p?E)LuRT4e9UCX+iB*D+aVfbH5ILEh}2|tzS ze?>UAqq_;`cJu<_%ZSfwgr86NTZCUg_&!5$gCzRb;4u2){{w_q5&jtQ;d*?E zaIVKM3FmqY=!H7bpX+fL;arc$63+Fw&;vh5ks5c`%S6I?oNx@`4J3Ca;T)Id63+DV31|A# z3Fo*PC7j1O4TQ7ZS~Tvq+l7R)-LCN9b0yJ-sJu52&U{`WKHT2>Jn)g~LqJY{)JXil zr*WwlE>{`Rhlu`U!m9{hKsfuuLc-Y}Vj6e*!&1U8A^w*VpNj}j5`Hn^*Akyg3BQeS zuJ_*(&UUzm_=kwkLxfimzL{{g!xMzF9iG*=+YYY~&i=fca4whGvMYSp&u8iP{(`fg zL_P3xH7@?le)4moXZzev^daOiarg#@%sXEa7a2BM4_ZOdy=?Fh%2TJIo@S{p9hob7M6R=Vw}7yfLwg9vB)A4NFZe+J>q zXBOdX|1QGW{y){Y=sA}3{5{dv625_O9{;~UIP>4-!QVFuOp(M6%zq@|%>Q7GyZz(@ zqGvxjh3G?&VeEe<;Z=m!5YB#bHsS0itr{2oc^uwFIQz*8;=}FqdcwO%pIe9z*Y9e= z*-zFI&UV;9{CU3oIN@xEzY@-N_&ecjhkt6^ZHHZiv)=~xMIn)dp3Ail;q14SgtK2Y zd*GL8-0dg7C3?2cJwzXZPR36jBD{+5&4gDH{siG{pJz4hw$B@cv!A?2eArJuCA^#D z`bXmi$!*V3gtMOfP zCY=4`9>UpAHf!7+-(DvATGIc0!a4rz^DPh|iT=!gtj68`_FWHr0r6q`FC_X9WEeZw z6JABQ^KTIcufLr~^lbl2NG`{#m4ve&UQc}34{s;@a?zSLnH1V+dzI{I15`{xHP@zt98!A@N^A zM1LsZhk4K!65dMm)r7YZ-avSq@U0qm z+ij8l0|Ga`&$p2o$=x0+Jn%M+yX~-y=-CdJ68%w-W9)X72mSqob9pxq&gFfE@OI+= zg2qM92;n32{%|QT)9(>$V$W*AbM&9ey8W%#17GBU_jurc z@W5a8z(3Tu=*jCC@dE)M3BDYM@!L+qIS#DUxRi_i|2m={PkesmLBEY~_Wu_NXa66e z|8!LJOc4Jt;asjW31|HqH15{Fh3F>`{|*oOy9sCgw-6te`wY>u-F6Ut0m<$4pwB)S zL`b4P`{!uFxxJ6oxY&*3!)y=w3J?18iJseI2hsC5FiCh7WE;P_hH#D#HxSP8;TDZc zc{x6;A^Z~J|1j~ni17CaXaD((_;7!nGZvYVL@t;2TN)R8hH#j2g$S=A{7AyNyaj}F zd8caJUEUJHS)Vz?hxIv?aMtGsgtIN8h7i{N;vCtKJj6Fx(H`|l7zE9*AUM7 z{7mC+eQqb5_4zO2!~VI3aMtHR!dah32xomB*SK4s=Llzgo+m!6&zpp^KJO9E`g}|{ z>+_|?-TL^YGLQu4{%d4NPzUG!@!*hx2gRAgJ@5&HUy7`zT}&bTEW&?JcrD=@2j>zOK`_l&(V+`d*5&h6_yjc0-f z_eT#AeIfCGjOZ5<{tv>r-F-`LM9<|~O7v5R&lMi@ zR}s$otB=(qzu2Lg_-rD2-e>hV;pY?mQ-ohY_y>g75Wa6dZji*zj32IX(TDrZLJ#}| z;=_8LLOAQWfN<6`NjU4X+5>-B<8D2l^uRwNoc;N8!nxkFga}FO!}Y$8#@&89%>zG{ z_^>~h5zhW_GV!?@vW@?rML6qOLws1zvx$Bx@wvc*{z?!0C&XtO@wvl;eys<-f%p^? zpQk+NU-!V@AwJWI&leu_N6BIzk~^MEBAo4CP53FuXY9Ys1Am5ap4Y#qaq*J~@fk55 zH%Oun)9xrJnAzO(47|1r|dYbSm!v97%k3(J}d@<3#sc|V+J>l;V z&g&tc5YBpjN&IIJpP{nogCzE;!eR6uMfkCV@2_#u=O)4@5YF{m;(^YFzkt=xaI2|3i@E#>+hLMi2aU z5Bwh<_-GNBM(!#Pe2lJmx1M?!rR>k`WtPK!5ME9ARk$|wGD*vodSpK39{A4*=XzKF zC=xt`57+x4T7SX0-t!5+1ka217;Z64T4L#iTL%Lio%xAkHCuE%;o0 z%_qT`zj-Ej)ZE}4($`|2fWDT~WPL4omcEvgt*-?iqOavttFHw&WfZ7Gevky0!=yjx z3&DP1K%5^X-1vY%PZ7S4zLrz26bQ-iH{T!pHsLuAiTbS|T=J~eN;%&jb@&Lq@v{yW zz4_i>f^eZfOmPQ4!iBZ@4&eQS3;iTbpQ+``Ne=V9ynP54`Z=2ZSiEndUrTH%2#e@rer=~Z5|1OW^FyG62%0<6g)9302Z0ODR@4ijA@PAX&f1hy4W4?>W ze^)N_A#JbgUG!DDq1-~a(A%1RJK@6Ld`ItP!iBy?(}yGgAQ}D5_x17#7y3IjeLdll z$9#A1T*8I^B~8DYaG?+FhaaTvF1$kHFB2|&#z-clak_CDJpjj@A3VFaG^g?*WXKo3%&WC-A=-V-uO*Ow-2L_`JSEmdt||d{+F8nnM6Mz{ui{J zza(D0$SS~BnVfUIxoX9?b_($M5PY1iwmM#I6)b9NvlLK(Z@2K5mH69Z{RD%)H)6g( zhA(w#&cbLAnfi*@SJB9Kj0#$tMKMvmr~sdK)3@n(;+re@n2SS+PrL0|0f*QsSX_gz zdZ}-l;WKxO8e?g-HN=XgJ4Z?`MRC)nVL3y2u!P#lHp|B5jkV9rVNC#a9yY1y&*XkBYHJ~39XxV0HZ`k$s7(Ed5T z8Ga@D!i;HTTol2f!*uHGmETU2U&d=+H-ClBKU$wf{`dAGf341EV!Gr%ZZGo3b$&Az zll;f;MgER7`LEoI{3~>Rw*MV_k^kB>@)z$#{#9x6%lgCDt-rg{G z*TbC@XLo*iCzLLKmCkS084Lq=epypj_IK&O{W>Rytuu=KWn5y)Z|wgIVCm$q)bgk5 z{O07AFY8e0WShSmjjEgoXU}3>CYgpzb_Sw#QIBHck5rJ<-6-|y>^_p6_@@W zli!phuJgO?zj~UJC)S@;UAgVwZ1i{4U*XT3jM|M<{5cqqkuP;2=?M?{p$+i$hbZ{(T$?)x0%SN`X+ zpY?MmhtX5?H+{7{F?iTR{(WCleu;xtH%7rfdI&y8LGSN9->#+T=Io z7k%8ag?Ck%{94v}-2qL(bp(eyzl^V-!k`qI=RhsP20n6^U*=Bf@_+wUC*La9LwElF E4eZV@H~;_u literal 76928 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 + +// SOURCE: https://stackoverflow.com/a/8152888 + +class TimeoutException: public std::exception +{ +public: + explicit TimeoutException(const char* message, int timeout) : TimeoutException(std::string(message), timeout) + { + } + + explicit TimeoutException(const std::string& message, int timeout) : msg(message), timeout(timeout) + { + if(!msg.length()) + msg = "Timeout reached (" + std::to_string(timeout) + ")"; + } + + virtual ~TimeoutException() throw () + { + } + + virtual const char* what() const throw () + { + return msg.c_str(); + } + +protected: + std::string msg; + int timeout; +}; + +#endif // TIMEOUTEXCEPTION_H diff --git a/drv/usart.cpp b/drv/usart.cpp new file mode 100644 index 0000000..554c598 --- /dev/null +++ b/drv/usart.cpp @@ -0,0 +1,74 @@ +#include "usart.h" + +USART::USART(std::string device) : device(device) +{ +} + +void USART::openDevice() +{ + file_desc = open(device.c_str(), O_RDWR | O_NOCTTY | O_NDELAY); + if(file_desc <= 0) + throw USARTException("Fehler beim Öffnen des Gerätes"); + + struct termios options; + int code = tcgetattr(file_desc, &options); + if(code) + throw USARTException("Fehler beim Lesen der Geräteparameter"); + + options.c_cflag = CS8 | CLOCAL | CREAD; + options.c_iflag = IGNPAR; + options.c_oflag = 0; + options.c_lflag = 0; + options.c_cc[VTIME] = timeout; + code = cfsetspeed(&options, baudrate); + if(code) + throw USARTException("Fehler beim Setzen der Baudrate"); + + code = tcsetattr(file_desc, TCSANOW, &options); + if(code) + throw USARTException("Fehler beim Setzen der Geräteparameter"); + + clearOutputBuffer(); + clearInputBuffer(); +} + +void USART::closeDevice() +{ + int code = close(file_desc); + if(code) + throw USARTException("Fehler beim Schließen des Gerätes"); +} + +void USART::clearInputBuffer() +{ + int code = tcflush(file_desc, TCIFLUSH); + if(code) + throw USARTException("Fehler beim Leeren des Eingangspuffers"); +} + +void USART::clearOutputBuffer() +{ + int code = tcflush(file_desc, TCOFLUSH); + if(code) + throw USARTException("Fehler beim Leeren des Ausgangspuffers"); +} + +uint32_t USART::getBaudrate() +{ + return baudrate; +} + +uint8_t USART::getTimeout() +{ + return timeout; +} + +void USART::setBaudrate(uint32_t baudrate) +{ + this->baudrate = baudrate; +} + +void USART::setTimeout(uint8_t timeout) +{ + this->timeout = timeout; +} diff --git a/drv/usart.h b/drv/usart.h new file mode 100644 index 0000000..7d17d20 --- /dev/null +++ b/drv/usart.h @@ -0,0 +1,102 @@ +#ifndef USART_H +#define USART_H + +#include +#include +#include +#include +#include +#include "usartexception.h" + +class USART +{ +public: + USART(std::string device); + + /************************************************* + * Methoden für die Verwaltung der Schnittstelle * + *************************************************/ + + /** + * Öffnet die USART Schnittstelle + * \throws USARTException + */ + void openDevice(void); + + /** + * Schließt die USART Schnittstelle + * \throws USARTException + */ + void closeDevice(void); + + /** + * Verwirft Daten, die bereits im Puffer liegen, aber noch nicht gelesen wurden + * \throws USARTException + */ + void clearInputBuffer(void); + + /** + * Verwirft Daten, die bereits im Puffer liegen, aber noch nicht gesendet wurden + * \throws USARTException + */ + void clearOutputBuffer(void); + + /*************************************************/ + + + + /************************************* + * Methoden für die Datenübertragung * + *************************************/ + + /** + * Sendet ein Byte über die USART Schnittstelle + * \param b das zu sendende Byte + * \throws USARTException + */ + void writeByte(uint8_t b); + + /*************************************/ + + + + /*************************************** + * Methoden für einstellbare Parameter * + ***************************************/ + + /** + * Liefert die eingestellte Baudrate + * Änderungen werden erst nach einem open() wirksam + */ + uint32_t getBaudrate(void); + + /** + * Liefert den eingestellten Timeout (in Dezisekunden) + * Änderungen werden erst nach einem open() wirksam + */ + uint8_t getTimeout(void); + + /** + * Setzt die Baudrate + * Änderungen werden erst nach einem open() wirksam + */ + void setBaudrate(uint32_t baudrate); + + /** + * Setzt den Timeout (in Dezisekunden) + * Änderungen werden erst nach einem open() wirksam + */ + void setTimeout(uint8_t timeout); + + /***************************************/ + +private: + + std::string device; // Gerätepfad + int file_desc = -1; // Linux Dateideskriptor + uint32_t baudrate = 9600; + uint8_t timeout = 10; // in Dezisekunden +}; + + +#endif // USART_H diff --git a/drv/usart.o b/drv/usart.o new file mode 100644 index 0000000000000000000000000000000000000000..3039e2749303dcf076cc5859c77541dbc71808ec GIT binary patch literal 11208 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 literal 0 HcmV?d00001 diff --git a/drv/usartexception.h b/drv/usartexception.h new file mode 100644 index 0000000..840ce6c --- /dev/null +++ b/drv/usartexception.h @@ -0,0 +1,33 @@ +#ifndef USARTEXCEPTION_H +#define USARTEXCEPTION_H + +#include +#include + +// SOURCE: https://stackoverflow.com/a/8152888 + +class USARTException: public std::exception +{ +public: + explicit USARTException(const char* message) : msg(message) + { + } + + explicit USARTException(const std::string& message) : msg(message) + { + } + + virtual ~USARTException() throw () + { + } + + virtual const char* what() const throw () + { + return msg.c_str(); + } + +protected: + std::string msg; +}; + +#endif // USARTEXCEPTION_H diff --git a/main b/main index c5917ccca06462a154794fbe3efc6e33ae5f9b4a..da5b077944287e744153307d125209d98f62402d 100755 GIT binary patch literal 60672 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 literal 71568 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 i;mx>#*R;0<=R2Iv +#include +#include "drv/usart.h" #include "drv/b15f.h" #include "drv/plottyfile.h" @@ -35,9 +37,9 @@ void kennlinieErsterQuadrant() drv.analogWrite1(u_gs); drv.analogSequence(0, &ba[0], 0, 1, &bb[0], 0, 0, delta, sample_count); - drv.delay(10); + drv.delay_ms(10); drv.discard(); - drv.delay(10); + drv.delay_ms(10); for(uint16_t k = 0; k < sample_count+1; k++) { @@ -110,18 +112,34 @@ void beispielFunktionen() { B15F& drv = B15F::getInstance(); - /* + for(uint16_t i = 0; i < 256; i++) { drv.digitalWrite0(i); - drv.delay(50); - }*/ + drv.delay_ms(100); + } + + + + + while(1) + { + for(double d = 0; d < M_PI*2; d += .1) + { + uint16_t v = (sin(d) * 511 + 511); + drv.analogWrite0(v); + } + + } + + + uint16_t schwelle_unten = 1023; for(uint16_t i = 0; i < 1024; i++) { drv.analogWrite0(i); - drv.delay(1); + drv.delay_ms(1); if(drv.digitalRead0() & 0x01) { drv.discard(); @@ -142,7 +160,6 @@ void beispielFunktionen() for(uint16_t i = 1023; i > 0; i--) { drv.analogWrite0(i); - drv.delay(1); if(!(drv.digitalRead0() & 0x01)) { drv.discard(); @@ -165,7 +182,8 @@ void beispielFunktionen() int main() { - beispielFunktionen(); + USART usart("/dev/ttyUSB0"); + usart.openDevice(); diff --git a/main.o b/main.o index d3c8707461ab223ef335d4e5e9fbe4aabd959d1f..551fea66ebaf80c1bcaf47a9accb4654e132b981 100644 GIT binary patch delta 3932 zcmZ`+eQZtb&L1sRQGxxjO)Hc(Qdcz6vZa(wD$}M`)1(bbCMvNpmcTwbm1XRl``#Pp zx$2Q}?!CX?`MUSrdwp~A$n>7+kkZpA{a-eS-UexvRP@q%H76g31#k63-gsYc(;u|d zUwt>pKucdrU(?bHsX1AU-y0C%f*4HPlVnLcaBa7%v`dn9yB03~Y(3IK2Wb%1TlbS=LPYol?Fu66bZ9r=- z6lo7E(^4M{eXD;i!y$d?fe)^k!5S&kb6?IntxZK~x;R7oO$nyFjVl(%H@teB(M;i74-;R5UeEK$2Ob#4{SE)9hGfwEYI^H6wkBA zSNM=_g{V>oJC$tsOY1PNL~r=`@&fsNrF2*?<$XE zr_fBcioQcy2IZ<3ZbS>=w67S>s-5yE+))+z7;Gt0U zxPKNlGQ5TMUl;m>&utF`8Lm$5pxO}FIw z6WCX>cV@9f%gSvX7#v9)-Z45h6RQZ?+|2{SPY)*(BTw!hP7XG955Z#jO4u97E*u-) zBaJ3d?RaYQn!eunH?}^~1m{ZIO7uZfJQ0q+?S+Ljg2U!|yi?3rxbm;ch;oPF%Bkd_SB(wwbXL z7WN9Vd_`s~>{15%nT2f#S$!2_zf*C3=+9s~E$mbVJ8fZSku700pJZ$c+(vc{V^%64dx<@LTn`*$zb<0HUMX8tl#=0*jJ;#%^K_Osa!4s z8oS3?Yt46rvDFZ*wMIM*a;*Y~Y8?=%b;uVWfukSQT6d4M;z9g+xPtNd?wMw6BP=1? zgy!bn`q*IUPUThG?5>1SRS}MwXc$@e; zh><^CJY0qd5UJb|H$IFK5yf^WAD)W@c&>DOSRjXq{Iab{v%% f&j}U#Mc|Cp<(93&F3LQ_W9xE5VSQAI`?2(Y987Lu literal 16032 zcmb_j4|r77m4C@(lJF-p(Nc?*N>-7A$ZRGF5VX3PBokg_kjQ`_Rv*LU4Kp~*#F;k| zirQc@%4?jK?S8I)RzKag?xq%9t+o732m(n^t5#~4YOQwHKd?ce?27iQl0E0XdnadJ z=7Dy(-#7E_``vTSJ?GqW&$;hS@?Ed5sj#3x60JbGMjE{ns3cX?j`r(Vw@&)HbRnZH zg?r=~2cPl0e;!=VhtD!uf6uerbAxA@XQ?mqc*jR0BYt_)u^t$2mAi{Bn*lVk?j3UX zAAufp)3rd-oN1g^DesV%E?+oXUhebk2&~4j%+oL?XEObtz(r3##wlAuUfnmXHsn0s z@7cMikxA)C%Izbz5nBQ1CJ&~!0KjMXZ^qX(Z8O{tq#uO4Z#ZYBQ8f_yDIe@XZ3fdl zaEms1cHMx0{<2U1K-OOb!pX-`&#q}hOv+B6lR}O9{jZ{!!SoPZ3K>VbmJ_0Z1L@b0 za4`K2T+nBO>35;mU{J2$l%+5-kUoMWAW8xh#sMkC9!%ZN>1F^O5L9FdW-x-mbX^va zIkGB?ggMfYMK&`;Pd^A(IpZk@k&k5ud$2c<-VT>CSOFQ70u9&-fR(TiXayMl$g9vt z6D7I3mknnc%H{cknw^7>AggElI*%lQ4}l|%9Ox>zpsT<)(3523)BngPIjh7yY+Z;d zdN0bwW%_c0`uum|av<|EWn*Jj0JAluCnup&#yrJL+uxzKXVq_Kvtk$wp#coJN)0re z-^gX!n9M_8NM=^c1z9bHzqX?lA-!SJmr=FP4wHi@W=vldz1a@Sn;n@%Mtqs)`XMHK znckJKu7l}D_(o!{`$Ol{ItYSCa3gm=hq$c2%|!dUS^TVR^&q9RcKlk&eQ+(vKj}Ut zXynfQ6@9qlvH)k!0o`vpr*;4l%#&tu<=i&u;zs?bPakn^tC>9Wq;uPAY)a?0=e`XZ zIJc!yO?21Z_sivRCjh?%HQW1sg*ONuJKn$2rrp zMsV>mtB`4rrY1F|EgBz4x5K?A>%DDUI&L5RWylcC`YW&mVSq6$4x~3g5BDw#FsAG7 zWx{f{NpogF`KWlGewv6jcs&CPCTn9QQ;|OXFLLKz*nF>KH(xLAZOm3IWsqIjD{=|u z9J*b5S8xuLoHJ0%2Zqc8llef8c|hdU&E|oAa0cf3mYfM5L$q^$rEmTRqXu*UD5poV zfOn`>t~TmNYK@#x58veZw&!NgEgt3OeX_of$A!p6o&6*iiFg(fHvG!)uZLe8J~%uG zjKhBd9=0(0KA--nY;dLqVEBD>g@n-^ayh4V;f<-jJ&9U=q59^nl=qm+TQ8QkYz1Rp z$at~1En>B;kJpoa^hCC_`SjxuRYplmGY5~>I&)P^EY>VJjZhuKBePaAH=x@Pe68mAxT0g{bNR_69#l|x?vJ^Csniqi437dZ=& zeW)pD5z?O{bralorh;i9Ye!D0gCcS~w=9M9g=ecD7Ls|j118_&!U4x2zhD=Rw4@3;r;56#4|wzekzaV( z3m<_R&nsVnsC@sKTlw5?4qxD$ibq(Z7`;{k38(8`T;A0&F>^cmN z^f>!&ZxEi6^+AKRlX>?-?q&Jv*MZ5Ie)KfXU}Wc=V`}jISc6Grl#M;ytn>YQh8k=R z4pxSs2r>%%}``=ggk~|=K-j{$452qKbnW4$#t-Do&i)bZaj(NMSF8h&&5_rw1&{5k{j zR_@;p_mIks&!WBzi(z~u_3R#jO}WhP{!s2bR%!@=Gr**fsPAwL-1NCrBuUyb{Uf1Q zA4|LZTq?kx0_`=?AKlcUt4C}e{ebh{uRsKcJoEQ^oeSQ}3Qhf7HgpmD35x|c1<&N* z)UUD&Y$CaPYawnTIsKutYb$8oaVPGfw{U0lr5d<|UbF|!;M^2rI}JNV?fI}kTYOea zQirW98Fb$Jd$1lXIpB5HAMgCIAoYyNhOdB<9_O}Wh6+ZafcyVt_s#l#o)nt9A1*TN zdDGeT2e6`JBihr(>`6AjALc_rs$ze09tWvY4TBe<@_Qn{F1T)T1C<3T-i&R4QiV z(}CZFNrT*^McrFV(4<8e2S3FOih-bA42d)a2J!O=Pozh`1v?8*tisafZm*Qxh`#wJ zv|qyr+l0gW*mGO12lD8{w>6YEBe^f?-d$|yGve%;#Ps%y*2fe>(WUD$Ql zz)>ts-Mh9M_>dWY(7=04_{Me+zS#`c!D%q3B5bSx1k(2C%bcsQ6im2@1u;9X+_Vqg z1l3&*N$Vq<{o{#Jf06yCWs+{U|7)4_j@{lHhKd zXUn7`sMXrkLU6O5H;ds!;GeMG&cNNk@+X{zZYu;JFTNnZ6h+vk1hxr?>cOYZE zqx=Vj^^VEkw>3K|GDY={8TZ*2I4bWc_Bd)gOPU;YHl=X9qqfme>2b`ccT@l=u+%$B z7fe8Z)qsDn)!-+VjdLZf+gylF??fC2zVVw#lDye_XR{x?kYxQlboD7 z_hOUqSA((5#=M;mXNRMl0WZ57tN*ne$2g~LF}s;4;h}}LrR-*+^i2vv|3;2~%Y@&; zar4RqIljn5A7=M(T*%XGW3(}dZ0uK-u?#j?fqc!D-N~b)cR=?N5+`D>KfrK&RcSP~ z-=X_+_?Uf$6nic3A;2#o@h0TpWAynX&M_Zg`vZLbu5fhSMFf8ec)oedA&~Onw^-m? zE%4J8xDQ;JPyRy|_%RE-7#y2VPK5>TwZJ15_}vzGj|INN0)NQ@f5QSlWr53(XY<+n zkOlrT3;e$<)_o_?WBk0s;|6O2w!;>3KC!?H;8c)L&&3va*aFuq@VhPWpIG3#07tvF zI1GDOy@Ku`3;JUgxE=hG&#oyJ_;kR}C;6P!Hkfyo1%1c@zsmyuXTPOX~uW zm@C-UCMgSii|ai;MMW=Brhd zNE}8r$>nRP#IGv+s>ZJx{F;MbZv2`H9M`!kTcUAI+t3t=s*Q8JDCN3^er--r+t8*q z2fekeabG9C*=BiaV#_DY-^e0MG3aI zyWQ@p)q!Lrs3f&SB(|nG=-1rtU^tLav_v4HCBYPb0KU9lvl&9#jpsy~+s&102_ypN zL?Y_fs3wEw&RUdq4y{FT=giu9VC@n$w8E>I*NKnZICjL1L#RPh1hzy&Dsj7-hiEP* z@@s0_@<^)|HfW51s|r9A#@8%QL^Rb+2WpG~zj|9r#b6A#Xluj%N@cBfkdkjyVZ?xtpTKJVY5wh1Ffwv=tT_NV#@6T5&5(vF6|aA;(z4KBt)NoZ z`Q!7IMMBIvFL1?|Vw!@1>b8_-BsYJ2P6!@n!^W!7Eaq#!tj|IYmI(s=P>KF+DJSJ>L=BjW-tt*l&R`B;f)MeT9a`l9DvDi z<%8`3C7`M8P-ZkY2tJe0{|mt>{Zjv?3XA^uJDh>@V_$(^q%qIBX6Z{&2R}#F5;BJEZ2~O$7xebT$4`{@^ z|3>Jm34Q^b5S>VrF;4fL=?^)odE%2|w`3@V} zMfI6&f!AB$ehYky1^yt%F{~@#BmDCip~rU;0)Ls{^9VkHKUbjsmlFJ+_=73pR}%aX z!KV>?nBde8)A=Jd%DIftUqf(8pCI^jLjOI2Q~H+(PWSt}1gG?ujt8O8P#?PAuOc|5 zzmwoIfk*iBeu7i_9~1m?LjUgsr~7?3!RdZKNN~E}#Vah-pYHc>P5=NJ;&i`nAvoQq zy9iGA=^>6|T;cPTu=fpuUq$eDi5z@KBRzThb{093;aO~{7DP^c?xe%~ z`13ff`xJt^30^_)`5Z^T(LA$);MAWHf_sRZ%><`;=>d+L^?8cW(|q+Cf;SNPe-w&os|?2u}UeOmOO-79tS-8CvvEsFImtZBJ@o}eh~&eH1spo^HPrEy5O%C!f%%ooa$3UAy z^we)jf>V7q5}f+&K7!W~J)h;cS^u2`r~2ZCqe#~L`1qA1A z8%HN!{XegvW68TnfH2z(`i z&`{1o_y|0JAT+c5wFb=O<6MHC!|WGCd=#h?0KXQ%6@POVt%7$@zVIzV;&%eX`6Cp< zlES_XeJ@`1sWGr527lG!T5#R6+3a;Dm!yW3P$B?tIbCZKahUM`-<;rYo{DmW z)$u$2m@It_?lCXpzQ87~R{SC_iT#cI_z`^KYQ?`4CxJ%!FM)f(C$1HMVaU)}hg)eC zenFck5{Yp;<~O*D07qGMd|X^=FEe`E`8itXF8m?#G(Pj={5HYJuTj&yVwi`wxRtJe z9?G=hH`AN%-N1`jF>WN%+W7otx%^m^rCbiZeEc1p|Aj22(J}Kc0hsyEH2;ZegZ?n* zNB`kIH~a54z;J#OyL2rc3ZXq@T(aM0`#WI-v8pVE(Rr8i-(bQ8zqmdCEUpm40SD6@u{(>Kw^Z9==zGQ%g`e8%+QKaA( ze#tjC(zhT3v|3(#kskA}nIHF*Id%Y&HeZb2lJvAGuubN$HOa?cI?v$0z{Fs>mHrO{ CNi_BV From 17416f357ce5b7ae695ca646b7f1f7d5c9c25b99 Mon Sep 17 00:00:00 2001 From: Tristan Krause Date: Fri, 29 Mar 2019 11:38:11 +0100 Subject: [PATCH 22/32] es kompiliert --- drv/b15f.cpp | 225 ++++++++++---------------------------------------- drv/b15f.h | 27 +----- drv/b15f.o | Bin 46008 -> 30536 bytes drv/usart.cpp | 127 ++++++++++++++++++++++++++-- drv/usart.h | 21 ++++- drv/usart.o | Bin 11208 -> 18048 bytes main | Bin 60672 -> 56144 bytes main.cpp | 5 +- main.o | Bin 14096 -> 14016 bytes 9 files changed, 189 insertions(+), 216 deletions(-) diff --git a/drv/b15f.cpp b/drv/b15f.cpp index c58b4eb..edc8c1c 100644 --- a/drv/b15f.cpp +++ b/drv/b15f.cpp @@ -11,24 +11,7 @@ void B15F::init() { std::cout << PRE << "Stelle Verbindung mit Adapter her... " << std::flush; - int code = system(std::string("stty " + std::to_string(BAUDRATE) + " -F " + SERIAL_DEVICE).c_str()); - if(code) - { - throw DriverException("Konnte serielle Verbindung nicht initialisieren. Ist der Adapter angeschlossen?"); - } - - usart = open(SERIAL_DEVICE.c_str(), O_RDWR | O_NOCTTY | O_NDELAY); - struct termios options; - tcgetattr(usart, &options); - options.c_cflag = CS8 | CLOCAL | CREAD; - options.c_iflag = IGNPAR; - options.c_oflag = 0; - options.c_lflag = 0; - options.c_cc[VTIME]=100; // timeout in Dezisekunden - cfsetspeed(&options, BAUDRATE); - tcsetattr(usart, TCSANOW, &options); - tcflush(usart, TCIOFLUSH); // leere Puffer in beiden Richtungen - + usart.openDevice(SERIAL_DEVICE); std::cout << "OK" << std::endl; delay_ms(1); @@ -82,13 +65,13 @@ void B15F::reconnect() void B15F::discard(void) { - tcflush(usart, TCOFLUSH); // leere Ausgangspuffer + usart.clearOutputBuffer(); for(uint8_t i = 0; i < 8; i++) { - writeByte(RQ_DISC); // sende discard Befehl (verwerfe input) + usart.writeByte(RQ_DISC); // sende discard Befehl (verwerfe input) delay_ms((16000 / BAUDRATE) + 1); // warte mindestens eine Millisekunde, gegebenenfalls mehr } - tcflush(usart, TCIFLUSH); // leere Eingangspuffer + usart.clearInputBuffer(); } bool B15F::testConnection() @@ -97,11 +80,11 @@ bool B15F::testConnection() srand(time(NULL)); uint8_t dummy = rand() % 256; - writeByte(RQ_TEST); - writeByte(dummy); + usart.writeByte(RQ_TEST); + usart.writeByte(dummy); - uint8_t aw = readByte(); - uint8_t mirror = readByte(); + uint8_t aw = usart.readByte(); + uint8_t mirror = usart.readByte(); return aw == MSG_OK && mirror == dummy; } @@ -111,10 +94,10 @@ bool B15F::testIntConv() srand(time(NULL)); uint16_t dummy = rand() % (0xFFFF / 3); - writeByte(RQ_INT); - writeInt(dummy); + usart.writeByte(RQ_INT); + usart.writeInt(dummy); - uint16_t aw = readInt(); + uint16_t aw = usart.readInt(); return aw == dummy * 3; } @@ -125,20 +108,20 @@ std::vector B15F::getBoardInfo(void) { std::vector info; - writeByte(RQ_INFO); - uint8_t n = readByte(); + usart.writeByte(RQ_INFO); + uint8_t n = usart.readByte(); while(n--) { - uint8_t len = readByte(); + uint8_t len = usart.readByte(); std::string str; while(len--) - str += static_cast(readByte()); + str += static_cast(usart.readByte()); info.push_back(str); } - uint8_t aw = readByte(); + uint8_t aw = usart.readByte(); if(aw != MSG_OK) throw DriverException("Board Info fehlerhalft"); @@ -156,10 +139,10 @@ bool B15F::digitalWrite0(uint8_t port) { try { - writeByte(RQ_BA0); - writeByte(port); + usart.writeByte(RQ_BA0); + usart.writeByte(port); - uint8_t aw = readByte(); + uint8_t aw = usart.readByte(); return aw == MSG_OK; } catch(DriverException& de) @@ -173,10 +156,10 @@ bool B15F::digitalWrite1(uint8_t port) { try { - writeByte(RQ_BA1); - writeByte(port); + usart.writeByte(RQ_BA1); + usart.writeByte(port); - uint8_t aw = readByte(); + uint8_t aw = usart.readByte(); return aw == MSG_OK; } catch(DriverException& de) @@ -190,8 +173,8 @@ uint8_t B15F::digitalRead0() { try { - writeByte(RQ_BE0); - return readByte(); + usart.writeByte(RQ_BE0); + return usart.readByte(); } catch(DriverException& de) { @@ -204,8 +187,8 @@ uint8_t B15F::digitalRead1() { try { - writeByte(RQ_BE1); - return readByte(); + usart.writeByte(RQ_BE1); + return usart.readByte(); } catch(DriverException& de) { @@ -218,12 +201,12 @@ bool B15F::analogWrite0(uint16_t value) { try { - writeByte(RQ_AA0); + usart.writeByte(RQ_AA0); delay_ms(1); - writeInt(value); + usart.writeInt(value); delay_ms(1); - uint8_t aw = readByte(); + uint8_t aw = usart.readByte(); return aw == MSG_OK; } catch(DriverException& de) @@ -237,10 +220,10 @@ bool B15F::analogWrite1(uint16_t value) { try { - writeByte(RQ_AA1); - writeInt(value); + usart.writeByte(RQ_AA1); + usart.writeInt(value); - uint8_t aw = readByte(); + uint8_t aw = usart.readByte(); return aw == MSG_OK; } catch(DriverException& de) @@ -254,10 +237,10 @@ uint16_t B15F::analogRead(uint8_t channel) { try { - writeByte(RQ_ADC); + usart.writeByte(RQ_ADC); delay_ms(1); - writeByte(channel); - return readInt(); + usart.writeByte(channel); + return usart.readInt(); } catch(DriverException& de) { @@ -273,13 +256,13 @@ bool B15F::analogSequence(uint8_t channel_a, uint16_t* buffer_a, uint32_t offset try { - writeByte(RQ_ADC_DAC_STROKE); - writeByte(channel_a); - writeByte(channel_b); - writeInt(start); - writeInt(static_cast(delta)); - writeInt(count); - uint8_t aw = readByte(); + 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(); if(aw != MSG_OK) { @@ -290,7 +273,7 @@ bool B15F::analogSequence(uint8_t channel_a, uint16_t* buffer_a, uint32_t offset uint8_t block[5]; // 4 Datenbyte + crc for(uint16_t i = 0; i < count; i++) { - bool crc_ok = readBlock(&block[0], 0); + bool crc_ok = usart.readBlock(&block[0], 0); if (!crc_ok) { @@ -303,7 +286,7 @@ bool B15F::analogSequence(uint8_t channel_a, uint16_t* buffer_a, uint32_t offset buffer_b[offset_b + i] = ((uint16_t) block[2]) | (((uint16_t) block[3]) << 8); } - aw = readByte(); + aw = usart.readByte(); if(aw == MSG_OK) return aw; @@ -317,126 +300,6 @@ bool B15F::analogSequence(uint8_t channel_a, uint16_t* buffer_a, uint32_t offset } } - -void B15F::writeByte(uint8_t b) -{ - if(write(usart, &b, 1) != 1) - throw DriverException("Fehler beim Senden. (byte)"); -} - -void B15F::writeInt(uint16_t v) -{ - if(write(usart, reinterpret_cast(&v), 2) != 2) - throw DriverException("Fehler beim Senden. (int)"); -} - -uint8_t B15F::readByte() -{ - char b; - auto start = std::chrono::steady_clock::now(); - auto end = start; - uint16_t elapsed = 0; - while(elapsed < timeout) - { - int n_ready; - int code = ioctl(usart, FIONREAD, &n_ready); - if(code != 0) - std::cout << PRE << "n_ready code: " << code << std::endl; - - if(n_ready > 0) - { - //std::cout << code << " \tready: " << n_ready << std::endl; - - code = read(usart, &b, 1); - if (code > 0) - return static_cast(b); - if (code < 0) - std::cout << PRE << "usart code: " << code << std::endl; - } - - end = std::chrono::steady_clock::now(); - elapsed = std::chrono::duration_cast(end - start).count(); - } - - if(elapsed >= timeout) - throw DriverException("Verbindung unterbrochen. (timeout)"); -} - -uint16_t B15F::readInt() -{ - return readByte() | readByte() << 8; -} - -bool B15F::readBlock(uint8_t* buffer, uint16_t offset) -{ - uint8_t len = readByte(); - uint8_t crc = 0; - buffer += offset; - - // wait for block - int n_ready; - uint16_t elapsed = 0; - auto start = std::chrono::steady_clock::now(); - auto end = start; - while(elapsed < block_timeout) - { - int code = ioctl(usart, FIONREAD, &n_ready); - if(code != 0) - { - std::cout << PRE << "n_ready code: " << code << std::endl; - return false; - } - - if(n_ready >= len + 1) - break; - - end = std::chrono::steady_clock::now(); - elapsed = std::chrono::duration_cast(end - start).count(); - } - if(elapsed >= timeout) - { - std::cout << PRE << "block timeout: " << std::endl; - return false; - } - - while(len--) - { - *buffer = readByte(); - - crc ^= *buffer++; - for (uint8_t i = 0; i < 8; i++) - { - if (crc & 1) - crc ^= CRC7_POLY; - crc >>= 1; - } - } - - crc ^= readByte(); - for (uint8_t i = 0; i < 8; i++) - { - if (crc & 1) - crc ^= CRC7_POLY; - crc >>= 1; - } - - if(TEST == 1) - crc = 1; - if(TEST > 100) - TEST = 0; - - if (crc == 0) - { - writeByte(MSG_OK); - return true; - } - else - { - writeByte(MSG_FAIL); - return false; - } -} - void B15F::delay_ms(uint16_t ms) { std::this_thread::sleep_for(std::chrono::milliseconds(ms)); diff --git a/drv/b15f.h b/drv/b15f.h index 4d48b21..132c4c8 100644 --- a/drv/b15f.h +++ b/drv/b15f.h @@ -14,6 +14,7 @@ #include #include #include +#include "usart.h" #include "driverexception.h" #include "timeoutexception.h" @@ -59,35 +60,12 @@ public: static B15F& getInstance(void); private: - int usart = -1; uint16_t timeout = 1000; // ms uint16_t block_timeout = 1; // ms - int TEST = 0; + USART usart; static B15F* instance; - - /*********************************************** - * Grundfunktionen für die serielle Verbindung * - ***********************************************/ - - /** - * Übergibt ein Byte an die USART Schnittstelle - */ - void writeByte(uint8_t); - - /** - * Übergibt ein Integer an die USART Schnittstelle - */ - void writeInt(uint16_t); - - /** - * Übergibt ein Integer an die USART Schnittstelle - * \throws TimeoutException - */ - uint8_t readByte(void); - uint16_t readInt(void); - bool readBlock(uint8_t* buffer, uint16_t offset); // CONSTANTS @@ -98,7 +76,6 @@ private: constexpr static uint16_t RECONNECT_TIMEOUT = 64; // ms constexpr static uint8_t RECONNECT_TRIES = 3; constexpr static uint32_t BAUDRATE = 115200; - constexpr static uint8_t CRC7_POLY = 0x91; // REQUESTS constexpr static uint8_t RQ_DISC = 0; diff --git a/drv/b15f.o b/drv/b15f.o index 47f3a9cba8df9f3a78f6c763f9af42dfa4a2ef38..5b6d8ec456d0f3d463bf38255b0a0c7364ae5b60 100644 GIT binary patch literal 30536 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 E4eZV@H~;_u diff --git a/drv/usart.cpp b/drv/usart.cpp index 554c598..5760d8e 100644 --- a/drv/usart.cpp +++ b/drv/usart.cpp @@ -1,10 +1,6 @@ #include "usart.h" -USART::USART(std::string device) : device(device) -{ -} - -void USART::openDevice() +void USART::openDevice(std::string device) { file_desc = open(device.c_str(), O_RDWR | O_NOCTTY | O_NDELAY); if(file_desc <= 0) @@ -53,6 +49,127 @@ void USART::clearOutputBuffer() throw USARTException("Fehler beim Leeren des Ausgangspuffers"); } +void USART::writeByte(uint8_t b) +{ + if(write(file_desc, &b, 1) != 1) + throw USARTException("Fehler beim Senden: writeByte()"); +} + +void USART::writeInt(uint16_t d) +{ + if(write(file_desc, reinterpret_cast(&d), 2) != 2) + throw USARTException("Fehler beim Senden: writeInt()"); +} + +uint8_t USART::readByte(void) +{ + char b; + auto start = std::chrono::steady_clock::now(); + auto end = start; + uint16_t elapsed = 0; + while(elapsed < timeout) + { + int n_ready; + int code = ioctl(file_desc, FIONREAD, &n_ready); + if(code != 0) + std::cout << "n_ready code: " << code << std::endl; + + if(n_ready > 0) + { + //std::cout << code << " \tready: " << n_ready << std::endl; + + code = read(file_desc, &b, 1); + if (code > 0) + return static_cast(b); + if (code < 0) + std::cout << "usart code: " << code << std::endl; + } + + end = std::chrono::steady_clock::now(); + elapsed = std::chrono::duration_cast(end - start).count(); + } + + if(elapsed >= timeout) + throw USARTException("Verbindung unterbrochen. (timeout)"); +} + +uint16_t USART::readInt(void) +{ + return readByte() | readByte() << 8; +} + +bool USART::readBlock(uint8_t* buffer, uint16_t offset) +{ + uint8_t len = readByte(); + uint8_t crc = 0; + buffer += offset; + + uint32_t block_timeout = timeout / 10; + + // wait for block + int n_ready; + uint16_t elapsed = 0; + auto start = std::chrono::steady_clock::now(); + auto end = start; + while(elapsed < block_timeout) + { + int code = ioctl(file_desc, FIONREAD, &n_ready); + if(code != 0) + { + std::cout << "n_ready code: " << code << std::endl; + return false; + } + + if(n_ready >= len + 1) + break; + + end = std::chrono::steady_clock::now(); + elapsed = std::chrono::duration_cast(end - start).count(); + } + if(elapsed >= timeout) + { + std::cout << "block timeout: " << std::endl; + return false; + } + + while(len--) + { + *buffer = readByte(); + + crc ^= *buffer++; + for (uint8_t i = 0; i < 8; i++) + { + if (crc & 1) + crc ^= CRC7_POLY; + crc >>= 1; + } + } + + crc ^= readByte(); + for (uint8_t i = 0; i < 8; i++) + { + if (crc & 1) + crc ^= CRC7_POLY; + crc >>= 1; + } + + if(TEST == 1) + crc = 1; + if(TEST > 100) + TEST = 0; + + if (crc == 0) + { + writeByte(0xFF); + return true; + } + else + { + writeByte(0xFE); + return false; + } +} + uint32_t USART::getBaudrate() { return baudrate; diff --git a/drv/usart.h b/drv/usart.h index 7d17d20..a23cab1 100644 --- a/drv/usart.h +++ b/drv/usart.h @@ -1,7 +1,9 @@ #ifndef USART_H #define USART_H +#include #include +#include #include #include #include @@ -11,7 +13,6 @@ class USART { public: - USART(std::string device); /************************************************* * Methoden für die Verwaltung der Schnittstelle * @@ -19,9 +20,10 @@ public: /** * Öffnet die USART Schnittstelle + * \param device Linux-Gerätepfad * \throws USARTException */ - void openDevice(void); + void openDevice(std::string device); /** * Schließt die USART Schnittstelle @@ -56,6 +58,17 @@ public: */ void writeByte(uint8_t b); + /** + * Sendet ein Integer über die USART Schnittstelle + * \param b das zu sendende Byte + * \throws USARTException + */ + void writeInt(uint16_t d); + + uint8_t readByte(void); + uint16_t readInt(void); + bool readBlock(uint8_t* buffer, uint16_t offset); + /*************************************/ @@ -92,10 +105,12 @@ public: private: - std::string device; // Gerätepfad int file_desc = -1; // Linux Dateideskriptor uint32_t baudrate = 9600; + int TEST = 0; uint8_t timeout = 10; // in Dezisekunden + + constexpr static uint8_t CRC7_POLY = 0x91; }; diff --git a/drv/usart.o b/drv/usart.o index 3039e2749303dcf076cc5859c77541dbc71808ec..da366a5b4e87655ebe7a9e6dfc6740e9bdca4275 100644 GIT binary patch literal 18048 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 literal 11208 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 diff --git a/main b/main index da5b077944287e744153307d125209d98f62402d..36cd534f1037a31ed1f784a7eeb5534546505d57 100755 GIT binary patch literal 56144 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 VjNU1VR=@FePVt+F3K3c9{{e%xqQC$E literal 60672 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 diff --git a/main.cpp b/main.cpp index 6f27b98..5293528 100644 --- a/main.cpp +++ b/main.cpp @@ -182,8 +182,9 @@ void beispielFunktionen() int main() { - USART usart("/dev/ttyUSB0"); - usart.openDevice(); + USART usart; + usart.openDevice("/dev/ttyUSB0"); + usart.closeDevice(); diff --git a/main.o b/main.o index 551fea66ebaf80c1bcaf47a9accb4654e132b981..e53cb553d9e9972519664b23e89cd127f563f894 100644 GIT binary patch delta 768 zcmZ9IO=uHA6vt=Qrlv8Zn`CL)6iiySnrOb(eAOQEp@9w}qQrurqLPHR(od2W1i?Z; zT|zPSfrwtJ7Ztpe1*x7Q)fPO6c+yMjL7|aA+p84x&6XVMAO17L|M%X!-KkF0#;YDm zmb~lY9n+ZMGbQ(EfsmPN!^HtN$>v7JW{SlC*{`82dmGFbW`m{DEmm$YHh)DHnfi;V zXJvPuRa*Ky*ud0`+^^Kw@?X?k9}m`N!6_K6XC>i!5bqk(Yy(yefxhVJNSyQmH!&m zkNbLc+U`mbEo7@w+JN_Vsr|a}#$@SCTg0@*m_9_bpLU4~+eG^#%^I*|+UcU_V8Q92 z!}|JMU*GBLSJ=UPgP%2bx4G4Z%n8=EW^pxEY%+M<`AQ(M|e^hbW#$ z(arpaK6ewk{4Ot_$9a?O;+czQ4BgBRz=Ge=WulzzedQV4o74(7{0{1b@BX878+H`C zCI!s;^YsSr3Y2KClq97gsGk_5FF^^%4K^#b!?O-M%!NbrFf4`RZAKrzn~=w_6OPmK z;Eg2dB8*0ohD$b#_3B#0Lr0( XW-QSrcIy|D1}w$m!nXkYjve_2T+8uD delta 820 zcmZXQUuaTs6vywmX}L|@^$)Y_26J&MZT_AACX{Bm^&@)Na>AkoNe-l#S=eY0v>^mH zk*xC&_O@OtYTT!K8tB?fPcedmW(Gk-w0ew+^}AOks{`l!e)oL7=g5zOp)8GreX^s@H(Se03)z@2kI;%J(Os9#@q%3e{7b(;-r_WSd{o4iN+MgOC zZv8!7tp2}1S+W|+0Nc1?H1#e5`>gIOHD<6 zjQY>*rkz9Yu$jLgBWf}or{1QQanfPt7i2_@r5>icHkwanb$%S%UhBTYQz|&mKK%wINm{r)Mh;`$J>2I^!PmB!jv!6#W`q> z+B;nKh2Si{_C?_<^8TngW1wk8o%7q^DpveaR^!4q{s=50ABeIK4EW91hq-_ao?wM0 etds^KEMr1TFw$l1R~j=7Oa()%&5ieh`+frz75*Cl From 15ba2f5661dd633ecca5f55ce08ba0af320c18ef Mon Sep 17 00:00:00 2001 From: Tristan Krause Date: Fri, 29 Mar 2019 11:42:52 +0100 Subject: [PATCH 23/32] 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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 Date: Fri, 29 Mar 2019 11:50:16 +0100 Subject: [PATCH 24/32] digitalWrite geht --- drv/b15f.cpp | 1 + drv/b15f.o | Bin 26712 -> 26800 bytes drv/usart.cpp | 2 +- drv/usart.o | Bin 18048 -> 17880 bytes main | Bin 52016 -> 51920 bytes main.cpp | 7 ++++--- main.o | Bin 14016 -> 13200 bytes 7 files changed, 6 insertions(+), 4 deletions(-) diff --git a/drv/b15f.cpp b/drv/b15f.cpp index 249efec..0637124 100644 --- a/drv/b15f.cpp +++ b/drv/b15f.cpp @@ -11,6 +11,7 @@ void B15F::init() { std::cout << PRE << "Stelle Verbindung mit Adapter her... " << std::flush; + usart.setBaudrate(BAUDRATE); usart.openDevice(SERIAL_DEVICE); std::cout << "OK" << std::endl; diff --git a/drv/b15f.o b/drv/b15f.o index 947203e83c309e8075307de9cd2d66e433e9fd24..00c28b9aa16d2c56fe889dd9a0a5ffcf813c884c 100644 GIT binary patch delta 1974 zcmZ`(ZA_b06uzgdKxt`#Vcxz=(^ckIRzF`_@Jbw+#w6fC3HS+FJ9Dui$7 zFIW9oPeF!j^n*<*1lP!IJmWlRze4dqzel)+-#PEvZgskHcZ+C+YiAM^;fbsU=e~#Q z>*TvW=bBl$>%q^nCZI6-;^u6t#}MK=Sl_jaU*Q^=e46|{tlGtl?O7ov(zX%3lh!W8 zZM*fHLoD0fLX0}Blzlro?LKXTTr{?pKp@((wclaOO_s+O;#+LkuE8%7cU7hektOWH zzd5c=#uu^o5qWYK_Q>5mLf`9T^33gLC#3W8t z{E*@_UTW{z6Y4$Q9qMV{cOp7pl>^ZgPq8y}AwAwfmmprHNjIj(D$Bpd@+r=L>uXrv znaInN=Ck}`7}~EvzQQ6LCtjv_vqU|_+=8s@1&r<2(!AWs6T~|ep2T_L{R%Ir%8RlRy|oT}rq%&ds%im4wVJWS_UWR%Hl9UFhTL6< z|KF_>W3-zaX9;r^_esE0Y2m@`Q~vH%_>R<%29=ixcD=#(BcC67^+P z8Df>cBOK85yu|-N`g64e4N@B)p|&XX4W{~-^ZPhXy&p5Rj;WvFEU8~IwVtVq7$fyA zQx7op9_Am^^fjioFm)XpNKH$8N#r|lh^d)4NUEEutxV0s2&pAZ?Pcl?TqM<#P~}~< zF?BCy9@3yr*1#87L;Pn96Rs+JDDxp(HZ{ delta 1870 zcmZ`(ZD?Cn7(OR4vuV$TwCe}Bp@scW zt8=s4+A9;=J%|+*EC~DO8lqF?=je}_!JttXo#5Ky&=!PsOqd&E^}Q#l9tJybp8MYS zd7k&Y@4Yvf$@2L*KH=w6samJY7dB?kZ)J>yjf=~4q3Z(nx~d;xJ-0ceATU(<-Yjf`JS66o7 zYVkDpr$>Axwx(*v&T-p&4z|p{qY__i_?2IGu+Qy1j7=8SP`ui3d9ty{M9X!_8W5vSd~!R(i@pOM@lc9s_~R?Hl%#h1&@t#bZ~d)D)8$P*o(?qEy0kxwa);0$>dUsNq6b@Cq46B*xGX7TOE0|LZ)b)H#4;SQHH_Yz&9O0w0H+ z{C(;F)U2qT$tx`6^(+3bB>RKnSF2w}r7pB<3cFA7{vpr4qp&gT*9A`LPOZ#MLR#kB z^y2=Ty9y~?@Hz}f1P@?|;x>3G-X}4RR*GMecv33gmCDnm65|mk$|6o}PN_Yp)SgE+ zA{uVzS##1#g}txjyOn$aF0={yY&c=F#2}JwLfhjZ5iN59^_g^Il9UOl>^HsI!MxHu zv6lAwJAOk}o{;zfD%%A=BjazSYgTb>S6shH&9cNBNRewz#!q0WU1&SKB&GFWS4ns~ z1bN|$mb@S3S+j=-?e)rM!8?U^ zPVsJ2*l*B4Y*z8MD(qDxiM^(VwRLS%F@7$d6X(eBPn{<{Z z&ze)j6?QW!qk>oA7@;5CQGuqYv#3u|>@qp+yi)y5g}s6lIj>9nODgXu%C{BeMtHk~ zURgpZT4t9=X|F#`zmiv7yYqRo?`IT!Bt6_UYSl)SRQ_C6N4euDiV1!KTVnx!5_@9- zZJe_CZ;;VHom`x744;tFNPijYv+@>bJps$AFCFPQZR2D3ZT~IaiR_Dw_SL4GWgOmk zqs3K#vTi{Y}kT1gC7qa}*jYwaRcfsfj(VNN;&cS}b zEUptW7=#7L5PD$mH#It81q{L#WC({~9|-YRpcBr(7zkN@is8~gkbe#PV94@&d2Xmd sKVODHiA7=ugN2@|+~})L6c0V=W%aq+mG!5Ho7FxX94ey|jiH)<0gQTMfdBvi diff --git a/drv/usart.cpp b/drv/usart.cpp index 5760d8e..4deff04 100644 --- a/drv/usart.cpp +++ b/drv/usart.cpp @@ -67,7 +67,7 @@ uint8_t USART::readByte(void) auto start = std::chrono::steady_clock::now(); auto end = start; uint16_t elapsed = 0; - while(elapsed < timeout) + while(elapsed < timeout * 100) { int n_ready; int code = ioctl(file_desc, FIONREAD, &n_ready); diff --git a/drv/usart.o b/drv/usart.o index da366a5b4e87655ebe7a9e6dfc6740e9bdca4275..9e8a0beaf3ce3262da5ef89505b89c70fe3f8569 100644 GIT binary patch delta 4222 zcmZ`+4RBP|6@GWg0%>;Lh5X#S{1D=7lFc9a+aqxqe-iS zSnP&Elr-HD=G3VHW*TZcFpMZPEk!Cy3YCruO&wc_f<@|77>qzWgVMpK=ia?b&(hhO zdFP$`o$vhJckj#Fp)fl)%62$SFWz^!s4*erTo)Wo$a89%798rFc^T?@S_)$knOZW*#a`W+zTt`0m;m4W2tE+7}LxMT#cccuT_(ASy?J zz}BzO^R(^xFoL$>SJ5Kjmcom{k;&#SXKY7&mf++qBP}@j?}fp_w?`&7oLD#VSKDvj zTlRZf*a^22GT08_W=~QVMi_d!2Fuw7edhGJ#j~@swj2nV4aW@(JM@$=?Lp1<#(*z4 z@`20~962rTS3ZYJ<|Qj1L?1NGPTAhLex*qU7(x$i{jwXjXP-kQINIY#Ul**(k}F{w z{-waSo^pPx*W2Um^{(=+K55Ho&}>Kij^wNFt+(ZD6Yd&x%&pWbW$+XS=A8X=a5Tjs zl4K(Ydy;ZtG%0P7D(Mfwk-sVRn!IBizot!e%=>H}{K=lno&dLP*!rJ2n)YRa`KM+r zY|e($wr|2>`=N>JcE8DVzyz-(7qW}cmz>4|6C0B^CKPk6Lo7TQuSs3kvIr*BH=!b( z&pCxh8w=lTMSaIbdH9llvKaQ%XaU~)tQX!DhJOL8>Wi+sP74@lV~!34>>)p8M3$;XT0KLUn z8@XwlU<)#zm&_O7FftD)<_WxuaX@*zDLJ1?c|}ODXQ#7Ua^3`k*_?Gs*(>D+DSs?v z=obkp_uNRtyvR*Es_=1zKZtWNrWCFvMdk|Dt|;8D@aR)ysEFPc-^I^};0v|#yBsQE z%_7e3mvSxaME!B8Z-z{Lv3Rb}AcuDIGm^C(4i?9D^DFoSGhHr@?dB4R+YQzdT+tFs z#eJeQ9OBlES9Iq*N$?(mZ-q4_y!l7UD!T3^)}IisRRrH1hyN1nEaB{Zm@MI;^Tc-z z@x4lX^9cS=g3}sqlQ^`7IrttCFGVFHaHwVG<`lf-j7`4~U@@2AA+qjdBw`(KnJoaJp|A2~JO2o5DqU zdM;KF+()vnir^tx7JcEYCk_GP@U+53p)f`=T$ycQ`@>k<-7_Ejthy+Al^ zq=r2t=Dh^pNAM&fr}DIN5Nk#YI!gl4f~E;h3;G9%Ll5y6 z1P^Giq$-V7L%52wWzbv2p{L3MHC2`fW?e=)bU-KC|5#j_$fx)|coSHnyd*Bela zKFKlE#SqPSA=||v%Vn`nNi2f;pw-2#;&VRga~{0N+wQW6TG%xh#Mx1ogM9}sxVXN7 zFf&vfk^51wy31HU)T4YH`rSPHF=Z7uyVAw?&VbNi(48zlNt7XmQ443>9Nu+Xtc#Ud z__<-wo(uyi39J!Pmu_UnM0n|LrVpr>){v+Ihq#Gr9K1DU3=`FGJ^D2q{pN^r7Q@~e z&dMiVtNE9Sx!_=}0Wa5TI14`;jputFhJ#}{W7#yrK@Z)m^Wi^!68_aLsu#Rb; zkvOiNk{xpW)$9;-`3+N_8+Q3U>?lm*t8~^|S delta 4422 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 WU7pz`iyUUljt$k=4zah6_5FWb7$~v; diff --git a/main.cpp b/main.cpp index 5293528..22cd69f 100644 --- a/main.cpp +++ b/main.cpp @@ -182,10 +182,11 @@ void beispielFunktionen() int main() { - USART usart; - usart.openDevice("/dev/ttyUSB0"); - usart.closeDevice(); + beispielFunktionen(); + //USART usart; + //usart.openDevice("/dev/ttyUSB0"); + //usart.writeByte(5); std::cout << "Schluss." << std::endl; diff --git a/main.o b/main.o index e53cb553d9e9972519664b23e89cd127f563f894..b17054645c3dde56d19865a69b923e1d3c2518c6 100644 GIT binary patch delta 2266 zcmZ9Ne`s4(6vy9ROVzG21#U2>t@G%J7d_G%^vv zKOA%nWeSDXqgXS_oPTv<7^6;vTC9TT!0LtwwQR7;6n_QQ$pm4Yo_pVWaBmL0?>qN= z?m72o^42PIN9GLArQY-AW}x%sr;ofe996hYocPQ48}s%=W>A+St*;S1fS!+_p!t~` z+#LwwD-1uirD4tTf*QO+0`PmV4&Fi#JfWw^vv4>>$qD!Z^<9`pt#SPrBmLwX*v80p z9=Xl+5X2}Y3ta!;It0ft@;cWIt~a@=u!Zpq*GIX&!1ZmeOI%mDUgY`<*CJeQr{oQ; z3tYcv=7uFr6Nk?UJrKZI?hUvmEn z*IP{We|NF^nq3r??;pPJ@IE0p-a$zpY@v=Y9|E0^EKhgVcEN?%xR!R(aE?k8w7pc1 zp?CW~+q@ndGa7~x(!BzGOrjN}aev~GI?`@|9=Zz~X!f`}NPDp5&gzUr ztvJ<_0$mZP0aI}bPsUa4M@q5E^^+!Ybx`hB;$Gv=8cbl)MUC=otwW z!U`E*OHhe^E77YB^o~TeZaLR-t{9sQ zo>v2XSfZ5%y5LZDFkP^SG%Kv+J0Uj*>qw&l1s^uh*tkX5K`P#&KLr{Ft4F>?W#_)y zbDlyP$13g)zA4dJqzQpum*^_eZh?+8V*|~uTu0i2Ew}PJ675RLx9FTe4VX+)crdAI z7lo(^$1q2{Mag^kaLz5NA?+8&TM_60Tut_qAUglln6q-i%>ouaVS>rhA9g`P|IIh4&g3tgr>t7(CjVbY`!HdXCCAsU5am~)>{ z@e_esP&3ELez;}!>j#8B?dUVJcdC?@N1d>tLn{sR6^Sl3(9;rKPt%fk2A_)*eRmg} zpFiKDQ6b(2Ef#%%Rba+udk`Nti~XXQnfTm~j~i!gW^BjD@NwfAR*ek9`CjUrn4+++ zvmZZbZR~SQ^6-^4P9mW7oob0XA8uBK{U8I&m-|i;qC;h1lmwxM8iD%2bDoXJ@)Mad z@%U0u9ULQ7*cvSQy)Br6)&#L^(I0SHWrz(%U?$t%d@W`3B?Ugn7D)?iX3L(FCUoRR zc`BdM(Oe2iHCOh$Z^CA76dN6RrrT{HIGRuSoU#LOCSPp+)LHip1%A#K?!DA%kFe(a a$LZMA!78NvbIe7XfWw8NXDJQULeKx@CA3oj delta 2946 zcmZWre{2&~9KYAKQp$C9-Nv;e-P+NPTetq&4>pi)>o(w&AEJc>kp&2An7DysV`}0u z$bwR5b^1*Z#U+z}P{J@{(Ewoyhzc4YqW)ow2#b;+j*P?*jA7#Uy}QnL^_$%1-uryM zKi+%y?%fS;JKHfR8-(zv|0i4D!-vGuZn{E**GNJTc5m9&wb(7hx3;zK?&=B(dRrG) zPK8<%J)!RImzDlWMM-V++LYu?CAre;ZdC@1J{bd)WV5$6a#lI{5N(f-62BdDpDoSssX-RT2XIsvzo|xRFW>0?k{{oK|HH;PI z>?76XnEDJYf;Nelkv3x4wpR_YY)60A>g>&i&n(#vWMbLo*c`!uaxIM8%ixCH2z!D? zn6&>)?!wo(cXCBx7LDfY85qrb(b<7au|OxGT9$U-53ziSd;pz@Cm5ch3=HQxoR`tZ zW3X$U!c6q<%#Q$>E0HG|4l$f!7={B=RQ1A%;J&>c?RM`AdxXgW)}fO%QWPWFx~ihCK}5rRe;`BnWm~-@$BkQlQQ4 z0`r+*_%}t@Kg`oQGk5x2sAWAO2sXHC&o!-{X>FTn9iC~OPPfQ+u*E5vu50}~c-t8_ z23Iy!js5C8Zpx`%7mq!?HWJ?XLSjdAqUX7-Fz8xbq_L5$?K`^?j7}`=5jJgzcUL8L zw6?>6!U&{_R+Q2al~F*WyT*gp1NvH^O%ckfd@)QHNmdv3(rOHza!XL_7Ip0Fuou}j zx9H@3Ck!kRtKfr_Tc4>KCNSn=My59)$0NaC8JUi2+m4P^1{Zp)^oZ7r9P5Ww9?41P zlpg79_ByEZD2HB*IfgNH92)#xL%pd}FK4I{?hI;b-RTUqQKtsx>+25c)D~0=F;jZX!<w+?lU`<|PpGN+5gnyJr`4BD>zJ-#wRRV+u5y z$p^h&eWv+v6=P0jWaZ%O&bDi3op-yvZ9gLt_fa6QA zUqm}c=>bs)*B0Otkwxozja6r2l_h6A7qg#Jt05{&R{qrb7|zKOyd;Yx2>ayaq!BL5 zA<_iXn1x@DFlMBt)(Dj9)y+&xt1TI7N~fkW)KQ%}UMltRbvrn9DYnxqv4`V%|NR`l zjPrj>6iMx(Nr46zx+2io*ypz zZ$XXvSK*be@~7rct57Y?KhSu}DIA}retcF7ek32~1dH}nqKTg1_#BSs3lwNPe4da35 z4MOplKUhZ$;WF4BT1GyC(NK-ao`WIyuaWysSk4dA4qBm>l69yEYr+nTxt#Tdg9LVk zYlt0=hU*N&0k|EmH`3oH=GYJ^MP+-W&TujSM Date: Fri, 29 Mar 2019 13:35:06 +0100 Subject: [PATCH 25/32] Lauffaehig, aber unzuverlaessig --- drv/b15f.cpp | 21 +++++++----- drv/b15f.o | Bin 26800 -> 28288 bytes drv/usart.cpp | 33 +++++++++++++++++++ drv/usart.h | 11 +++++++ drv/usart.o | Bin 17880 -> 19712 bytes main | Bin 51920 -> 56416 bytes main.cpp | 86 +++++++++++--------------------------------------- main.o | Bin 13200 -> 15712 bytes 8 files changed, 76 insertions(+), 75 deletions(-) diff --git a/drv/b15f.cpp b/drv/b15f.cpp index 0637124..f503a71 100644 --- a/drv/b15f.cpp +++ b/drv/b15f.cpp @@ -15,6 +15,7 @@ void B15F::init() usart.openDevice(SERIAL_DEVICE); std::cout << "OK" << std::endl; + delay_ms(1); std::cout << PRE << "Teste Verbindung... " << std::flush; @@ -39,7 +40,6 @@ void B15F::init() // Gib board info aus std::vector info = getBoardInfo(); std::cout << PRE << "AVR Firmware Version: " << info[0] << " um " << info[1] << " Uhr (" << info[2] << ")" << std::endl; - } void B15F::reconnect() @@ -123,7 +123,7 @@ std::vector B15F::getBoardInfo(void) uint8_t aw = usart.readByte(); if(aw != MSG_OK) - throw DriverException("Board Info fehlerhalft"); + throw DriverException("Board Info fehlerhalft: code " + std::to_string((int) aw)); return info; } @@ -185,6 +185,9 @@ uint16_t B15F::analogRead(uint8_t channel) 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) { + buffer_a += offset_a; + buffer_b += offset_b; + usart.writeByte(RQ_ADC_DAC_STROKE); usart.writeByte(channel_a); usart.writeByte(channel_b); @@ -198,20 +201,22 @@ bool B15F::analogSequence(uint8_t channel_a, uint16_t* buffer_a, uint32_t offset throw DriverException("Out of sync"); } - uint8_t block[5]; // 4 Datenbyte + crc + //uint8_t block[5]; // 4 Datenbyte + crc for(uint16_t i = 0; i < count; i++) { - bool crc_ok = usart.readBlock(&block[0], 0); + /*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[i] = usart.readInt(); + buffer_b[i] = usart.readInt(); + //std::cout << buffer_a[i] << " - " << buffer_b[i] << std::endl; - - 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); + /*buffer_a[i] = ((uint16_t) block[0]) | (((uint16_t) block[1]) << 8); + buffer_b[i] = ((uint16_t) block[2]) | (((uint16_t) block[3]) << 8);*/ } aw = usart.readByte(); diff --git a/drv/b15f.o b/drv/b15f.o index 00c28b9aa16d2c56fe889dd9a0a5ffcf813c884c..80956dfa059134caec3fb7df4484dcee49a22499 100644 GIT binary patch literal 28288 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 diff --git a/drv/usart.cpp b/drv/usart.cpp index 4deff04..d9c0dbf 100644 --- a/drv/usart.cpp +++ b/drv/usart.cpp @@ -51,6 +51,7 @@ void USART::clearOutputBuffer() void USART::writeByte(uint8_t b) { + //std::cout << "write(): " << (int) b << std::endl; if(write(file_desc, &b, 1) != 1) throw USARTException("Fehler beim Senden: writeByte()"); } @@ -60,6 +61,38 @@ void USART::writeInt(uint16_t d) if(write(file_desc, reinterpret_cast(&d), 2) != 2) throw USARTException("Fehler beim Senden: writeInt()"); } + +void USART::writeBlock(uint8_t* buffer, uint16_t offset, uint8_t len) +{ + buffer += offset; + uint8_t crc = 0; + + writeByte(len); + + while(len--) + { + writeByte(*buffer); + + crc ^= *buffer; + for (uint8_t i = 0; i < 8; i++) + { + if (crc & 1) + crc ^= CRC7_POLY; + crc >>= 1; + } + + buffer++; + } + + writeByte(crc); + writeByte(0x80); // Stoppzeichen für Block + + uint8_t aw = readByte(); + if(aw != 0xFF) + { + std::cout << "Ende Gelände" << std::endl; + } +} uint8_t USART::readByte(void) { diff --git a/drv/usart.h b/drv/usart.h index a23cab1..a52d74a 100644 --- a/drv/usart.h +++ b/drv/usart.h @@ -65,8 +65,19 @@ public: */ void writeInt(uint16_t d); + /** + * Empfängt ein Byte über die USART Schnittstelle + * \throws USARTException + */ uint8_t readByte(void); + + /** + * Empfängt ein Integer über die USART Schnittstelle + * \throws USARTException + */ uint16_t readInt(void); + + void writeBlock(uint8_t* buffer, uint16_t offset, uint8_t len); bool readBlock(uint8_t* buffer, uint16_t offset); /*************************************/ diff --git a/drv/usart.o b/drv/usart.o index 9e8a0beaf3ce3262da5ef89505b89c70fe3f8569..57ade56e20212e50d8a7d653c907d02f30926438 100644 GIT binary patch delta 5311 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 c@cFXh>eE!_Hf->f#@AP+b3 zxBPjtqsRPir@1TO*;{rb=h}o1C-o-c^pp~$q|O+Oq?RO%_Zx=s5ROjIGRI+Ldeh1? z9s;P1bClsFeOY7U8TQxz_$4Md4zAx+dYv`6U0h5^P1T|I)o19MDJEW0z&LcJPQynt zFZgcLd!}LEbJL7Q3i@UVGlcwfVaD(c^;=+4zeCCAl-wz;z5}LYNV&&Qq>9ypIVP#H?jSrcnl0tzgEc=O0HJ&1tqU4pVzQ*cG!GZAqSN_qT~rBzfkg=lGl+k zN0@h1KM{-P2wyrCHN{9W252m@wK~cuQr2>9_38;;tF0~Qqu3X;)m@S&we?LEyGL7_ zNz3M1--nqY%u~|GysG3)Rps@M;ZNSqZfv-#4@vu)yv8nJ3GjCe`EU4hx%GpG6n3d=>Vat++*z zYskwzOYi7NSz{~GBLasbmVJTowV{E~`iO;&h~Fo_dv5F<=Cua>5fNui)*lP$v=$@8 zafz5~8M+R3zJQf)*&8$}M^S(Zjoyeu+w+BQ1Is>Nf5RkyBlhRZ6+BBm{6sI&KF$i> zB`e>Ns~AHKLJLIaO2)s5Sz`=;k#Ro8@K?sbPmh8B!1(oQb*k^%^ohhuO%}$NaTUW? zlg(X*H5!*i`We2F;e6SiVLW^*Y?~-3nwr`Rq}>EBBW0ne_=ttIG3yD2uVZ*1kzS}t zw#P8CP;~Oy+L)w_sz`n=4~>C;s&UDdMUOkSuNlsZyuf&Lk(<=)em_RQPh;STlbnH$ zo)lZ-a+TWHfTp3ZNOby{bv?7@F}4DRuO7pH(-{7*GXEOJv(v#l)x7f4vWEpUvVeUo zK_(6kfG#qe59k`>xp#cMwA8;b zLk!zXg;|UdlBMV`rLSD6h1W_g2eV6Ag?{vreMXt(t6*pj^<|UWpcoZp!ncTe?k;?r z`m)I)7o)vQU~8FWpI4ZJ)?j~`umgm+F_+LqcZki|mK=-uJBBDKG3qy;KqxAFTbO5> z=8?I#qBR;e+tE$(DV&Uoboag}oxIvp{;+q*K8B*H>eodZ;yj{AFBh0qZrK^yEaM94 zUZ0A#@^R)8Y%G7ytQs6CKVbTH$n4all8<|Zd>vhtV%_;sR`()#brkMiB>x_TyBA3- zLFTxh#l1&n3@)zv#bXvAR9%H&br5^2r<&R5r?v(QtRjLh1iNjv1%k(&1btgkKde49*_PRBrPKz4^~D-$j!8}tWf8X~cP=Z|Ex z#40_8g&tD77GRhZ{RpNlsq}oe04=08lZ{lbg<(=93z1e=IUe$V5c;C2=%@>L4%z6b zt4x|XStT}(;7VO_(i#00#N4ID2*(o9wzS0KEkMswO5w#YsonylEvxh_@}h;*qh9oo zI#z&TQXO8TEvKOsqJ>m1*+>mg9I3WKq^%%NiX-*2*C}yDAnAtQ8+3tNQJnOAp);Uk nm|I^wZHE4DwO1dRTrw7*y*@W-V7B9T8h!P}o=6FX>*xOm5O+11 diff --git a/main b/main index 03affcedecbe6e4eb9ee1812b5f0cc7932fdd289..8bc0c14860a62e004b9b8d94743710ee3f6001a3 100755 GIT binary patch literal 56416 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