From f95a86ca166e5a683d662b50248208c07d0bf329 Mon Sep 17 00:00:00 2001
From: 488_MP-4 <488_MP-4@iastate.edu>
Date: Thu, 27 Apr 2023 22:28:53 +0200
Subject: [PATCH] added connect button, needs testing

---
 pycrocart/Connection.py                       |  28 ++++++++++++++++
 pycrocart/PyCroCart.py                        |  31 ++++++++++++++++--
 .../__pycache__/Connection.cpython-38.pyc     | Bin 0 -> 959 bytes
 .../__pycache__/ControlTab.cpython-38.pyc     | Bin 0 -> 3376 bytes
 .../__pycache__/ControlWindow.cpython-38.pyc  | Bin 0 -> 2545 bytes
 .../CrazyflieProtoConnection.cpython-38.pyc   | Bin 0 -> 7390 bytes
 .../__pycache__/GamepadWizard.cpython-38.pyc  | Bin 0 -> 13695 bytes
 .../GamepadWizardTab.cpython-38.pyc           | Bin 0 -> 13698 bytes
 .../LoggingConfigTab.cpython-38.pyc           | Bin 0 -> 6442 bytes
 .../LoggingConfigWindow.cpython-38.pyc        | Bin 0 -> 5295 bytes
 .../LoggingSelectionMenu.cpython-38.pyc       | Bin 0 -> 2696 bytes
 .../__pycache__/ParameterTab.cpython-38.pyc   | Bin 0 -> 7742 bytes
 .../ParameterWindow.cpython-38.pyc            | Bin 0 -> 6345 bytes
 .../__pycache__/PlottingWindow.cpython-38.pyc | Bin 0 -> 2405 bytes
 pycrocart/__pycache__/PyLine.cpython-38.pyc   | Bin 0 -> 1348 bytes
 .../SetpointHandler.cpython-38.pyc            | Bin 0 -> 6591 bytes
 .../__pycache__/SetpointMenu.cpython-38.pyc   | Bin 0 -> 6949 bytes
 .../__pycache__/uCartCommander.cpython-38.pyc | Bin 0 -> 7995 bytes
 18 files changed, 56 insertions(+), 3 deletions(-)
 create mode 100644 pycrocart/Connection.py
 create mode 100644 pycrocart/__pycache__/Connection.cpython-38.pyc
 create mode 100644 pycrocart/__pycache__/ControlTab.cpython-38.pyc
 create mode 100644 pycrocart/__pycache__/ControlWindow.cpython-38.pyc
 create mode 100644 pycrocart/__pycache__/CrazyflieProtoConnection.cpython-38.pyc
 create mode 100644 pycrocart/__pycache__/GamepadWizard.cpython-38.pyc
 create mode 100644 pycrocart/__pycache__/GamepadWizardTab.cpython-38.pyc
 create mode 100644 pycrocart/__pycache__/LoggingConfigTab.cpython-38.pyc
 create mode 100644 pycrocart/__pycache__/LoggingConfigWindow.cpython-38.pyc
 create mode 100644 pycrocart/__pycache__/LoggingSelectionMenu.cpython-38.pyc
 create mode 100644 pycrocart/__pycache__/ParameterTab.cpython-38.pyc
 create mode 100644 pycrocart/__pycache__/ParameterWindow.cpython-38.pyc
 create mode 100644 pycrocart/__pycache__/PlottingWindow.cpython-38.pyc
 create mode 100644 pycrocart/__pycache__/PyLine.cpython-38.pyc
 create mode 100644 pycrocart/__pycache__/SetpointHandler.cpython-38.pyc
 create mode 100644 pycrocart/__pycache__/SetpointMenu.cpython-38.pyc
 create mode 100644 pycrocart/__pycache__/uCartCommander.cpython-38.pyc

diff --git a/pycrocart/Connection.py b/pycrocart/Connection.py
new file mode 100644
index 000000000..047d8996a
--- /dev/null
+++ b/pycrocart/Connection.py
@@ -0,0 +1,28 @@
+from PyQt5.QtWidgets import QPushButton, QGridLayout, QWidget, QHBoxLayout, QComboBox
+
+
+class Connection(QWidget):
+
+    def __init__(self):
+    
+        super().__init__()
+        
+        self.dropdown = QComboBox(self)
+        self.dropdown.addItem("radio://45/")
+        self.dropdown.addItem("radio://100/")
+        self.dropdown.setFixedWidth(150)
+        
+        self.connect = QPushButton("Connect", self)
+        self.connect.setFixedWidth(100)
+
+        self.scan = QPushButton("Scan", self)
+        self.scan.setFixedWidth(100)
+        
+        button_layout = QHBoxLayout()
+        button_layout.addWidget(self.dropdown)
+        button_layout.addWidget(self.connect)
+        button_layout.addWidget(self.scan)
+        button_layout.addStretch(1)
+        
+        self.show()
+
diff --git a/pycrocart/PyCroCart.py b/pycrocart/PyCroCart.py
index 49e40fd72..7f2e93b31 100644
--- a/pycrocart/PyCroCart.py
+++ b/pycrocart/PyCroCart.py
@@ -8,7 +8,7 @@ groundstation and launches the gui.
 """
 
 import sys
-from PyQt5.QtWidgets import QApplication, QMainWindow, QTabWidget
+from PyQt5.QtWidgets import QApplication, QMainWindow, QTabWidget, QHBoxLayout, QVBoxLayout
 import uCartCommander
 from CrazyflieProtoConnection import CrazyflieProtoConnection
 from ControlTab import ControlTab
@@ -32,6 +32,24 @@ class PyCroCart(QMainWindow):
     def __init__(self, cf: CrazyflieProtoConnection,
                  setpoint_handler: SetpointHandler):
         super().__init__()
+        
+        self.dropdown = QComboBox(self)
+        self.dropdown.addItem("radio://45/")
+        self.dropdown.addItem("radio://100/")
+        self.dropdown.setFixedWidth(150)
+        
+        self.connect = QPushButton("Connect", self)
+        self.connect.setFixedWidth(100)
+
+        self.scan = QPushButton("Scan", self)
+        self.scan.setFixedWidth(100)
+        
+        button_layout = QHBoxLayout()
+        button_layout.addWidget(self.dropdown)
+        button_layout.addWidget(self.connect)
+        button_layout.addWidget(self.scan)
+        button_layout.addStretch(1)
+
 
         self.joystick_reader = JoystickReader()
 
@@ -51,7 +69,14 @@ class PyCroCart(QMainWindow):
         self.tabs.addTab(self.tab3, "Parameter Window")
         self.tabs.addTab(self.tab4, "Logging Window")
 
-        self.setCentralWidget(self.tabs)
+        main_layout = QHBoxLayout()
+        main_layout.addLayout(button_layout)
+        main_layout.addWidget(self.tabs)
+
+        widget = QWidget()
+        widget.setLayout(main_layout)
+
+        self.setCentralWidget(widget)
         # self.show()
 
 
@@ -61,7 +86,7 @@ if __name__ == '__main__':
     app = QApplication(sys.argv)
 
     cf1 = CrazyflieProtoConnection()
-    uri = 'radio://0/20/2M/E7E7E7E7E7'
+    uri = 'radio://0/60/2M/E7E7E7E7E7'
     cf1.connect(uri)
     cf1.scf.cf.commander = uCartCommander.Commander(cf1.scf.cf)
 
diff --git a/pycrocart/__pycache__/Connection.cpython-38.pyc b/pycrocart/__pycache__/Connection.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..cfdf9220d7d50dc91d7759fcdb8eb0223ae48920
GIT binary patch
literal 959
zcmYjQ&2G~`5Z)g<cHBfr6mAvwT<Rjx3j%~%L_tDTqY5GIW#xLejluSY-L=|8;gm{!
z1J3D<o_QNzIpq~NF>AXeYwhee<C)o+Z|u**VT53nzh8@OiqIdYY%UL!x3J9~2!RC7
zQGppQ2qOh$wD6c$_{_)X2nizSH4;?PC1pL~ouZMyhA24dt?@}^CI^+Zss!aoXW~;b
zQ<bfQ@s~_oNDI~v2kNS`_Q!{+I8$IqU53pCRW{4)z#$RC0x@!f&auFPT!)O_AP+Hj
zJFTNbRhBZfnJQD<#kqsPc6r=3zd%^DL@RuYFtTKUmUw|UU7)XY<q3R?G3qdRz`mdk
zTj&$~A%+Lw6RdpUclKUq55XQj*!xTL126C@av7U!Ee<wt*x@bFTG49YDia8L3XkVo
zIuV(A8OJa7<N4rTdA_$7uYW=-Ea;kE3#WOfX;Q9T^P^$yn`$a`9de$PndMyfoJ%OQ
znhJGUvLF%Sqm>048fo8WS5m-m>_j`h>L6{&tUUuMweM_w2x#ZWB7mn>OPfx>W1=oc
z1WuWsv*B4Ycb+#Bzr%H(^E6M4;rtH$eHBksA>*^mraGC+_?<N0teVCbT2-YmHgVI7
zr?XV6G|@KxKhoXlOb?(6*MxZn0+EPBc;Fs#zk98YBQoFK2)$<jzD;1GObW?)9dTYL
zQRNN~IR9QHdHbfhrXF@>r!vohyC-mAD;_)a)QJFu`(=z{EF_J7JPPVZC$q8L-yPeQ
kEYmQm-RGyBdqZY3j3#0ub#sYJU5BsQ+TOTXHu-nxKe2M^$N&HU

literal 0
HcmV?d00001

diff --git a/pycrocart/__pycache__/ControlTab.cpython-38.pyc b/pycrocart/__pycache__/ControlTab.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..ff85ea30bd593f7b7f648ffeef7e77a3e66624e7
GIT binary patch
literal 3376
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

literal 0
HcmV?d00001

diff --git a/pycrocart/__pycache__/ControlWindow.cpython-38.pyc b/pycrocart/__pycache__/ControlWindow.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..a13f4cbd67a651b27a601507796af84af13c5a45
GIT binary patch
literal 2545
zcmZ`*&2Jk;6rb5|+iS-OA#M5r0dc5BNkk<i4h5<PnhJ#~X#y#GS#3R&WRuxlcXpiA
zmUAJM`VYX3gLCYWe`l_o@-J|pyf<s735Z?IoA=(lnSJv<e)f;eW}U$E%O78{-x`Gc
ziNfW_0pS6R@>d{?Fe*q!Bbr%}mD!P<IgvwAZwWW^BG2%)@UtKa4DX0qR*PzecSSvG
zL=D4xq8`;@pD)5Jj6$OeL^EqfO~cnjD{Dn9!`H=3){fegtP$2=;VZ&IZlBuGEc3QV
zr+E&Zk&dGqn;ZRd|6yOLA_rkjrffYK6n&-r&7G9(aRu6+9u_YvZHH=ab34tr1g^dz
z3bmT#M@b3N{Ccssm*#t0T=1?+i~I+k_d)M&_IaN_0q**$OooG9k@5{$sA9Fq^U4y|
z!Y!_PMVhP0u9>O)ILVnXpKE<z3`&)D51;acaoNQiTz=e%P<{yvClO^NvbfD1?sAXO
z-<{WFmokglufoV@4s&0TC}1A*VXnO<4vFdznLszeF(nJJljf{Ah8Q(Pb+h;d-bA;{
ziL3E`<(m!;CZ1`lyW5@mf$jt_JQy~Na-I^R$SE1qGeXITj!0}Vr1r=G>L~Y=oVdyZ
z>M8$}fG$wAku|bUE#T{_VRWHtf`vcw$E}ffM&TrXJi{!*x#RZ8XEw9XY|x`b4g!!J
zl+`SAPw{(mpq)E-Z#)n4`(~eKEbFk(f_;@V2fN-$A@fjD3&w|Qu=Co%b#ua^IRWJH
z4dz!oc;-&Hn=F`cw^$9{I%}Lk^^eH-Hb#LFh<W(rQF<4Ga}I-?TR?^j4>=Um(wa<q
z`%qL%lj1tZK%U=2i`G_}^QE2Sh%aFso-<IUOR%0kgA+O*Xt(V5xYR)$r+KR4Sk8cj
zuJ7TIF-ue;=RhIxM2R_*KCXLRQ_vFnn&{?5sxv5NiP_ZQv>J>GTV2<{tm=<w2G}2x
zmuc3|pncT7t|g3BjU@46`c_XQgSe1!FX@*&o*wqxbYSFn1r#`E+V57~p>G)b%D6I$
zyNM9blkTC!%8Fct?Wld6uy1GkJ-8f?dk~Zu6tL!&a9I_#z_+TXw^Jp!Zh*YTi;OEd
z&`!Az#U8-S#jXjJY{T(#76}F_^1yL8FIp6QSH)$@cznbqG-M*;$&z!N=J(!EU5n$c
zNXjyf-;lq)S=ongtUOOu7y6&Ce9Oy2RrFT&WYNzVxQ1Y{(i?PT(FHeGuC(8BZy*=p
z>n#}N10ck%TORdn52+Q<kOsijY29kkw(Y%jK<B)5>=t#XLoAS6c0k)Sw7~}E;lkDP
zr`6HL+M7NYSWNaRjPeKwqbGDkr5vt9;hP3Nu|^iN7RiYXvkfz}@PRc($yp?4^u!&x
zj2zbFQ_wqxx?^vIt?pto?vNLbLzI6I9M)w{p%tJR+!OjU=%2wbjp04n)()1cu3>s1
zR#{JbWxAIq;!&qIt!S>|yf{u$C2xbT(Hx+53^iEB#V+ItjpYqkkT-F)aj8DETS1!p
zUDi{BjwkPcg|6jLIUF_GJxWBM%g=E4GVXTpT=^-=hTKK&6Cn3tlnX!z2A*0F>;T?2
zq-EY}Tf+~phW(NgRgqqaKjs4a(!_rq7zG(PMW`bORNk#3T|pkR0nh-{4xF)zfRf*u
ztU3rg%)MCkF5t#{G7KMcA&RBrLJIcLa1nh=^FIF%-aHyMH?U8q__N*dwcC^MJ5@z=
z34Duu=%a1^Qkgc<VF|@O?Q1{~Y`v-2p(eurj^D>{3f{7u2SQ9idlXC8qoEa2j}Gr#
zjo$xbLZ^X%mnRvIV_lEqtYCeCd>F&eS0btvS%dG$5J?jW{+%&xW>P89AKjeva2Fy4
z;Q21)9W*w1$EL*nB{Biz+#)dkZZ8LIiK@<=p4k{|sxOu|0eJAwL}@^<!d!$-1H4f<
zHCinsuTZUpm<~DFs{qSjv%z2aIc_ul8?O<k%}w+?{Px0si(D=DRVvEmH1G9Qbw70G
c(hV*uR|og20DX-WXTpCS5T$w%Tg+?!0~@c9RR910

literal 0
HcmV?d00001

diff --git a/pycrocart/__pycache__/CrazyflieProtoConnection.cpython-38.pyc b/pycrocart/__pycache__/CrazyflieProtoConnection.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..f38730a95ea1aa9f3f02fd3eeb0a143d6dd0542c
GIT binary patch
literal 7390
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
atT%Gjze%c-klc+m3UMt2yL7K>b^Sk6wcm6A

literal 0
HcmV?d00001

diff --git a/pycrocart/__pycache__/GamepadWizard.cpython-38.pyc b/pycrocart/__pycache__/GamepadWizard.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..ccac5c9628e41c9568c243f6316ab7a736dfdbdb
GIT binary patch
literal 13695
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
X>bv>e+*h@)YF_OGDN+t4gC71LpKCyd

literal 0
HcmV?d00001

diff --git a/pycrocart/__pycache__/GamepadWizardTab.cpython-38.pyc b/pycrocart/__pycache__/GamepadWizardTab.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..6ebd1d7c9809a01f8266a41de3eb90644f371f55
GIT binary patch
literal 13698
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

literal 0
HcmV?d00001

diff --git a/pycrocart/__pycache__/LoggingConfigTab.cpython-38.pyc b/pycrocart/__pycache__/LoggingConfigTab.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..81747ac14163086f6cdc1f498b789ebf067bed24
GIT binary patch
literal 6442
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
QkWfOjKQSDfEl$h)Kg_5NBme*a

literal 0
HcmV?d00001

diff --git a/pycrocart/__pycache__/LoggingConfigWindow.cpython-38.pyc b/pycrocart/__pycache__/LoggingConfigWindow.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..e4d2fc1d5ea0f536ae4109c22dd1807e3a0f9525
GIT binary patch
literal 5295
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
Y(kQQ8F3i6|pgASpZy^!@0aaW79|*>XNB{r;

literal 0
HcmV?d00001

diff --git a/pycrocart/__pycache__/LoggingSelectionMenu.cpython-38.pyc b/pycrocart/__pycache__/LoggingSelectionMenu.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..8e5e3ebc84dce8c3c0f669210bd8ab484074d6fa
GIT binary patch
literal 2696
zcmai0TW=gS6t?HK*KD?FXlS7@R7ho|DyfhPJRnq&3e>7ZL`{pd0*z+J-q}fJXEwGs
zm(}Dcm5Rg<;Dv`RJXPYK@DJvd7xEV>p>mFAc5@+uS=q9Ej*sngzVn@Zy0B0u@CAQ7
zVm~hs@+VHteilsbLz5pt#|Wb_8PYBt8eL;(c1=pYCd^>wbHYqckIk;dtS6*npMW;$
zn0aOMyNHEc<&Di}U#16-{lj#u^4jKlI_#ye5TM@K&nzeM0Sq|lQbxK4qh0d_=~I1D
zwQF&kS-((bGv~S0b$EqUU{+-{m{nPwHJ+1h?FF$&w+?q{=F5-MFpQG$36FW8qBQx2
zC*#Rabr-%;<jR@M9fHu6k&^Cyqy|yqssVR{G*KdrrK|kj9e3a-Eaq~yDG9ZyJwJ|^
z8y9DRg)s4P!$73taNzo&Eh5;I_Q4vw-tDCaT(0V^0X^dbbh!f!T_JymPLX3Wr7sC3
z$~Y!RG$T_pqc15XA<2kmDf^gQY@rPjM^zYA)r@RA$Mo2EKz{iC$Y6%5We~Cza!gl9
zNRQ0SoYq0dLW`)I8Q00Qk(qi<r_I?~vFoLAs<pi^ZGm(VHFqB|0`9gp1U}~Vm6>Os
z`6BXrF?UaJz0=NZIUaG5S3NIEBIS7kADY)BS0y~&@%Q{F#ywu?O>eI>A_aOUH-nzc
zZQ&;&&&`-8xha*%9e$vA!t$!m*h9sKGOxj?1mM+RECf%~!-VmJb%<cdSzdv-CV+|j
z`aJ$#pk-d*$8paOb~;vWfv}%DaRFW$!I4tEqIu2pg4mbR^InnHU#$(&Az$l7DiHpJ
zuRY*$N2Q~+5W=4@seA<9+UPJ4Y2XXBR=VdLCRay?q6Y87l$7s5M`+z}uo-P?y>YB%
zx<s3_O|KbEm``qAYGmfu4$T_{3cbW1^1wiY<%cduPp(6gpFyV}wG|+1+bEH8>&VFT
zT%*B!Np=j;1_T%@!~i5dA-ip6V!S8!-KUZ>x1S1^amB?D!kUEc{vZklWg55<WRspl
zK8@m3DXkGDEZtvqHDE*qZn4p^1h5bhE$o`m<&83KTM*oiDXyUaT_fJc?%jEJ6Gr(G
zP>tswMAA$9Uh(!1U|nK55d*z9xqYe6{=E;p*P5fwizBJdIS`#^L(>lY7zR2ONk$>b
zZh-4B+1ij=WE)bqNTuDST}ZR3fr-p0xXzgT=57tZHT`j-c?sQwxC3wY4mIzT_(%Tf
zM<KG0J07KpD|laU3G7r*4-nZo_4&nD-G_bGPY#jDLbrgnyrXsJIxapA$S#gG7on{l
zhhvzpI9qi$!0QcoVD9*%5u}%R3nmaJ9SQVqUY(ihHs!cC&(({;xmB3-{v*3@gE^@S
zlI74U{MvN#>7@bte_Q7`6#;-vhwCm75e9});5pz`Jx0!(jm<M->&)0L#-V*gLvmy&
zC`<}NY|V2<&obDb(VdFe%8V)S@V133nj^R7dw_j4BmY`}1U0suX$7>aB@Yu^!#f>W
z%mL0eG51Q&wlf<z+t8X9q&ueg3#4{towL(G*x^gH)n;a&lP;XshMOR->znNU$SMHV
z>g2AwUSM;7z!Sd5h3n7Kd(NI3!3DXV&Fd57o)Z&0OdNrs*yt?k3>WX?%4yak*2FFB
zu0ogBStLuA*2oi!C~Bj~4r1;LaRtWR7L<?mg5i-V#4;>)91YTLySN@_B_+u2jbX~7
zeuOKtx<8X?Udf$;JaRk2I&uNY`X2Y-0Qm`Y#A=cz)$MP~vCL)Kq86>baqMNy(w5mW
zmS~+W1CO@=(Cvb|S1*P2>2)rap#~OA<Z;i->z)S>7(;#Z@}}qQj{UflR6LKR0n}71
zBZaG6808k`xcCqkF@5uevUCMJjzRmBMsJ`Ba;ZRe!(i!rtWwKvuC$z1ORsNq?0oUt
p!%cN>byF1uRtk)<uI0K$YrQju^%0t+tDhH_{{sIHNZhq-{sV`-zViS8

literal 0
HcmV?d00001

diff --git a/pycrocart/__pycache__/ParameterTab.cpython-38.pyc b/pycrocart/__pycache__/ParameterTab.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..86b18dfceee4a1c742ef06719dffcbf9c7083646
GIT binary patch
literal 7742
zcmb_hO^h7Jb?)E!pWWGC{>Zjk5^ZX&^{ho&rmfIQq!mSpk=I<35}i(*PVZFDZV!8=
zN7X%A&S01rSRp<cIRprN&|w!o5y&mq<dPtOfgm{sMkA->5bPm9fFKtgqI~alPtOl!
zA%`s4)m5)wy{dZu_2z?my`tc+^$&N%Zc|bIjRv!S1_r-_C;9~%p$Iilx~i>qHCyZI
zw%#>tqifn`w_q2#MZ2gHjuw=<WxLFMJ*af6c9r`E;5EC(eKV+cm+U3(7lLJb8S@H3
z!*1YR3|6|U_G<QR#a;od6s&dE>@`)nt%$Oye4>bor=RHdx+vUNwyNjYow8L-s{3~b
z(a~FjI1YOl+?Kw0-yMd7I4SNw^u?hUC*}R!uzL``6+TW1`|rC4UI5Vhe$Trl{5YxY
z-<9E^^rGl3S8l05dEj?F>XrB7ltP4owjZNy?7w^8>$}p8{jf(Q_5d{Z2j0L#=i;t(
zN5gjDdmtHyyJ4^AwFt9Co1Oh5CevRe(Rhlj3dPohYU`dMv`^KaDQ#8g!uX_So5B=@
zPZYZ#ilT&fF=d8b5>-*dxGd^o3Ga$n77e_sUQMis)lZZY)vk**u@2ah*btj|FaJz2
z6uSZTT}Wzoaf+@Nd-8#MFcK9De-Dm4iw?(ND|QboKeAka4m~SAa%1br?TNsPtjOyL
zzjtVb(gK5H>gMwzCe@Z<7jryI$gt-%8Ae=ewObmWJZ&!ERluX;iT)Z~iIo%OR6SEv
zCDu-qC)!v!)yLYIsw!i3tT=|C){F}$3f@J5?@o!^vQLmoT;(sdxPH0>4(f5ev)pNL
zyK-hc0j<;3G2p_8*E;KG2G;pvOoK5EU}|58xsp-_O_MQAp<%VP&IZ%m6y}Ngq<}9M
z#s%8PnU0k%;zY%9@$`}?@QJ29!Yc}_#&~q{67ckKiSXi0Q3SQ}xCE?nPVF+E^trLp
zd9L%7)34(FHKs~ffYBM5+NLOBc7<nG@-@=g&ja)MQ%jV2CiP#)`YDy?fj^;A0hKCK
zsY3VCoo@0TUIdjF7iPW)oOI?(qIN=3y8^5$ov-swzrpKi9op#?q6W@g74@G(9t4@$
z(Ul3^_+@aV#%-P3CFX8TK+bed9>EsURe7|8k(Tjb8M|L*DC}fL9*uD$m&de6@@T-0
zrt(+;o<3foeP{Am9j^dubwM6m*#A~0k8koR2@9|Vd93m5wFP;+!ce92$~@n}z3uGF
zcFy~6G4Gq8-JI|!!)ea&ewBH@1FW4HuI}VB0MBId?HQTuz;n#Vgf(}aEplVL4nAz8
zxH#FmSkJihlGxz2Ud39kVy#Waq5cb5e}g&k>V#v2m#uw`aO0Q61*UKvU#^3~#f-vr
zP`JeXl*081F9|QB@ExYGDK10Kn`6?fO#vI2>J_B+6{h|ge^olKiLcIm|1R_M258>E
z+Np(7f3o{jTW^T3&CY^<`W|^Jp}?y?zxR$*;mOXqAwM^&-}YiFceUpNu*AGA!$IFR
zZ}nn1JpT&@edq=Q@0{G=sGLuM!z{ajf7t7Kz4)AB#;AUOjvo2W^CHj6Kb)5cSSH}5
z92i;bk?%xd&uaUDcm6AUw+)Jb=j(+3GU30l7slS}hy(EZU3Z8O@W?{|XnV(S`K_=g
zqH{_f{=0?-F|{8cepvtd>7Sohi3CBnzMq)Upzq0~<T!rMj~z$SsgiQ!#c5!c4H_4-
z7$WO5s%InTBMPNSwKwQGap({<DbWDEIML&<CFx*^8B>gwv>62b`+c|N$@gNfO9Ox8
z-3<f3HB8F49`_Nk5T26a53!l<pqmt3AqZ2_mXpex#NK=U;ZdBFxc?yROX4axFGL#t
zC2>A!-~btscRiXQO#-hY06HA}oI?_;(>e$r+pDdCl-TkE?{U0~sCnp#qzDF5K9F1v
zd(JbnGNh&H2O^X#Pglie;-eJcKBlvzfR&F)b)2*fD7%rQd3Iw;=^)LHiY;*E5q46}
zKP5Fj^t-#*EBHwgOxCgFGbiFrKl5R->FI}j({mdl4dtC@ba}HjaWn&DJ0vAZAvW)V
zbk-qtbtXpu>qsf=h6l}k<`V&vrB<eyPRb23hosiel04_Yl}QC;GHD<cG9oW%r&?JE
zICr#HjzZ~=!d~nKPQ=<}uRa61_64x(b|q(SFe`&&&P8V-*;30neyTw7w@G@{8F?mV
zfK2n%^mWbV5!T6hg>~}2Gg)T}nXEH~u%gO$Xq^kpU7w`ya;iEZ@a%_-PMK%);3%HL
zJvmM*aHGg^o+_Wcv2zr5y`2L;ZXpl$cHZ`)M{(HSq2=H@VosWO`ooqCTds_Ea<_;K
zwAmlZZ(u{@i=zKTqo@_FpjOlZ+LBsG-@2h{il$)nKZd@leaT2KsY^V+lD;(>mq5w*
z+|U}?sHWD`X}_UW)P}kVSWU+Y__sv={!f&6E~pZ{3Q-_R2GOAPCy?nkT6G=pO`cOz
zH}%oR96Kh?vqhm~@<)BL?Oi<4MKp+2oGl|i;7pk#k%~y9jeco8Jo0+p$DXt@O{Xk9
z4ml|&`S3ku+d7m;^C?khA4c~9O8f)Q3fr8tTlfQk7!D$8rjY@`;V3+|ju9GK@xTp&
zA>9J3W4a;aRB&<V2~dYiL|1w_G52HFhhYX@)7slIQnRa1ZGc?-Hjb7&*AM%Hz>U4k
zuObExoUl*VspzRH-v^GompAvR_q%BR5>G@9TQO?t=)xRRr&j+ATWJQf^(HzKwsJD6
zrPmRL>1d5p^GwMS6Ah`*3`C@?KeX<7-SA_ur#G~+KwyD?(#O?_!*I?e3qBq|Vim#-
z$sy-cc2uj4OV+%6Ql=973i3^CH!)j*=Sq2l`lT$sMJX4JN8T`!AL7d*vpxXqukb|V
z9~Gklds|gUFV8XTOGGfoK~l<`gWtqpfrI*)@&s1^D64_i9IKa@gT$|=+UW6ARq3)h
zxqtF8=>`h-jIim6ZELb0X2=YKa;6cZqQ2Mi+kPu&d9HDm-?Kcob(E@Q%D~sLTltV0
zW?ywCaLXSPn3VCU#`>0+yr)G@ejgZrgD0ZAfjOy;uFmoCHwXOxFE&aWOG6(>htuPb
zX2{>CCO?M!0~#(E&0B!|J)SS!{X*<;T505;+dU~jt_0UGm?!~@p3R8v^Bo;ZpyE!i
z;WiFsI4z8IGN;UV{vF0cmICvcssabY)O2#!Wg()&olTru*lSvE20^X~3zOLgS#EIb
z4$+;spp>K^Z(9*LM(7&;Pn=p#sxydUOQyRbCo0?+Iq{^x5gv4)ofZP(6xKf)Mt;i;
ztbDgQF+ZkkgLJRR8kdTQwUG1TW!^aFhkR=J18|bEWzHqxFxm0_gn%ablwo3~cne~s
zEaD&Wq~=|Kc_WyOHs{nb_qua(q_mcN0=vUMMdvrm5oWEAz8jlk9k(u$X5q9*vV}x-
zcAlkE;|!90q|1BwS~@KYm1O-;>1`WITzOQHKUHyig7mc~<QfP=9~&1Gfrl`EPw8nt
zR)mR|Rv7)AbsuqNL9$Kjy*B%UR7w1(cQv+L3zvoi#Ims6ricc&Fo-;vOQG#~;=pY^
z!WRTBAOFb-TZ5k4YI*%M05ZL%^&?D{$A08NNw7LbIhE;72C*ObBaX0GDwp~f=&0NT
zM@NkhvXwkx@j9PfzKJ}uXGQTa@P2T$6$YVv9ZDyD>*^by6>sj)$2a!2s_gJnonceI
z1!{>A<C>9}?I3jHG@xc$L}r_6$J@Y@4k1@Qr2E1xDMPtsPPIw?5n;HDftx@m9U{8u
zEGTFEHJ<1)8pR~7s%RS0s)n}2k3lKV=L>p9+hAVJ=^14+Iv&=uC3IrsGO2zD4f57U
z4>>Scl+{mI+wFgcDIt*JTCi;e?w|*UP7>^q4Wc+Js4OYGwmS&oTvT)zCKSr1HCoEa
zG&{Hv?`>&`7Djd%IjW3_FmB!^E*iKNESS~1*yn%Xi74bL#%TTSBwkSx3qMbrojWE4
z1-i5HG5-Y}GN<U*qth6N721jRXN@OnOqm2s<B9fAc}>|@?kP}u7?eZU$T(2cf-!Kv
zAWZISZ!15!Nd?WZen~;UNd{ynouVk*K$hqfQ*#=_oKl>zaS4_7Pubai^x;Q$@V(Nh
zp4RZLXVfbwnsUhz2KsFns7A$880kM}Mp{O(llD^(m9YsUt<D)~4MMAruE9u=&g2|s
zK~dtlJ4rehisO(+qq&pgvqTbAK6ppI2yV$0G+TP2Bawj{92_|4u%7zc(4f)M58VJM
zQWu6q#SM8tb6RNjwpQfJcqc~K_j-vzf=&#Wh>-6QnC?%vdX$I?HVjF5i`=45dVdhh
zZ&9yEbq4&HAiqZ=u2MMg>jC)=6go&<lA=IqM4;laeCPg;_TJ_}YF>pjYf#%sX_7+A
zfL7^Jb41O8dff)>zwktqbtpywwpGJLp+Hv(TtsSonK58t#^<F{1DA|d)xc#17Wa%I
z(lvQb5$F8+uRwkzAWWshYWQ;%Q5wHFT%wx0DxfM*EmfF!lV2wFgrbePqRVP#WNJoV
z5yN9rH|m$3gOaT)Clf#ahft$(hdlk?W=cf0;3_a{9aP@&Ue1)ScG@^YBmiXPbTw5&
zQ3h^_+k72SPHAV6p#r6=j{YgVnY7^y=z_ra5t0+M;&^fmn$0cY?xp7nRJcOxVCvAR
z$~2AQsfVH59KYZon-79%>`C(p3J7pL$No&>A^a%IN$`nWNJ{X)BNvwLi82)=9D_bG
z31t5iohIc83+0KX^$z);gCJ}@n$Z{X&1?;F4ZR0kY24dd%TyMzoL#?c6WS}(+(DC+
zut)aziH=)7D|uq3RW|chw;vDLNLbrtL=!601IU;FMubZ|+l>4O<1A<-1_Dd8xV;5+
zrui3PrO_316hlJ_LU(Y43-k)=>gOfB0p)HWjMOkLsH4ks{*-h$x3{eoswwvH>y+ap
z702m@Vt~q!lhhoP4c#F7Qgj><worDYkis<uz86Zm??_73C1t!^W#JM?Qsc@*3qN`t
zg+h{pmt=<N;p<s}qvZtwXim>}mr(9gvy6t;;+Tj6gSq-A%B51VR4LJ4wX~tB6|?kp
z#@pIRmhTSt<JX$`Z;M>5;~FW~8M&&+6-Y@{Gg(4|AM3I?yP@>53MhlP0?MUKyKr|%
zKS**7Px>@9q~?#QsZ+!Jpv}&lg3m*zNJ=+Te!f9rIifPm6^-f`^p7M)ZB74QS}+dr

literal 0
HcmV?d00001

diff --git a/pycrocart/__pycache__/ParameterWindow.cpython-38.pyc b/pycrocart/__pycache__/ParameterWindow.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..7f221f45a6ce0b13891ab30c98b8ea94e2255fd8
GIT binary patch
literal 6345
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
Zbum%mB?{0XJ%XITj!gb!sRDiae*kG<Jc<AS

literal 0
HcmV?d00001

diff --git a/pycrocart/__pycache__/PlottingWindow.cpython-38.pyc b/pycrocart/__pycache__/PlottingWindow.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..0b18238ad6a376e9e328a04312607b321666975d
GIT binary patch
literal 2405
zcmZ`*OK%%D5Z<>}vg{aXn#MtkGC&YiXe#&6lVJo&W1tTNM$k4*ut2e(my|?%Um+>m
z64aAjB$pIuukFD;rhlWy-g?|?FV$b@A?^%UQXB!Hz*!FYakxA4%}|e4R+<*H<gc&U
z4H*4{%Ejh^au>R~1%g@3POZo`PbYG}u$aT#6N|ar-Sdv!$Y=JqR@<8Z*4jx>UTpqU
zQJ=wp8#|H1?8s%y&#bP^0=9J0h&=AYFJR&CE^Dyni5D$Bvpg#b!E&oweV7(ni@f((
z<g7Rx{n;eYW|QR5%#wi?sTgraC@F_ebx+c=PfFMc0M_H0h@2FXaY=MR>Q&w6##CDL
zdSIR$P$}qc$`#Rls!5+7aI(vJP83ghqQUm=5SBQZZK&r(k&}$)17oWzi_Bo?0Tn4)
zo1>E=?}}c>z;-6+nF+dj!ayVeh*`rib{D$(6@<2qtv!2ekKM6128X}!Z0oso>R>3&
zoaxwO{(KB>#qrpAZpAJOL3)7qS>w#cSr+bl@@E~KF0tm=={jdNAi@Q`VFI+wS|_0f
z)Umy79V2d;tw2~->8fp6=36itU*$pziUBY_$7oFhbDPj3u5J_X1yA8gb4Gf+$heln
zPIGQxv!s${1SHS(CV6O{)6gw~@<A4((M_^5$aW#3MVBzDsX1v84AIy9O|s3qbdVY{
z=st3x6i4tri|9TVy*`{jgV*}o@vIb^a~o~13hEE2d~<9S)cY$Ja8a-eG%m7H_?^f&
z`AD@ZFXdewHST3)D)fNy%GE_Vy82+s$M5HSM6yfpw^iAP;$PrJg37EpFla!32fF$a
zM9&&qKivHhqO}J+*~8?uesack*I7s1xu|PMW9^>$WBbfzHgjG8r(U?fI8QxH>zxT2
zZ`*RoJR-N`c{_+aOsuMfGDgqGN9v+BRFzZqB0t-I$nz)^xxQbdg={;O)A_Wr#Y?;L
zAa}Yit^e+B^nnW-yFw?Dj`+qlSNq_Ejh-w9Ia8WyNUx1@n8+fbQg5IqUe|(7Ijovn
zsZcs8vhq$F9T0*D9Ou<d`||nd;{|*i3t(y-ceYZnm#RB3nC;$yTH~uh$z>JJa8anZ
zet^`C8u5&GQ7aip<Y_E4m(dD9KBvik{mPY-myti>vQY98yoy`}QTdYQJzgyvkHPK(
zuG)dTg6o*+Q8=@094+x1B!(0`)rjLHrAo!I!~n~yDAqx=psV*mSj$)JmiYxv;5MDm
zU9;EV8NBk&NAJDG18uizio6`u0jw_7V-3^<r)TACksb+^V40dV9OEnBhpzqxF$R($
zae!bh63pm8qFUdwpll(+#Z}Odj&GttyMT5K;x!tqu3M+BnT3M4aLQcAa;Lp|?>ZDJ
z=IvYZk1-ZKpLw{N-$d<A%(XZ6Ac{Fa`(X4NxyKmE`C(mH;L5<dkI^IZ3NNu#5G5Gz
zkVp0Hqu};YebLqPny@?QcI!Kb300<aXbg79{UTRdQjz0j!^sn32!eMLs#AUu49DD5
zebIHu1ap69at>{RH@PVcz@|CdB$6Up0$OfEZdPtakD>->PrgACw!NBnAL3Sm;s%O$
z=K={<Ee}daY#!q$e*zQg8VGBN*sBiq>-O5Y=Uui}U7+6i==uW5E^Kc5I}$IlS|EEQ
zUVZHbCRt819>-NPj<bRdQXIG9`00SA)0L$-W<>(jN5WTrH!Y~HTqr2=7EY{8b0gtt
z3ZU2D@ByA<G6m}w9;nb&q3s2$H$2-pm!_@-kq?Pi4&`-Nj2iPl4ss3kCVtgp^Y6jH
YFW5IH8ApX%^{d~(s3`ot&<@@I0V#Zh<^TWy

literal 0
HcmV?d00001

diff --git a/pycrocart/__pycache__/PyLine.cpython-38.pyc b/pycrocart/__pycache__/PyLine.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..47064fb5bf7b3b20575ca19bf1c6ce1e4ed2843f
GIT binary patch
literal 1348
zcmc&!&2AGh5VrR($+k&L`K^S|UL&F8gwz8<91v6ps)W!Y<zj8uPUCd58*HZ~5w}+A
zYqZBc3vb{nr@jIgnAvRGsN%)}NB%N1yY|d{-z2;BdPra;Ki>0mmyn<6EH4k7*Rb^#
z04IIIDR)vjcKQw_?+ACfcS^V?oRNFt_C1LBJb*}0MtolBk!E#12|o{|j^ucfim}Ly
zj)XKrp`th%=1R`<%*1Jw%1k_ua*Q4cWn@yuTG6f+gJ~KKauvp$%j_UJl3MPkBGO_K
ztJugqi)0oZ%Z%s8x)okQy`)KPt!utWejtoaFtWVd($P=B5Ts9`Kj(}LDE4?-?Yn2h
zBYh9*ckOz2yLXf51C*K2rK`|Jrtn7n3BZsOa!xM@CEv-p!|4SrESEc_<r#kzj4Gv9
zExcOkh2X7>Rtv0O0MDFY4Letu=IQ}JvtfNbod{*CjLA$I#_XCF<|EkS=@=R|L)(DB
zTlr1!Z6Oba#@5kS@mTbRF&uT^9vgIvi1oLzr^S)-6`;`uy=itRvf^k@&P69rWiqoX
z-6f~iQDPvJ65LkG{Fl^vTBHN`t}&LRvDS=Tl3!cxVLle^eQ6RE&qe!<(1#|Uv=3B1
z&A2v&itWiPQF#(8)9%c$s@7ztDp2eSY>nL$8Wx`hZBUN}B>3$)^Ub>gwXT`D^pT|u
z8V8m_#>P3Hrf9D+_H`Pkizh`2TQAE^M4B?D9z(JPJVfgW0%}}?t&za0Q~3WlT6_O}
zw3Lsn;RrVyDnJ_<UyKZn&|;$2Z%1q~Qwsk)ib+zaj`jCYFjdEB17Qte9bp6E9>RTu
zg3p59f>g|ghQ`;H^$lsM?j4S9)K!~s;IBeGg9ndbUkio)PBX9-#(189{(fiHH7{<<
eFQioX+R}YDHQMUS#pJxgpP@#QJb%^QsQ&?5LP6I6

literal 0
HcmV?d00001

diff --git a/pycrocart/__pycache__/SetpointHandler.cpython-38.pyc b/pycrocart/__pycache__/SetpointHandler.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..145d67410bccb129d9e6e616fc8a967e0c87b7f4
GIT binary patch
literal 6591
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

literal 0
HcmV?d00001

diff --git a/pycrocart/__pycache__/SetpointMenu.cpython-38.pyc b/pycrocart/__pycache__/SetpointMenu.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..618ed884b9ac957d8f2be7d6d293c6ad9f9d8e21
GIT binary patch
literal 6949
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
WUjK=ns}C{tdhTyvS8bF#&;DPEtuL+s

literal 0
HcmV?d00001

diff --git a/pycrocart/__pycache__/uCartCommander.cpython-38.pyc b/pycrocart/__pycache__/uCartCommander.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..c02a45944831533fcf0cd01bac697baadc30a149
GIT binary patch
literal 7995
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

literal 0
HcmV?d00001

-- 
GitLab