From c1564064ac3bb5ec0bbe66745d3b58bd3aac7310 Mon Sep 17 00:00:00 2001 From: Tristan Krause Date: Fri, 29 Mar 2019 08:32:11 +0100 Subject: [PATCH] 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 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 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