From 4f62b06209be0cf310698acb618ed3d57e26ec21 Mon Sep 17 00:00:00 2001 From: devfix Date: Thu, 9 May 2019 14:47:47 +0200 Subject: [PATCH] bessere Fehlerbehandlung --- driver/cli | Bin 131880 -> 131480 bytes driver/cli.cpp | 5 ----- driver/drv/b15f.cpp | 25 ++++++++++++------------- driver/ui/view.cpp | 3 +-- driver/ui/view.h | 1 + 5 files changed, 14 insertions(+), 20 deletions(-) diff --git a/driver/cli b/driver/cli index df76089b860220faad24d79449a4fb2eadba0843..c291f804a7bbe946e6fedc4982690fbfb28d9921 100755 GIT binary patch delta 51154 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 J=O@|r{{U`iz3Tt~ delta 50757 zcmafc30zd=_x{`qqp0AF3jzu<;6R|FV4{Gcps0hQ;%v>vmfD~|I*n84tB#o! zS(d34g}G&lxnQP+rY&yZen(Wu+;W@$bKZLg#;Nb`KYrlc^StLh=e*}V?{eRJ2iN6z zY<|-t->*TkihmMhqMGt#Wy?>EgEIxrJE%&f<2<3Y@Ke4-E-zma#Bm2T)aR@!zky60 z^+d2#Z@EdXx7;MxbI?>0z(=91zmOah*-e&prMJ|w>@Bui=pX#QJkcqh=<2hU;)to* zFDFe1zO_HFBulSewj}NRE&B&O$j9aQA=|a_qi(%DMVDQtp{ns_LFKg~g39RgmP}MD zK=bjlO5usD#?Ko3ti#W{_<4`r7F)R2U6MbBY29=lbMsP~S)Y!d%-XxP7UI}gw_fgV zx~o*yzw(7fqG}d9;N~N=XHm6$grn>)T(@R(JbZ*9{CX(IE7<_|w!%EN#C?pgjN_T? zBejoEi%MCT+E+Nk62VX9(&cOpt_>{6%SX7x<=*GNBUl5q50fC>lk3Rmb{=u*WxVE9 z{=0-D^GI6Q$X3FFZ!KS;j2$3b^?X?sxYeYc>1z85>v)}&{C7v*mM__o+HF~a+MTtp z)mV7IvGMFuZ6Dzt=@1e~mW6rv3Ny(s76UDJxG(KVY8BKQ&{Q8`J_j?|NsqQd4{qQm zUNy3guke^RX+0ZTrx(-&)%6i#dD$N*TR>OtZz9)}7!TnBi@Az9YygB$^XSBIB`vtI zEr_v?kj7;;^WQnVjoNy?!d}jQ%M$Cg73z~yY&p<4-lm1TUMkmdkjs6=t+gYZMS4aG zC7k!>zsHk=dkc#5>~5sLWr>)bA)41bGw zFHL5byxIy)dEMUZBx0IS-&d&OdSBvo47`q&eN?}#@Q~zIX?%q>JRu@+mCQRL9arCR zLp!*tC0zNNyy_pMEckaXl`2TpM0GSz9=g8BcKY1M&>_4kk3H6eCiirc+45XjESn3d zRNrGfl2}5HjHfENyHdSeQL9z(&)ER2k8z`?N)@cCuS$3>!--012|Ac?m4dfd@NeqL zRy^K((fW2oovi08*0UA)Dm3c9^jxmX<&COz#Vv=s-(mEUBAud0rzlE;VN#SnT?P;Z z{z+5hcPZfrQ}6=Cp+c8vcJh$*Yq@+2$NZ^My{&{lK~c0oQFNkcPJ>~BdhXb%^ClLR zH1u<;KX~Y%%-D$w#!t-1oH~0}(FN}V?kvH_gG~->SM)*CKy|~K!lbAkud2q3=w}T& zA~Y`gB`{HBn&5b$HtQ1{Ex0jb@G>J!jqa*CuvS~;hN;r=&jVMrIVY$DekCZJEJ0=T zp;AwcN=5yu!%u4HYY0^%RUM_Hsr)HA(ovq(bSjM1RW*>ynX!f6z<_F5cU8EeD;2sL zPo0XWXjCyMCy~`F*CH>xRNWLl(~op{s`@Itth*L;vzslNi?3)|U43(-VhMiKQH>E~ zO;D!Fcw|Kr8meX~wWo5vfoieBkLA2pwL;-vJNXq_R$uj=!kdiYs9#UDS>b>EYC2Y~ zI;tHCKZn<^ZB!jlfVmt{t4b9Va zOU56)fTM>KlmgXK7exy0;ewYcxYh+%8Ds;#E_kGZ>s;`3!r3)_BV)cI5$PgPtl%*& zxK?Sp!3AHZjQdmjb^cy)oymn--J7raU_knMsy4CK4u84AD71ur*#EgLFuDM(lF%`UjZ(Lxv8;pi?G zym+guzt{!O*e2t~qb>!-U&#f3xZtWTa!AWva7T-)T<}tbf8>H^6wCTma zf~Q`R4Wzr^^AiMKkl}(aQt)gAuj2^CaQ1aX+X$61S`A7uDOr!71g=b_@>R+SU(LMQ z_yjChN{Eyz(>9e_2w)$zX*8B!5r>b~slGFw>SS*v$#H2M5;$p`Cev6;tbIZKT6@ydTE zh;xJmu)dK#Y*D1ASAi3%V~Znw{MvCT`B$M+X=nBYN@qHi7CV(@vJ24Y8Rh9!>V&?* zyrO)Br7R?>g_q=nFJtjhKJm)Ni)(b;4${#S9S1o+j=NpLS2#e>d^R@9$0*c0PV@IhCg8%N<9h?=ed|pZK?(N~_FrX>DMF6aL5v z$6Zv-hh1vt!;ZG|^dfzZkCruf*@ry>N_re09ZLin_OhoJ-M%_Lk!%jo;Xvy-AkYN% z5zys8y`0cgb`t0=pt$R-{-iUZJr2`=(g~vDlfj~Z`nLDV&puUjX&&=;@X2gmz#TfOZC&;e^I8uZ})!2GDFLG>*l0 z^zrND)S7&!(s(u#b&jJ>ffL%5y$|#$&_X9Pk(~hAI>yth*a_{ggozrI6KKs zVG$@<0kqr+oyJCW^6{JQq@l{GbQZIqbhcBeN}1Ma-pF9zL!*CZ#M=p-%Wk92Jf}K3 zr_wAI&>3+@ok%BiKI;o~8_)zN^fk5^=y{;2PUu4RMQ0zcMNaxLzrI{NohxG!+|d#T>XxfEx)Ea{eaqv}3RpaQ-s!G)vp^Ie(UT zTE1=BoIgc8#od;{`D4U;5TDNZABd-!+m_1tJ;c|g!vb3Z2fiVICUILN=eH2=NxY8p z8;Pgs+@|IHdg5`^sIsXzzlwO8*lktM0ff9oJZ)=i<(ywiJWcVoQqI3ld_%ffu@!S* zE&(*#+X^{9jrhjI7jS+Y@!rJebAANzv<}#^IX{qiAL27O-BT9$P8rANK)o3?`tM19u6awZ>M+`J2SkZqHW0`OCzI5TDQav&7TtW6S3JDdJxu zK7;eeh^O_(md^Pfhz}<|mGgVR8>h4+Ab|tlkU%TqBRRi?_}0YhIKPqj2;#MzUr&4+ z;#HhqMSNT0tDf>4AU=}#a?UR$K8pBK&cEIVhecCplW8mFz+4h|nfOA^Pa~clN7xED zKaTil;`2E_g7^-^XLEia@g0fJ;Cyf5V~9`Zd^h4_iBIKxTpuHVI06zl(2fLXk+Vf| zz9sRUiPv#HnD}_&wVZECd>7(XoNq{cSK_Ol@EjmMf%tOHi^L}qU&{H%#@+zvPQzBr zfxE$ZIPVcLVODGI?it-zAy1w&aWrFAMq;AuOhxb@l}s`4iKM8d^zWr z5vk;QTn^hY+97`4PkqB|e+;1Bo9-dZjO&Ic1eig+#On-V{ocopXx z5JjOGi}(!U%Q?T4_&LOv8aePf0dol`=KNgn zlk&mykHHeXrA)@!bUSk!j71A$@#8TJk*ffDsafb=<{E~6`hC8Nq_rZG-{d5^vBN+&hrF9Zz8n(|n672| zVQU-QlWph~<{?`d(UTqTrNf&dw|j+#qq|gDZ4Ei`lY8K52vzVz+s=ZME})%~0XB}P z2N+mq!%MAg9ii4#+xGQ+yB$fO{uBHlgXsw{>3v`ZQ`tT(nm5vBe8}E0^blg$8N+~> zP-JGZ>9E1%W-z3WK(Qo4z163QJQ|AjZRK7 zK8DwIDP%j;mAK3;&iWbd<{-SPtU3G1+7a~`6bOcrBt1a_;TBE5&fl!Plx6syQz^CB>L_RLxab8UO72NY9xsx)~YK##!;g+>fyUtqSO2!uRT z>VTEDqvtA?NY9`}I(n9ZA3gpi?}NHYn8j!-ENSJ|`~wH1Lx00uPW)has>+OmbT3)@ zJPP;JA?eH9A@7$VVK7JQiCE&l??RQ2Qjw`d%7&8t0ttsgwKV6hqY0*iN-KQq1JT4X zX%f%Gz$ErTZ@(#@qc<(7_Pk<~_XoJl>|ron;TbbYGh4j?erUqo^%b6z@}-~tvfFcF z+_Mm&i=?I*EaW`0XI?j}C)6l;1(#U|kyq~IWGD4~@JG~Lda%Ggq2kVatXChMc(^m0 z+NY~{FM@69({vIwK>EANZpRete-GCk$^WIWCXK?cs0aHI-P%$V1<4ZK5{bQ^w&qec zWC8dQAQCVeK-7;>r}ohnVL$EnrEL@i1n1BztYu15ao69hXNpc-`+!YJi7@(*Mp_vT zORX1B_oV3~q444jT%&!PX(&@uE2R_Igit=982K4nlBt%qKy$LWhbqM~L9a!!+EelS zhQV}1%Ak6d=ntR+~X_NJ=Lo6#hzM7JoS_m^*gmQetjYmrw2lAgxx3C zRdP=9SR9mQ@tBoKp(r<)4)R9w_Q82--#&B-#k3a6<%E-?d=Qb^w~nHIoJ*8R_o#<> z*vNSda_;|VDy6}doO7swHYN53+SG^FsFV)gW1ae?ikG69rC*%i8TgIFbkn?Tf?CW! z)LD0=Hh;15e!j^`HVp41y${dO(fxm+3|mtMTa%KLlQsV#Hm*Vyy^zICqO=Emn=V}YrD#=%sE ztlJAWD=I2%6*nrbRa}{rKV%TCk>;+_Ab17;Yt!sMa@0Xt|J$;TvTN18ZNm`20&>`w zNc8iUYixunHs1b=Weo5e z$o|Xq(YJVnf3H!yNLITB=LWF%b2~XY4|vjZ*T17Gh)#>Y*tr1#;)Lt$@ql1seg#)_ zloVOw?{>lrT_34&SJS{9jW(3#9P)*Zk)v!Apqg)U;YiqR)?`qqm~oqR8Km!1_a@C5f+m-dK}+<9 zSBS)a9ES$eNeEO+pYry_zXQy4Q8LJOSCb&@%0ea5l3VPHK`r%%C5mQ=WP#rO1#b!} zX*{)Xv1$(uNi6u%JR5s5$WIKr#hMIm)$Kd-(-J-5GHJuGKPdf)6CkAX-NrcYE<_gW+9r?4)(!*T|P3_Jw0Igdo1$iCHMrHib*c8&5hS$USM{L8ko^55Vh z&082N?@<-#bz_eQhll)#xb?`pojJjrqW3fi7m`gSnjL>uMDUeU+KSSY@JHV!*EM6-vs#HBpkM__; zDylfe^iX=GA=UAE6$OdAXde@GD(V3hsMzh{<21z=kfL&b+NIJfZ1gK9Tlc*NYnbjc zl5h?_xHFSlTw^0g1c;ee+3O?x174+sF%Q;jVTBmmJLI8Wy zFAzi<-{r+Gi&CZo6DEVVpxW%Ihl&iqrk|zo>ulvsKlXE4le)Xg$SgK(mx}JBT@!+e zU<88Qkav6NBvmq8f`C~aMTuzfZrPUI8?6s;2PYXX$W?nmMO3lv2W)>RKRsCVn2us8 zl4eX;?Ix%#jV&*Ff6QSaVp=)5smbewDJaq06-(Z51xW{@*^#90*4HxI%QDnWS+42&*H#WF_Eoe?O_e!<+XG_N}GX1y+@x6;|(72Xj z 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

l!T+P0y3fjsDrhA%cvSvS&9KRh!E zA*OXqo0tmfX9&4WBTQ?UHZt|IUL%bWwaUI7Oa_RzFU}9FtyU3 zvs@$Nxw8zX+94+vbH>XIzlLe9rZi=9Xj)s5r~W3RKPoC3jc8z}q0S7NpEG#f-wcf~ z^*?LAE9^JR85HyCA7ng=Tcc(VNlwLKm5zX(GK^8t{EDG1wqQ(~nfjS;q_CcFhBgC> zH!8VUrWNntd~><=Yiuw0gKV4MGzyyjAlvXEYQL=cA!#$x^j63Bc(r1wydYY_Qdal` zHe3|!H{EQs{_f4+?F=mHhnfg&Qz?|?o0M=HbZEXkOH(YBI*ezE1(`{mAmR+(xKi7!0VQD(Qr4Vn32>Dd@GC4FW zokw3R7MnvXE8oK3AF11y$!YE-OZAXw*tA^Yml!-V+-P}?>3d8+W%@nSxDiG!m1z&A z`AkPL9mn)qrZ+NO#B>$YM-A;Go?+lMrtdNRl3BQQWV%hXH7?xZ z4B_Whp*6!Td?N6>c+#o^JAwfD(6QR?5WR`n}p;eL$URgp_7 z#sHV%Owp^>sI`TQ0QZPvF_6>3bbOJ1y9)B~70&~gA~h;PcNj&zIN2G{_4~)^j*>I_%cC zUtm?#-Wo-Qoz2Be?Xfr8gRkOx1Pw=?2 zxwOH`hc-A{gn1xYMtd+Mj+mSiPM%t!WSTU^P8g!4QbgYw>J24(L`UIU2x<6hRCMb@^8N=-mtV;8*2B+d z`PGz*=S6U7Rcs#>hgm_*DkEXNojf=cq_~Br=@M2D22RBfEX>kKfboUEsesm(UC;Ra zR?kuc%w>EX>2XCfM4-kf!nY1Dvm(2fuqFSH71eNo*sS7P#zi+X8tBk~0^R>m1sWX{ zo1$?eBWfpm5~Eq@rzF|5&!BXsMByRUP<^%m=)8c!4#t}uHvbT~A7@;>xJE`=h)-C) z{xXAn#(E@HMC4m2S{^Zs6lVAgLxj2LD4!0!7_Yw4eA9I*g}!R%W{i)awTIfIWlUrt z|2o6WW}zoE_buku-(t934H5s-T$yMr5m;m3R8AYNt&C5TQ}zEl=>MV*S+ZrPk))GM z3NQ2$B0%SS4jX*S@`8;^$59kqwL9a|g4yVG$*`SuWiV~(5Cl%0EySHI%y>1Wk`K}U zQF7F*SoJ%?f2Y>2zQHJ4!aDmg9;z@v8RHi-E|dXmW0Y%L)c(tx z99+UOxtoj(x}*+M(HE&~ja;?>q$yEYj*9|D(Z*UVkVT4N`1y$4Ar_Dt>NPxKx1!ABzLF#BBBu} z(_n5|W`J)PAElmp7#*#=HW-&ybPt5G=vb1yl4KTI$4aY58UP1;I&5Uz&%0DRwe2Qt znMqJYS=ti<2A-h~)d+@1m8Q-=phf-1qrryCCnpD}JXwcO)G4hl;0^%X{L zjv-3V>|6jo%n;oloryhJz^Irs&uwC5-JEa6TuMF{y! zlhaWvg^sGU4)&dC$P%>zUm5p9nCu)GVuafpS@F1*ioyfb)v>1#JeP<)NcMXZ@&}xE z^|?kJomx`(mT^CpUN3!IwW9v)byI8GgcIvLg^I<13|8qa$W+c_$L z|6Xo)1E)^VxWHsjxA_#_Vm&oH<5X)D+vko(zM`)Yv}-}O!6%3iE1Jg%^1;Y*WeC4x zc`If`_6*0Gb1liEn)Q6b6<|FLYX3Sopl@@sdR|xUEOZ^WzJIroujG1stdq$$D!3l0 zvr~=o8pm8X7&uv{X}L-LAI@~KDn&B+tWGWeqe+nmH#%gpid9C+7NHk#Qqp*j!OL06 zX!Q0J@!Ngt7+OGrH*zYcLvs&svV;H5EUhQN+Fny*HlRrV)g(Fqy@1AqJ#fOjro%-V zPZfN$rtjy7F%CGD(K)tf1J~VPt4U9{l@yvVhtR~G%bv5H(Dxg8>?IvWIKqk|bB%%} zh6oRqLT$9W4X}-Ix`raW`6>g@3nvQaF>a6g==PJsl^Qp3_-;==A`^mhSvF8<@Jwdc z0;kH_V>ZqLxAtovfeCkMa_Ip`k)fyahzW4&PpnpD0Nc#*ILD$Aw=6X{S5$N)oMt<3 zu8l>9vuyL*MwYJOD9mNt>1iznPR(ggV(sW%4P4iR*CAULy6B>^L@qIU>Gd83x{L!} zC_=mz*mnDr6-8zmLAI)pIIJT@xmO#Uo_fDeQ4N`jQSibv80ZRc=DNVG{@vU4!+Mlsm`l z|A13f{2NW;g{tkur;egf+gJl`R=sy+;&QYCBP~d`% zidx;nub7#S@F62l_xu!IXT1I|=DW!daTItmR&eKb?zk!B zmFgIkb&)2)N3%_hA~{kgr$-qSUS_4r=cJ#l@4rQ3UzvH}5GH!2iY?)HJnM_-F3SYuy>I0m5k#pS$0jEy6gF7XL zgAP-Se2U1u*8ud;kis}Kdw#?DIA_3zHZ&9TM~1y0%7J44%y_W~zdIbEH< zvYtA}@l!o;s*b(f^qRtny++RzQRkQ`-{%C*Y5OE_>cxU@w-Q;=3TUMHBFq)A1wEq& z3aVGcJR9p@gc!+2cy7V1g$@ytKp`XS_0l^93V#BwPiSy=Zk1%no~A}kJj}7X&>=-- z)uS`zf=%Vb^{0WEJyNsFZvk8PHAh!`o$*}9g8zSvH?KE(=+zqqiS{QwO%6R*5Kh&O zK7tsv;B<$(`5bUMAaNcJ?AG%BQ}>lPqtM}>tmkvy>P8r^h$B5`iV8M7!{RXH(c;nH zxT1Nzjp4*eBif%+(9BP*5^!|EIV^AQzwxQVQbed?5k9*c&$t3kCaJlN01P{NUQ3~Y z8M%q3N$9Z+g4tW;8)qL;bo>Zih zWlRQ}dcAY&zQAa`+pN{2g;3X;t%@y* z(FL6PVIz;1(TwNzHO=OnPz!*Q9zQQG9+tn7@z6sCp!cE_Hfmg`wC(UjK2XWqF`0Y? zj9R9d=csBeDMZh6j5(YwISe@E*<5M_>CHZcJT#ET*`s-qtviY3Lp(_AA`#WNsC`E! zdpA&AkNaP2ETa?FFx?!EAv;TN-iyxBOB@zL_DxorQiw|!Z{cL+j86ovJK$Ye8sSok zm1;k%Am7#`vr9jdX*H)tA|0xM>jI9hr5LJjpDfTDPYT;OWq6zUrWc(Qy5$;;k!9u^ z-CBq9f$M3?CFZJQe}gM<9}vK<_y^czW9R5jQk4xbN*_Z;YZ6_}4P3v%=s3;|JTK35TKi@M zQ;ZH#ji(Cx7{pHUwZN&Kp^ip@_2r*n`Fd_4E5FakPY{h)7{!x0gD=6*J!G~4tnYN* zxm;<7YcQ7a+<8Wxe!hXi&1x-boACe6Q#wsjfc z(vsA3hV0j*yz2mC8vCxon&uqFLwqo0m!m?BrwaQD#F`+?xP4t@@oB&VG;T5$BBl$^ z9k-3CgV?FEo<*_V*CcpOzA1coj$vQIQiY61@=c}KFrrvJh140-z^1XY$I&wPX!fOt z!KS?Jqm(k%`Xg%%RT|(P#@i1xr3l<%fPGxpu7p!@w!Wt=i}vq?!mFG67x z%iGsDwqDO#jln}KA$~C_vJ4SG%Xr;)dl`w`$&Krw+Yxt)$ zO*NMysldpGcmW>9_-NoM*nHEXbREUf9XrHd6C7}D&eVzu71|>+<8vxX=T_we2daII zcurk1;fku!gGx$f%$YHJMpc9VMY&qyHx=yvROYFQ^YHUGKffe1QcETbe_IAH36 z1;L;wnJ~79e)#_~b@$)pGY!WY<+*J$=Fga2GIe_C>}lm?B~$0jnN>Dt{%n#Qr+-a= z!mkO)Y^Zue9*e7;+kQZ8D9xjeyepF%%J<77GUc-1fZ=mz+*m$$#Db~i6;(6l%&x7> zEU5jiLsCP@JF-n&>TmcL=8Y)6L{;vRgBq@VAHNDGWp3$=8_GkWi$)g}URaWslb17~ zq2@!G?scIAYraEe{`?J`tP}6Zf`+e}gEb~+B8zW2ccx%WB znUiea7+JbU-E;!U?F+Q}p=#R+nV-y0i|i94yu7>l{^BW@jmZ+P07QzYk zPQCed_4P@a-_||}7^H$RIWXD2%n98gbr&9`Zi>l%ZSBqd67>{G*$ems%ZyaI`Y|S> pu3Y#1H@j|gMb5eZCs%&Lju#E{&jo6T#P>x%neR-ghWsQu|39?M_#^-T diff --git a/driver/cli.cpp b/driver/cli.cpp index c2f9a06..aa57de7 100644 --- a/driver/cli.cpp +++ b/driver/cli.cpp @@ -19,9 +19,6 @@ #include "ui/view_monitor.h" #include "ui/view_promt.h" -// global error message -std::string ERR_MSG; - volatile int win_changed_cooldown = 0; volatile bool t_refresh_active = false; @@ -54,8 +51,6 @@ void signal_handler(int signal) { cleanup(); std::cout << "SIGINT - Abbruch." << std::endl; - if(ERR_MSG.length()) - std::cout << "ERR_MSG: " << ERR_MSG << std::endl; exit(EXIT_FAILURE); } } diff --git a/driver/drv/b15f.cpp b/driver/drv/b15f.cpp index 79b310b..59dbf72 100644 --- a/driver/drv/b15f.cpp +++ b/driver/drv/b15f.cpp @@ -16,7 +16,7 @@ void B15F::init() device.pop_back(); if(device.length() == 0) - throw DriverException("Adapter nicht gefunden"); + abort("Adapter nicht gefunden"); std::cout << PRE << "Verwende Adapter: " << device << std::endl; @@ -45,7 +45,7 @@ void B15F::init() break; } if(tries == 0) - throw DriverException("Verbindungstest fehlgeschlagen. Neueste Version im Einsatz?"); + abort("Verbindungstest fehlgeschlagen. Neueste Version im Einsatz?"); std::cout << "OK" << std::endl; @@ -68,7 +68,7 @@ void B15F::reconnect() } - throw DriverException("Verbindung kann nicht repariert werden"); + abort("Verbindung kann nicht repariert werden"); } void B15F::discard(void) @@ -131,7 +131,7 @@ std::vector B15F::getBoardInfo(void) uint8_t aw = usart.readByte(); if(aw != MSG_OK) - throw DriverException("Board Info fehlerhalft: code " + std::to_string((int) aw)); + abort("Board Info fehlerhalft: code " + std::to_string((int) aw)); return info; } @@ -215,7 +215,7 @@ uint16_t B15F::analogRead(uint8_t channel) { usart.clearInputBuffer(); if(channel > 7) - throw DriverException("Bad ADC channel: " + std::to_string(channel)); + abort("Bad ADC channel: " + std::to_string(channel)); uint8_t rq[] = { RQ_ADC, @@ -224,12 +224,12 @@ uint16_t B15F::analogRead(uint8_t channel) int n_sent = usart.write_timeout(&rq[0], 0, sizeof(rq), 1000); if(n_sent != sizeof(rq)) - throw DriverException("Sent failed"); + abort("Sent failed"); uint16_t adc = usart.readInt(); if(adc > 1023) - throw DriverException("Bad ADC data detected (1)"); + abort("Bad ADC data detected (1)"); return adc; } @@ -252,12 +252,12 @@ void B15F::analogSequence(uint8_t channel_a, uint16_t* buffer_a, uint32_t offset buffer_a[i] = usart.readInt(); buffer_b[i] = usart.readInt(); if(buffer_a[i] > 1023 || buffer_b[i] > 1023) - throw DriverException("Bad ADC data detected (2)"); + abort("Bad ADC data detected (2)"); } uint8_t aw = usart.readByte(); if(aw != MSG_OK) - throw DriverException("Sequenz unterbrochen"); + abort("Sequenz unterbrochen"); delay_us(10); } @@ -294,21 +294,20 @@ std::string B15F::exec(std::string cmd) { return result; } - void B15F::abort(std::string msg) { DriverException ex(msg); abort(ex); } - void B15F::abort(std::exception& ex) { if(errorhandler) errorhandler(ex); else { - std::cerr << "NOTICE: B15F::errorhandler not set" << std::endl; - throw ex; + std::cerr << "NOTICE: B15F::errorhandler not set" << std::endl; + std::cout << ex.what() << std::endl; + throw DriverException(ex.what()); } } diff --git a/driver/ui/view.cpp b/driver/ui/view.cpp index d84baf7..dd674eb 100644 --- a/driver/ui/view.cpp +++ b/driver/ui/view.cpp @@ -6,8 +6,7 @@ View::View() { if(!win) { - ERR_MSG = "View::win not initialized, missing context!"; - raise(SIGINT); + B15F::abort("View::win not initialized, missing context"); } getmaxyx(win, height, width); // init width and height keypad(win, TRUE); diff --git a/driver/ui/view.h b/driver/ui/view.h index 4bf2ab5..1445035 100644 --- a/driver/ui/view.h +++ b/driver/ui/view.h @@ -9,6 +9,7 @@ #include #include #include +#include "../drv/b15f.h" extern std::string ERR_MSG; typedef std::function call_t;