From 6dd836c7292277adea8fb75fcca8c3cfeebe8de1 Mon Sep 17 00:00:00 2001 From: Tristan Krause Date: Fri, 29 Mar 2019 15:06:35 +0100 Subject: [PATCH] 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