From e718654bd7ba34d42fe8f8f66559bde3a89d0853 Mon Sep 17 00:00:00 2001 From: Lugovtsov Gleb Date: Mon, 24 Oct 2022 13:30:23 +0300 Subject: [PATCH] Working with hardware --- project/device | Bin 0 -> 30464 bytes project/device.cpp | 52 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100755 project/device create mode 100644 project/device.cpp diff --git a/project/device b/project/device new file mode 100755 index 0000000000000000000000000000000000000000..de852732b4b4f7da1fdb0d6d7e63aaba7a84bd41 GIT binary patch literal 30464 zcmeHQ4|r5pmA^9~1rC77% zaIrz4ANkTK*8Wr5m41tgYZY{@OI0+Kwt=p?)ISwnZK;Yok=CZE*jOvGzjOb*x%2W~ zY*O9t^V{4nGv}Ri&pr2?bI-l+zBlik+#OiE+UxN!RdU$1jIh&l1f^6}#MA*}rL2Ta zz_*XhU>ATq2A@({ZHK44qC&xOk}n64+D)MY2RL1jnSx3~g4E8nOp`SV<_nzK<iK)RDv%KqHO;k2|{L5dS9i<+XfON$pZ)h%p_wj|pYwv{YhxU{$+ z5i2O-^`w^%9~%BO>#G@trJHC{9P_pdT*;%li)20V&;Rko+s>^VcYDL(Z@pD?_pR^$ z)R+6x#6x;h8{(lt^5l?P_!1lu5BVeC^Hp{kMwMvG@F~IPWaJ0UbDGDmn*96^rWN0} zV%Ow{$FBm}v6R7p_dC=yK)4hANhs+=|Ll95=_M|5Zh&DG@efK zm&2J(^!wohC;E}G&h$53=D(dVGcxZmp{zsiOG7cO!5 zC6~Ajy7+UZi=NY69a_(@k7jAZxf29lkHkY_M1AeD*{G^M$ zYoY&4yHUUoLjEK+jn#xiWj-m0@-2+xOsvAMkzy!*NjEWGL~mRq=mAOpDELWEX^o&O zIm|E`nqw_S!VJYt!(c}FhIK|=BpzvqCd^2D!@5;Xv6je&P;FC0)H&DOw!X?-W*FhN zHoxCrR2xb}!w?ydwltK7t4zN?+!%@*W;_%%6XoGRRR~`J|6-%c2*+Bt8dRGIRD>&T z2v;qG4v$38Z0XAk*by>A5X%J)TY%pW3E@y{C>%An2AYKsf3dJFS`X_Y zp=KxRNbfD#?6INPmqimstTocY8&#Q2@Q|C!Dp9dmXb_VMY%n$y8UeVi@&@-Ys46z9 zmKYoSMj&8$x6IOVxC1Bct1^otEp<&!+6LSeT{^GHjM3R04r58;q(F zqslBQtdGU-3dQS;C}K8b#t>_vhLH{XvUnsBiEoM6M|{X3R3m=FNM=Dp#56)pO|dX3 zt|F%-8cP@$=}2*TOVrGa)jJBntcXHXs76EDP|Ra+s3;0o`3*630~CiwIaIt6f!iFb z!{UHR8*9QWUR_xgt1?8K4SUip4YfjG9nJe<1PT_EkWq`Zs0B083^$?|L|r%%kMpBt za2>Y25vLFoifVC)^^DKh%!GM|^TlXrYcpCS@kFd8)P%Lb*iy)?l}nVI>cgEx%2EWf zZEYEHl$L~>Vu^@~lHqnLR@B9O3XULFtu@uQybZY;TCq$1Dl2+-s#8!P1h7U9ULu_q zo$v;%jY|wTnGcyY6Nc3IZ!i|%W2g^+?tUdb55+)5d z2CVTI_T4OM2Vk+G7_Pex-DJ43{BMHnulRiwJ*t|&~dj3koHI0bMY z)JJKV+(szwP0%)wc9zYdXp3Y(EVo5XhUFM>1R5B^cVG{AhfyDjHZe3xn04U=3+N`s zQbHTTkV2TBu&|)7S+&YoTu{i?tS!HOl~GhsY#lAm92ONUVXHQ7TzP%D;V)P$I5uuX zJINxB3yS>M6nk+GgFf^<2A^CD^YWt$cnuwAYKYg%#>$!;v=i;=h>pFu|1nNN59iH6 z>l{!$_@+Wfk74hxu4^jhZhap^nX{J za%vP;V7crCt^Iwnj^zF5;2pRk8pD1iY33F8;mRO~y(;lL2Oh!|gqQtEwpaH9!Ng1V zTmk3F`+bU@dxfAE+UV_)e_V~ISNsY;ZU{Pz;P-|EhI>OA9S*U|DUB{~h4Q-78eLuz zae7Ll7g|yn>(l5o`l<|Q^kPK>%&!p$T~0|;IYC`d!KrMyVBz2DdX4Byb^3<{g3C{g ze5N#NbPRx1S~a?e7*W-x(Q%1rm3ECzeXFuZqm!>y*{jh>CsiKS=xWTUZl6X+pjqXB zMwg+(>keu3@fJ5@hc!9^+A7@|eWFEW?6^kH)95EPI?W+fPHA-gI{dUozfds)rZhU; z|5T+t(OWh89F5+l z(d81uYuh#Ybr_mQ`^aC2bK%*bh=<=2fuRW~Mi!}aj zjlNi;j~?Sa5f@=}n&u?tFUOG47J|lKIy% z)}NlU03dG$BmPFJ>F<3xolfuNIBmH4d!M&(+GzFn9<^}VVD`0IaB_WL;gvW3$I1@>DwZA@Ulh0}%v_FFh@L}0&#(*^|gTR3ezV84aah6DCn zIBhgwzlGC<1MIhO+Hk;r3#W|+?6+{bkb(UQM|2;#hN8QS@%RQFxH=nOVZ)c$@P#&f zjt&2y4WDeoC)n^@8~&H8vh_J+yNchQDgV&*-@S)$)$#KNRfvRdDBT`YJXA{N4T&!LAk0VHTt({|KCas4vKy zu?r|p09`9Q=sVbz`xYvK%LmNKI5m8Oj&W*uPx^G;jCSHXCL#Err^>D+&k?xde6XW0 zc=Y$z1&>8FPHF zb45Ln)U9u))2TWv#?R&+0iS0x+FJcn``)`yNe9(vR~6jx${vWQ3wDl~LkmT)BarfU z2fKFP4X$8EPwIGI!*H8Y{`G%C}~%%^q7UysLKS{wrvdx|sUw+&pmN z7`3KR#+D_&WBc13$$_2Q-}WT0-m!fkokj>1!84ym(2#03QLC=pnRqNJ*zpvOcJPX4 z5sv3^>xfvcMelnvQolnozDv8A)F%-voAvH|!H(^zU}qqOcp5ki7PhO~oG1uAsf(fU z*$E0;_EwfyC@WfbBv0#MIe@Svft}T-5ro@t)|WweGuclyJG;@aC$)yu1YrPUCW6|` zO?g4gs7_%&kHV?r$SDfSjwen6=)H+aaGF>4q)fC9c6M>zuH8iaChcmZ0{8rhT*t}O z|4)JL?DN3jg>d7~uw4muPz=uCu7&lm7ctn5htTAlnGDL=dBM&HNDE6656_=x%lFmBob~{;Np)k+pc5`R+jlg*5bpy)#GDGk`?yNL5fJxK zkD1`(tR2ZdV$b_VK0sgIH(1G2dG~i`&7ndtp3-BIWn ztWbfzpa-)y@EUoxQV@7h9Ctu)|oz*lQ#1e+-@CH;mam*V1EDNA<@gK7^u0nkf z+8hsdB)fwh)rWPhXr^=qK<-KXnWjlc0P{2OBGfu82Xii@f%Fnq=NBdEK`a|UUqVX= z<>TZd{}LAj%_i@W5FAeto`kTT)FzTd3jl1*wER5h0JU=+sRDugPej-DWdjcLK7`;a#R1tHA0_R3+`Wc*k-gKO?y&@c?U;< z!o;Vz?k}Y-B(XcUcQe{h2mcPzvjNOoiltG@)U;Lbr}`|cR!7#ZMpp~-97}7o&1rLLi zX+(Z3p=kguP9pG*4-Pz#ab`j*thbY(#>wE-f#c>_?jZPyCJSovu>Kyzl1stj{$98TXVA-n?sM^{@JYoUs3oZ!A8gw%*b0>t{ zHd;nKFzSI(4~%+X)B~d)81=xY2SzVZ)YjCx?y1OJ#Fpr>c4EUJraq35XP&ks~q z-dH(*zOO#o6!Aq9zLuEjqgPmbX3U4D$y<{qJ%=?kU$lj@B@?w~bGVSrFE3kv9rePP z{tDYwSLv@F`C5`qO}w`)c+R;Fyq;+}S04wQg3qp((&@JW>wc9^&&ItG6Yv_qvNP%Q zZ$Mx8ThL+3g(={;eI5lIgWozn3b+A$-GCwrstmrnlzFn$(%X!jW4TEJ%k zn*fVnNvH1xtO9%-aM!Ep^p648{2qD$J_JbbSbh)i8o)_?xZ4hRE#NM|4S@RrYXP4I zRL?$owpB7uTfS%7__5>mqJN^(&+!|7lTP#J?aIc|eRwt-AKW}zK|n!kAVOi+3IO@JjYr_;P45m894iBBQuC#k(G)YrZE%>AEq8c%dE z7MPfSk9XCC3zAR>DAhlXPZ{cI46J(Z?VN$?sd%&h;2Kicd>cz0jBB+>eh3{`)P- znP!volZ>2Qs9y&;{CP*E)258w`%zzs`ewZ!Z=GfL)2QEv`Wbrt%^5wWqyDp~r*}rj zd}<-Zhp!8&ID>J$`n{^wpHn z=W&SMgL-;bb)!W~csi%2#ImYj1z1}N2;Ny?_&8Ww3shR#OM0+Bo)1Ha+K5}*I z84ugx#StiZobn0J9xvNZB*Az2>fE1u*{!+Hc-cNr?%o{s@1ER0d)dpL+#@;cP0z&# za@Zfe5ia1OMQC+v?oU1J^PWZLJgm<%OLVmucHCaj>0$dlQtoHwc&2U&WAX6h-sAPW zM&wU<-}|p#_5}3|$B&j#4~%+X)B~d)81=wEmIu^(Y3e;R_1>8}snI)dR1{9{-03*I zV@GAY0F3#>0X=d{Wr}=BjGxMbk}(3(ewzwCs!T<_ zqja2anlkh@DOl-UAswgQ`J!tbD)b006~%|=5V(C{=Oq02&GA#RWBlC9aiu3NJ2+k= z>+!q?$ECVL_}}nbo!;#t zezi^k<)s|o9^~n1tra-wN2MAc4`!=cS2z)0|BMgGQR|ODPw~?=rT+e>qSIqgPV|GI&xF0_3k9cI&oA^k^LM(?p94J~XM-s< zsz(8zci|t8IHP_yT_O1DWV7u!0r}{xQX>fxtOx%jvY=ED)OxuYbSJyMF6Gjzq_mgc(}K-AFfS+`RQ}hw(hoJ@cj|Y)3!U;PIPqVK zjh0it^^#sI^=X#EuiSEUhPj)E578m}nf=+R6Uw@9c@aMyy zWUqa`&j8&iZ`=~e@00WEnAGRPpwqg?YO?j*!|BslTWvPI3v?&Hz2HKhjGK3)XP=C7 zelHIqBRFu9^AQ*Nlc4A0JZtyQGcNqSF7%Q-q0eHuK=ON>(C5RTJL&Un$!}lh&%5wn zlJ6{MIq2jEyZ`TY;isqOo%9(yX;4V<0h$H66aQ5%^eWIvpC8T_<4gC-sodql|D5E% zRIdO09zXccg6^Y+w(^z>{URvolpk?E=%mk=3x%MCQr;HOo$Na9LZ6NejT1ks3dc=< zK@9n8LbXwzZVrTmnXIob2(wHAMZ;`1kg}^Kk^pC2%xGwe)lzyNqM>`K+#7xh`M?)|XN0NCU}$jX=;4#9&z^Gs z<2=(AX7CynTXVpE+fcJ=U;5gq^K)t zIcfySuZEp>(w?@kRLemH+oZEZ60@wFSwdrEv!cXRd|ZdCuE_9LY}joV*|zNRr6&HO z1kYR+Yi>q(k8lX}C>%0*+q+AzXE%&zgd9;GQe6@`8#&V&T9O!#Hh(czb)NA|rmW=& z<-!5~GGwexM4BRD)4;Mwxoas?rJvTmx{dB$M^clgdlnL?%3vr}Hv?`m+s>EuC;t=T)-)T2J9h`A|I##Q&!J=i&nXHY@ z$SrfpbUw&!wp^H^o+r2DTlDO8X~+qSvB}aM>m72rtDX9YR;R4At%Fq0Y->b{UzyZZ z=M(A=cU4^FFUQIr2w<3H)={1uRpb@L?zM&Q7l%LT>>jd4S1pJ`ZepCb(pXC<^{RDE zfuz-uhFE;-(3cy_2JzFbg7T~Kby8;gwQV9ZTmB*Sv~L|CvlbUFJSnRfkHMLW-~E_n zlBnylgomrll6Q3#HjGK&esWgVD@7yR?DB!Jvi)Wajl+g4t9~SNZ&i_f4v>_06sYzv zAL%3%AvtI`hx&IBS=oV0Rl;6vcWhgstR=)>OxM?~CU)5Tisbqw{2xnZgKbz87}_?Lnf!!yO80!)XMO${tbpmQoVSYem&7*B2986F8?cr`ez5Y1w-C1 ze3v&&AY$-!A>Zi^cS*MWYYg37YZc92Rt7CYtRS(q*$mYJnsEUe)e+yRx3U5}(H$wk zC0Rjh91nKK&8-@#HW|hLyu#zxf(sd*7t+6c;Ovc|L?bJx+uDLI1T^EKW(%_T!<$)% zfx394DMStAQEQXQ3iw^J0vr}J#DLO4A`)f=$X*SUZpwi>#_ydJL>lF7xW+n2Qy98I z=ITfr4`tYhOG7SI+@TXP)G;~_HAf*{2*euA3Ml$<$Io^rbYv(!r$V=6@$(}u_Wx(6 zo>P(4oL3zaoP`g5GP2sc{ogj?rGlS@vdU6mdVBl-Z=0RPO}|lRmvUQs^}D=+zHIhE z?QcOnvMsGjcu3oj%?FLwf=XJ?fD>UkLjRg@_G6`z71L3?@@N8##u90m8u&PadKQ|T|s ztP2M;CaS%9K1f0Je30s2wO95(B->vv1*+$b6jaYAQG0rpz~25b(8woBKJx*g;^W`= zB`3Ss+O9$!LQ(HWtbF$pG$aA@C(57_IyGR2TcqV#V4=~uIPtQp|{Uh?IhIS zebD8p_D|Z{tKU5pETQ1kifX4w-^GF6zj~fcLHyj7RqXzIMz*)yR4Ume{Io%3ZR(tgvPvKgUmWg+PWpLF#5A7-Tm6_`K7xn)) z)&JR~`AbE$Q+j;~G_qf{SI-9q*AqALu~Vg1RC@)dpk8m!Y9w=ofNGvA5vrZSFGXXb zss2lAM9mc0zC;CvY)~qp0<&cQg^D1dYCqRTCta!N(AEX7FO~gQ;5h&)m*PW@J}Ui{ oU3fgf(jA9Z*?XHfETspZw4(Y|B>a5o*#2a*;JDJ(z=pE_1)26m2LJ#7 literal 0 HcmV?d00001 diff --git a/project/device.cpp b/project/device.cpp new file mode 100644 index 0000000..a40942f --- /dev/null +++ b/project/device.cpp @@ -0,0 +1,52 @@ +#include +#include +#include + +class Device +{ +public: + + Device(std::string name): root_path("/dev/" + name) { } + + void send_command(std::string command) + { + std::ofstream out; + out.open(root_path); + + if(!out.is_open()) { + std::cerr << "**ERROR** file is not open to output." << std::endl; + } else { + out << command; + out.close(); + } + } + + std::string accept_command() + { + std::ifstream in; + in.open(root_path); + + if(!in.is_open()) { + std::cerr << "**ERROR** file is not open to input." << std::endl; + } else { + std::getline(in, buffer); + in.close(); + } + + return buffer; + } + +private: + std::string root_path; + std::string buffer; +}; + +int main() +{ + Device generator("usbtmc0"); + generator.send_command("*IDN?"); + + std::cout << generator.accept_command() << std::endl; + + return 0; +}