From 91de7f7240160a3a7c1a755243e4314103128d94 Mon Sep 17 00:00:00 2001 From: Martin Zietz Date: Wed, 20 Jan 2021 13:55:29 +0100 Subject: [PATCH] user interface work --- Arduino/__pycache__/__init__.cpython-37.pyc | Bin 256 -> 256 bytes Arduino/__pycache__/arduino.cpython-37.pyc | Bin 18809 -> 18809 bytes ArduinoTest.py | 22 +++++++---- User_Interface.py | 28 ++++++++++++++ __pycache__/cage_func.cpython-37.pyc | Bin 894 -> 4056 bytes __pycache__/globals.cpython-37.pyc | Bin 164 -> 196 bytes __pycache__/main.cpython-37.pyc | Bin 458 -> 0 bytes main.py | 21 ++++------ main_old.py | 36 ++++++++++++++++++ pyps2000b/__pycache__/PS2000B.cpython-37.pyc | Bin 14119 -> 14119 bytes pyps2000b/__pycache__/__init__.cpython-37.pyc | Bin 230 -> 230 bytes requirements.txt | 2 +- 12 files changed, 88 insertions(+), 21 deletions(-) create mode 100644 User_Interface.py delete mode 100644 __pycache__/main.cpython-37.pyc create mode 100644 main_old.py diff --git a/Arduino/__pycache__/__init__.cpython-37.pyc b/Arduino/__pycache__/__init__.cpython-37.pyc index 54e3e9262d611eca55411b8540f83df8dd616b61..6d84313836f0da1c49a94fa67dd28ed7e32bbfe5 100644 GIT binary patch delta 19 ZcmZo*YGC4a;^pOH0D_5JmnL$51pp!G1atrZ delta 19 ZcmZo*YGC4a;^pOH00NnZ7bbFl1pp&f1k?Zk diff --git a/Arduino/__pycache__/arduino.cpython-37.pyc b/Arduino/__pycache__/arduino.cpython-37.pyc index 2c9276eef92cf5484c2083844ef4bcfe42c4813b..ce96862ecd6195c8972e4907a1af2643cb9033ce 100644 GIT binary patch delta 2924 zcmb7GU2GIp6z0xOyW4F`E!!4LX`xU9Q>c{w(Z2=Uwk#mlB7$WRmtl8UN4GP}nJIr7 zAwFmVJP21*6aj$*1w~||K4@YHPbNO`IN?EF^+|m~6XX46TG(z}Seo?PGjq@V&bjA) z_uRR6lHEJW$|IGP!CB((MDX@Ef&bkeAdQ~mp7EO37^D?>e}qh@&T!Kk$55om)Z?HNk*&7aCR zC+xFc?7MaEv%~8_DP{CSC6o4^w%$WhWzgG)W-&0Tl+y+{Hv$R;$WO3jPuf&%r8IxF zURW?~2800ox4McO^?%B2J^!n5@kRtysvpF3N=P+QTG65Xx|P&Zx=mwzS5sa8R?r3W z@`#lglM^qJuBI)zpORCSoFvuOO~Z1SMVtBcrf=tA!Ld@^dOo8Wp0L_MIIWcSEMLIc znj*_WW0*T*-^2?MNe$Ix4>s>E6({S?l5?zNfq3okBT6${$S)`phw)5tOlGtbwp+Lw zSPKQbA&!nE2}2M_wi)vown^URRXB1|PuNaSw{*j@RU@G}a$2`++9CX%Qtg1P8A%!! z4~2Jl*j2qhr-;Ykk4&7>v}UC2S7U+1L^7^Y%AzpFkf7qDqtkwLEPK24UFm--AGQ@B#0?A5lbOmQU392Ek4s4O8set5-F<{ix+R{YLJi`}aSX-uj36!Q82@FBom z=4O7ku7(FX+N;)xccZixC^qRO9_?t2MB(Rln@zAr0WScy0JZ^k0U#+-0Ve?*a2oJ2 zzuWaBTg`vzPz2uTtmjpoW0k8h1n&DXjPfI$i=X%e@6P}}bv-b-`m8W-P3t2d(OE%r zxe`SX9T{zm&bvJ?$}e@b)X$`F{PB3wOvK|91y|^taQ_)xvM>U&EYUe$(Y>1uakKmF z#`7Qpu~TMgw9kxZOe-%&c2SR??JRZ&mV!_L%m+XcbU}cUqeRCyp&J6!1JfJw&Z?in zj?dbc6mIZ-ghFyp<7K$JQsJk1j}I0x+q((ezUq{SHkHqG6av?gsk^s>#XDWd{ z!w@v*C2$3ndo_Lu>zb?6A-;C7L5Shy!7&!$Uk&chl|;fc3@u@6$$Uv{4R2tPVkPml zh&FYrh#PCA`0t<&WDw5&x_U1g!T7^BJg+)a-B@%<)mA+T-EhxCZ}!UC02@bQ`S;?w zQBj}AkL2@?o7*?M7}t1Hq`ReHrL$O!TV$`k5&m9euBdE9cRjxu>0`tEpNKx^JiL%* zUSavsp=_o%J0#J_g2D*+WGNsAW(VgG z-YaZWnHTe?%~VP^QUnir3ed_=ukYNt1SUQ>V`VAL-Xy#<@(zpJu4*yd2*8)C`+4e= an!8^U(kHiXqaPC*DGdQ4fMMReVf;THURHYm delta 2924 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 literal 894 zcmZ8g&2G~`5Z>|cHc3I^&@)Z57FKyjx>%>}Yo#HI+HRgTRsZ z;KU3wp;Ka3yhv*Y6t!}aUM&-91K*l!9R7RKxxw|Rv|G6@x1 zg8(4xRi5yrFM}^k1TvHn`cTG_qmSf~9HEb;w_wTm4?fKj=;Q0f*>pOc&2yhJxX9DK zz-^wPvFt1B*f+3{dJcobzQdlwfn@knm?xp8`g$lte0!<3Wv)cLdjNL>NPH3AUN_o` za5uO+a^IN_@Y%mtm#>#snYLxUT-a8Y?Rq)O^7pE0bf#CTw99w3v8q+NtqVL^)XLtd zN?K*Cu~{vbc~+?Ormgdrn_WLP%BIqlVq$73Lc?H!mnN74#ki<&+OF?M2s-Ti13YD) zpo5`1Pt#z;=%OjBG;gqs#1rv4E7GmX`>-VEnix!ohx>8fYOQKZ_l_}Ps7VGR&>a1q zovPTgPcX13?Pn(|a(nZh#0odMtZf3C8u_2-F*SNX_5{xudL;urMw>f~fc&0nia`ew zJ_h=vgN~(0ixz5(Fw6Aw4#qf&)N^^?3GK}_)tdx@-xHn+zHKUtgFoBn5Z&iaaZJ&m zK_70j3bmst98T$=_!GQkXavmT5CM0Wrr9N29Bpn{^}GO1&jL4gG8r;69Id$b)~a9KHtt diff --git a/__pycache__/globals.cpython-37.pyc b/__pycache__/globals.cpython-37.pyc index 0005d07936f2d6da44af98242f77413ba2373190..18c683c11c6b4f3006357e76a9b27b6d69b511cd 100644 GIT binary patch delta 115 zcmZ3&c!V+0iI=3PTEG3R60B6hjJgFoPz` vOQ33omrNi6q|Q&1F^Vh5)yFY1KETs2cqKy-3sAI(Wuko)rzntB48#loTu2j9 delta 83 zcmX@YxP;N(iItpz?i4!?T8n||Hjwzb(k>22oR%6W?~-XgT_ z{F#Qsf94<0J-@%#T-BDy;_*Zm#8?-3l=vh{HRie$5YC39Oa$6oawtNjEg~hE=yEp+ zqhXMU6k6x~M1o9~aQiZ}BsEmeL>~%9bII`!JhjOlE>Zk_)CrETW2~Dpf>KFD9YbfW__IIH6g@+6D|y*MMvcW!PrJ IFfml&7Zi+&C;$Ke diff --git a/main.py b/main.py index 9a85037..20169d0 100644 --- a/main.py +++ b/main.py @@ -1,9 +1,11 @@ import numpy as np import globals as g -import cage_func as func -# from pyps2000b import PS2000B +from tkinter import * from Arduino import Arduino +import cage_func as func +import User_Interface as ui + # User Inputs/Configuration---------------------------------- # Desired output: mag_vec1 = np.array([10, 10, 5])*1e-6 @@ -22,15 +24,8 @@ g.Z_PORT = "COM2" # Code starts here------------------------------------------ g.MAX_AMPS = np.sqrt(g.MAX_WATTS / g.RESISTANCES) # calculate maximum currents in each axis -print("Connecting to PSUs...") -func.set_devices() # initiate communication, set handles -print("Connecting to Arduino...") -g.ARDUINO = Arduino() # search for connected arduino and set handle -print("Arduino found, configuring pins.") -func.setup_arduino() -print("Activating PSU outputs...") -func.activate_all() # activate remote control and outputs on PSUs +mainWindow = Tk() +MainFrame = ui.EmptyFrame(mainWindow) +Menu = ui.TopMenu(mainWindow) -func.set_field_simple(mag_vec1) - -func.deactivate_all() +mainWindow.mainloop() diff --git a/main_old.py b/main_old.py new file mode 100644 index 0000000..9a85037 --- /dev/null +++ b/main_old.py @@ -0,0 +1,36 @@ +import numpy as np +import globals as g +import cage_func as func +# from pyps2000b import PS2000B +from Arduino import Arduino + +# User Inputs/Configuration---------------------------------- +# Desired output: +mag_vec1 = np.array([10, 10, 5])*1e-6 + +# Constants: +g.COIL_CONST = np.array([38.6, 38.45, 37.9]) * 1e-9 # Coil constants [x,y,z] in T/A +g.AMBIENT_FIELD = np.array([80]) * 1e-6 # ambient magnetic field in measurement area, to be cancelled out +g.RESISTANCES = np.array([3.9, 1, 1]) # resistance of [x,y,z] circuits +g.MAX_WATTS = np.array([8, 0, 0]) # max. allowed power for [x,y,z] circuits +g.MAX_VOLTS = 16 # max. allowed voltage, limited to 16V by used diodes! + +# COM-Ports for power supply units: +g.XY_PORT = "COM1" # placeholders +g.Z_PORT = "COM2" + +# Code starts here------------------------------------------ +g.MAX_AMPS = np.sqrt(g.MAX_WATTS / g.RESISTANCES) # calculate maximum currents in each axis + +print("Connecting to PSUs...") +func.set_devices() # initiate communication, set handles +print("Connecting to Arduino...") +g.ARDUINO = Arduino() # search for connected arduino and set handle +print("Arduino found, configuring pins.") +func.setup_arduino() +print("Activating PSU outputs...") +func.activate_all() # activate remote control and outputs on PSUs + +func.set_field_simple(mag_vec1) + +func.deactivate_all() diff --git a/pyps2000b/__pycache__/PS2000B.cpython-37.pyc b/pyps2000b/__pycache__/PS2000B.cpython-37.pyc index ff2201f26e8eeb57681e010c8f6fe1b26048ffa0..77b78daf058a6a183b6fd632a12a37870ba15c60 100644 GIT binary patch delta 1212 zcmaiyT}YEr7{@!Cy%S{@B00%PPHp*arE|;Cmr_QT(S?06g_=52!EK&imH9P;N(fEu z$?U@v#g8tFT}9nQcLfCz1m~jL=%zrgB8bla%*`=`4ff-CpY#0BdA>Hn8{xuctF>T{ z{LL18c~$tkl!?UO(k+u+4@w-FOmU~glBZrFdZ7+o%} zVk0zEevS=OQPKW{DF1F^ae7^`!eWUwM=@gq6sT$S~__nlkO$7>5v|j$bDZys-NB8c5=16-F zzlb}Mcf-0z(~h!)*{PfMDW?Xff(6zjovG>YJb>v3jsYhmbW=u_S)v*GTGN>!ItkIK z9HJ@e(p$4djX6Zqw54BR6V&K-QlIO(Hieg_>6^>Ji2k_Fs-wHkq&wrThltC{dX9d& z7u;xUav;61(o^BX_zX&<=R+?Ke|C<+T>*FjHP4+;^LCSH?Z`Wux_VMZ33GSY5PNx~ zKitWOX|&d_sf6V2)DE$ExlCnrp)TNfE@M-D-Yw%r`cT)Hj<=A@(~?uOM2nu;rboEh z!gq=dBl)ai+Yywpi~+6VS~SEv1ohUxXJb_FEw-srRbZ-AT=bY)y>FY+_4221J_FM6 zd;y;ofKMXzPO=ZuA?T8CfGw+D{O|=1t|DlA=XUGGnmnJPPj$z)HE)gv9Jw^>F delta 1210 zcmaizT}YEr7{@zXy%S{@A~{J%Zmu`CmCl(jeND*dGPgq$8to^%*CGlF0gi|i!fHvVfm$|g{CZMX`q6C_iljGOc}@%QKCTdqy-p2Dm-9vXzpg`3H` zi%X9Bj9GP?4$9{g+LW-6HI3(*!@m1uYJ`)7(*kZ&QH&){^Z2znQsi`ooX(bUn!$c| zZ>dwDjME%$yL;Fa2D~Z`du}K*^wJ!D^ElW7{_&ibN3-hAcF|oANLLc|BL4KIy;Rtp zb_|h~?+GMm85GEO2VWoiqK?saBf(FQ-7HAWyG6oR$3NKQ)zd;Z@;Vi8E- zofb`z0g1_J8D~pklA=wxO zUy^KyL`9>>mGE^v3So{zZ6Dbfw)typGF2(erAikqW3T^xXFgweM4L#+>)|mi8wu?K zxp#KzAT~H&X&+^4vKBwu`H^QN+MT(*YVlm0FXHFcQ@cLzPH;y#pEPP6{>f3{3AYFa zK{ix=KU1`nNyzz^0ngIjJpwfn<_Y=f%2wzQ7Zoy+upkby%1G2Oq5zAeS|X$f)K*v_ ktP0e^8ktWC6fjUGkVa;$V>;Gq-GYOfF37Al+|oM!19o)}2><{9 diff --git a/pyps2000b/__pycache__/__init__.cpython-37.pyc b/pyps2000b/__pycache__/__init__.cpython-37.pyc index a933847d635c3af57301f1c7d78daf8acb032f36..4d806eaf5345fb26605e0ff5d01cd9f2bac8f876 100644 GIT binary patch delta 21 bcmaFH_>7U)iI$a@n2J8A|9 delta 21 bcmaFH_>7U)iI