From 0fb76393ac711a000a26f2bc57f9be64f08f3658 Mon Sep 17 00:00:00 2001 From: Tanvi Date: Wed, 27 Mar 2024 19:02:03 -0400 Subject: [PATCH 01/12] check --- CTC/__pycache__/CTC_UI.cpython-312.pyc | Bin 22579 -> 22579 bytes .../OccupiedBlocks.cpython-312.pyc | Bin 3544 -> 3544 bytes CTC/__pycache__/Schedule.cpython-312.pyc | Bin 6174 -> 6174 bytes CTC/__pycache__/TempData.cpython-312.pyc | Bin 2316 -> 2316 bytes .../__pycache__/TrackModel.cpython-312.pyc | Bin 34021 -> 34021 bytes .../app_trainmodel_tb.cpython-312.pyc | Bin 1817 -> 1817 bytes .../app_trainmodel_ui.cpython-312.pyc | Bin 39474 -> 39474 bytes .../__pycache__/clock_test.cpython-312.pyc | Bin 2132 -> 2132 bytes __pycache__/Main_UI.cpython-312.pyc | Bin 4138 -> 4138 bytes 9 files changed, 0 insertions(+), 0 deletions(-) diff --git a/CTC/__pycache__/CTC_UI.cpython-312.pyc b/CTC/__pycache__/CTC_UI.cpython-312.pyc index b0be64e0c7f0d2be8551bfb205605f364c2fc86c..a2ae9954342a7ae04bcc0a38600d2609c3708b50 100644 GIT binary patch delta 21 bcmdnIfpPN&My}Jmyj%=GV7qi9mu3V2N`nR9 delta 21 bcmdnIfpPN&My}Jmyj%=GpfrCYmu3V2Ny7!d diff --git a/CTC/__pycache__/OccupiedBlocks.cpython-312.pyc b/CTC/__pycache__/OccupiedBlocks.cpython-312.pyc index a7bce055ba8856b4cb6a84291687851413169b7c..87e2fc66993b6d1f4dddf79c31ca21c250d4d14b 100644 GIT binary patch delta 19 Zcmca1eM6e-G%qg~0}$9Q-N<#07XUb(1y}$8 delta 19 Zcmca1eM6e-G%qg~0}v?9-^g{27XUZj1vdZy diff --git a/CTC/__pycache__/Schedule.cpython-312.pyc b/CTC/__pycache__/Schedule.cpython-312.pyc index b569dd12c1a0d121b52052491cdf450f0f6b033d..7aeff184d1b31bba309bbebc7accd10c80d5aff2 100644 GIT binary patch delta 19 ZcmbPdFwcPNG%qg~0}$9Q-N+>(0RS=A1YZCE delta 19 ZcmbPdFwcPNG%qg~0}v?9-^e8*0RS-<1U>)& diff --git a/CTC/__pycache__/TempData.cpython-312.pyc b/CTC/__pycache__/TempData.cpython-312.pyc index 2bdf12acb176f58aa0bc97e194c03e63c34b9d28..a265337614590e688188ffdf1d0c5fa2429e27ef 100644 GIT binary patch delta 19 ZcmeAX>Jj2P&CAQh00g#6H*zs?0st!@1Kt1t delta 19 ZcmeAX>Jj2P&CAQh00c_&H*zs?0styt1HAwM diff --git a/Track_Model/__pycache__/TrackModel.cpython-312.pyc b/Track_Model/__pycache__/TrackModel.cpython-312.pyc index 0ecac3fea9e41f9e1a77f055ac5446d3d901ec10..d923eebcb3e71d9d7b84c5135ce9aa0e786c5bff 100644 GIT binary patch delta 21 bcmaFb$@H|7iR&~kFBbz4*e>13b-M)sPB8}7 delta 21 bcmaFb$@H|7iR&~kFBbz4ge=_1b-M)sPNxRx diff --git a/Train_Model/__pycache__/app_trainmodel_tb.cpython-312.pyc b/Train_Model/__pycache__/app_trainmodel_tb.cpython-312.pyc index 5351d15f849ab81ea69427ce1c77a9bfa18249e4..f24c467d20a12a31bee29b16093725aaef4238e0 100644 GIT binary patch delta 19 ZcmbQqHaN001#}1X} Date: Wed, 27 Mar 2024 19:08:53 -0400 Subject: [PATCH 02/12] 03-27 --- .../__pycache__/TrackModel.cpython-312.pyc | Bin 34021 -> 34021 bytes .../app_trainmodel_ui.cpython-312.pyc | Bin 39474 -> 39474 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/Track_Model/__pycache__/TrackModel.cpython-312.pyc b/Track_Model/__pycache__/TrackModel.cpython-312.pyc index d923eebcb3e71d9d7b84c5135ce9aa0e786c5bff..ad44ba9b55e79284215f30621c84ca9581ca52b7 100644 GIT binary patch delta 20 acmaFb$@H|7iSslsFBbz4eAvi&rv(5?Q3m4x delta 20 acmaFb$@H|7iSslsFBbz4*ly&!(*giS(grX9 diff --git a/Train_Model/__pycache__/app_trainmodel_ui.cpython-312.pyc b/Train_Model/__pycache__/app_trainmodel_ui.cpython-312.pyc index 612f5345f52699654650516d0103f951dd77f5c3..650718558e6d230fdc9a8dc19fe58d137e72aa36 100644 GIT binary patch delta 20 acmdnAg=y0kCeG8myj%=G@L?mT<}3h5g9bJL delta 20 acmdnAg=y0kCeG8myj%=GV7rl1a~1$Z1O Date: Thu, 28 Mar 2024 14:05:23 -0400 Subject: [PATCH 03/12] 03-28 --- .../CTC_Maintenance.cpython-312.pyc | Bin 4165 -> 4122 bytes CTC/__pycache__/CTC_Testbench.cpython-312.pyc | Bin 3472 -> 3429 bytes CTC/__pycache__/Throughput.cpython-312.pyc | Bin 1761 -> 1718 bytes PLC_Files/__pycache__/Parser.cpython-312.pyc | Bin 2710 -> 2667 bytes .../__pycache__/__init__.cpython-312.pyc | Bin 217 -> 174 bytes .../__pycache__/TrackModel.cpython-312.pyc | Bin 34021 -> 34021 bytes .../__pycache__/Block.cpython-312.pyc | Bin 1054 -> 1011 bytes .../__pycache__/__init__.cpython-312.pyc | Bin 223 -> 180 bytes .../__pycache__/Authority.cpython-312.pyc | Bin 4446 -> 4403 bytes .../__pycache__/Failure.cpython-312.pyc | Bin 5388 -> 5345 bytes .../__pycache__/NonVital.cpython-312.pyc | Bin 11086 -> 11043 bytes .../__pycache__/Power.cpython-312.pyc | Bin 5876 -> 5833 bytes .../__pycache__/Speed.cpython-312.pyc | Bin 3785 -> 3742 bytes .../TrainController.cpython-312.pyc | Bin 13985 -> 13942 bytes .../__pycache__/mainControl.cpython-312.pyc | Bin 42689 -> 42646 bytes .../app_trainmodel_ui.cpython-312.pyc | Bin 39474 -> 39180 bytes .../TrackController_HW.cpython-312.pyc | Bin 17041 -> 16998 bytes .../TrackController_HW_TB.cpython-312.pyc | Bin 8515 -> 8472 bytes .../__pycache__/readTrackFile.cpython-312.pyc | Bin 2522 -> 2479 bytes .../WaysideSWandTB.cpython-312.pyc | Bin 40117 -> 40074 bytes __pycache__/Main_UI.cpython-312.pyc | Bin 4138 -> 4352 bytes 21 files changed, 0 insertions(+), 0 deletions(-) diff --git a/CTC/__pycache__/CTC_Maintenance.cpython-312.pyc b/CTC/__pycache__/CTC_Maintenance.cpython-312.pyc index 3a7834645ca51a9f9fc7acddef206274bedea82a..35c8a2713ee5cf6fac2513cebf0cb89c33a12a26 100644 GIT binary patch delta 72 zcmX@AFiU~!G%qg~0}!z8-pF;2QQt4wDkiizwWv5IBr&fnQz0z1C^s?2CAB!aB)=dg aq$n{nuUH`{wIIJZvn0Q$a{QWOG;^0QKtOB7u5(lhf? PQ;Rb5(l?7UG4lZc#@#0q diff --git a/CTC/__pycache__/CTC_Testbench.cpython-312.pyc b/CTC/__pycache__/CTC_Testbench.cpython-312.pyc index 72e2c0a596420e4f1b4e891a11f058466d46e983..6ef6216cc1daa80f52a7b7e9fa8623e4af61f42e 100644 GIT binary patch delta 74 zcmbOr{ZxwQG%qg~0}wd;WJ=q}lf$C#lWY|eTAW%`921h5SC**|mRgjX7~_&!oL!P% c5ED|An3-3s5R_VwUz}NzUsSpI63adg0Cj>IB>(^b delta 117 zcmaDVH9?x^G%qg~0}!0s`zLiHPYz2|d9qbZXmM&$aZF-TQe|$8e_pCfQD#}Hg04bn z9*{07&Mc`^$WK!U$Sf%-PAV-*&xkQJG%*0m2UixCq~;bYB<7_k1Qg|Gr6!jsxaOs2 R=B1_IlbDoLnH%Gum+DfKS(d7xs}Pz8 zq>G9(ODYxe(-Zp_^U^c( QQd5gE^U^o_GRbiO0M0%qT>t<8 diff --git a/PLC_Files/__pycache__/__init__.cpython-312.pyc b/PLC_Files/__pycache__/__init__.cpython-312.pyc index 08bcff895772832a2a9c1e6efd0203f7068d63c7..fcae52759362ef0817a4ac64119d9aa6e3b05faa 100644 GIT binary patch delta 70 zcmcb~xQ>zgG%qg~0}z;Oy*!cISl>6Qa6v+{ MsYRK2=@WAu0Zn`-1ONa4 diff --git a/Track_Model/__pycache__/TrackModel.cpython-312.pyc b/Track_Model/__pycache__/TrackModel.cpython-312.pyc index ad44ba9b55e79284215f30621c84ca9581ca52b7..bd7fcd14131b547618537745fe6d3c3453ebe9b0 100644 GIT binary patch delta 22 ccmaFb$@H|7iTgA!FBbz4sBC22$bG8?08+39&j0`b delta 22 ccmaFb$@H|7iTgA!FBbz4d|1k|k^5E)09W@1jsO4v diff --git a/Track_Resources/__pycache__/Block.cpython-312.pyc b/Track_Resources/__pycache__/Block.cpython-312.pyc index 554b40f6a3e624281256d4102e09aad2eb545b5e..7617da99ed5643b4bed079fddfe6e41888d4b250 100644 GIT binary patch delta 73 zcmbQo@tK|bG%qg~0}u%0vuxx}WYP~vwu%WYPAw{q2}#T=%Tx$UEy_)daY-%CF3B&5 b2`Ng<%qvz1N-fAQ&Me6Qa6v+{ MsYRK2=@WC^0aWlO8~^|S diff --git a/Train_Controller_SW/__pycache__/Authority.cpython-312.pyc b/Train_Controller_SW/__pycache__/Authority.cpython-312.pyc index 7093a8caf22972fdff016e89beda4cce9e42072b..2f38fc6ad716d2e31d3a22d6f456c878961e8686 100644 GIT binary patch delta 73 zcmcbov{{M!G%qg~0}wE7WZlRe$EY8XY!wq)oLW>I6Ox!$mZ=byT9lg@IlbDoLnH%Gum+DfKS(d7xs}Pz8 zq>G9(ODYxe(-ZW3v;#e^2878S>YB<7W6DuksLZRB!hjA~4_iU}=FEh>&lOiHTEjq%S*bt%d$OI6TS2+af1 zMa7vVl?wT33IUlVCB;dlMd=wahK42vK>6Ux;*!+dVui%K6or7I{H)aE5(U@1^vt}} O)S}G1^vyMlslouf=O?rP diff --git a/Train_Controller_SW/__pycache__/NonVital.cpython-312.pyc b/Train_Controller_SW/__pycache__/NonVital.cpython-312.pyc index e7e5a51bbb25d4246a69ebcf378c110655ecca41..cf6b216b5e054894edfc098c213fb0ece9cc6a3a 100644 GIT binary patch delta 73 zcmX>Xwm6LYG%qg~0}wE7WZlS}!=xXcY!wq)oLW>I6Ox!$mZ=byT9lg@_L7T^<>c delta 116 zcmZ1+b}o$jG%qg~0}xy&V%f-@!xYt&Y!wq)oLW>IlbDoLnH%Gum+DfKS(d7xs}Pz8 zq>G9(ODYxe(-ZcaY!wq)oLW>I6Ox!$mZ=byT9lg@IlbDoLnH%Gum+DfKS(d7xs}Pz8 zq>G9(ODYxe(-Z~bgq diff --git a/Train_Controller_SW/__pycache__/Speed.cpython-312.pyc b/Train_Controller_SW/__pycache__/Speed.cpython-312.pyc index 238abd6e0a5fb94503593fd55e02ab4b3afb3b58..5b29943ef04ac2aea3c44542b239a97c7768abd6 100644 GIT binary patch delta 73 zcmX>pJ5QGTG%qg~0}wE7WZlTE%BUZbY!wq)oLW>I6Ox!$mZ=byT9lg@IlbDoLnH%Gum+DfKS(d7xs}Pz8 zq>G9(ODYxe(-Z{QWOG;^0QKtOB7u5(lhf? PQ;Rb5(l-kUrlE+82`Lfm!izFR0Umy z&^#brRGe8-sgR$h5Rh3?Qk+y;l%5e|XlP;pln<^fE=kQTR!GcCQ3xo?&q_@$QE<&m S&&*3rEy~PG-#n#=$piqCbt&Qi diff --git a/Train_Model/__pycache__/app_trainmodel_ui.cpython-312.pyc b/Train_Model/__pycache__/app_trainmodel_ui.cpython-312.pyc index 650718558e6d230fdc9a8dc19fe58d137e72aa36..57508ade76ff83782a9326c08283f02ccafcbbc7 100644 GIT binary patch delta 3258 zcma);dr(y86~H+QdjWBID6qVj#|o@Lf*2o&B3c_I0+niFOr~xZ_5!QygKzKhl&pY{ zC?u#SCN>Y5)^rl5X{%lns~tOHjHFc?Cu(gsj-*Lz$CylgkZKa!^gG{$#7No+fBg9N zeCKt~x!<|p{sX$+{W`-*gJE0{|1PzCTT#uhr^cWPH* zAxO_tz@OpaX^Y{68vMY1fEV$N>4nCAF85N6($iTv>FnlcGn3OOucOXoYZ&$VN7X!I zC3$^fW&^yZUY$AW^;OI&S_B`eYl?)|wBm2^y5}pe*ijq_SJmF)!#e20MI{BW4O>cP zYQ^lw*Gr1wmU_LUM;G@iZga&(IsKaOBf?(XHb23>grgh*gB9z`R_R0Zi8o@^lV!62PGZQC8DPQUC2f5D#*+Dv zuijqL4bn+6I*y$cvEfwTK(JR~xT|6-OjYl%+zx599~kendA(M>(ldxSM6h&f!Z{%B@U8VtYaE$OK!9+MsI8O-R-W5|ITfMYmOJsz2s7WN=jNaO%5WwTLd2n96Ui*R$ z+SR8V(?g&i-*lG45sY?SgcSV5mB}U1?(*0n6A6Rp^IXyl5;TKVjhSN&5^JI15%ilNJi^CJlbwTf2#ynabxS?6m5g=24ZWN+-$9J`&^3E z?NdBHg^yA30*}5;O*pi6T4;?>`6nJ|8^rfJ^t`d1?ejpwfp#+t6FvMa z$gVn>{a?Qf=lSDsc&!<3V`9gkq|=hU+%Xs5-e{8Qn9VNV!NpI!ldJ8J>nI`pABlG1 zZ#GTS>;SKCD!^C$2lo%y%UXpzSl#53))ht%z9FK0E?bJCEemeKIbC(%+QMkeT(_Et+j7(o+c)T zMw`pU&tQ%0lwFGV?t+kI@4Z28QxFSoYf8lzw~mK7xM%BZ{{X3eHO2$MjYIq_yucp;QgbKoP!b(C3p@{H3f|%9QX_ZgNBUlKN2swmQ@N;I;vVdTsz-hF~ zA{YsY1RBCDh7d)VN{A!SfMcu4ESy&32ofQb5KIUmh^qjdI`#$O--Q2gR4{tO84zxe z@Fqcg!ak)HHHNLBU8)`%B)rYx<)WZc?F#rY2?^C|{`T=Y_!x_y`2)C6+R-hEy#ego zF~cuvDZYZ4WFWqkqO>BKsIQ17>ML$7qR1k1QE3mEiE@j3j;J}W-$=Q|jYqUV+=oOT z#HC2IpfHFkT}#?U1aXBDec4GrMRUY8NOVZtfJ8?MXg8IfUtEYptHiBHG*MiQL?@4O zy+DY!-rXDsky{)}Krgq*HCFZ!*;f#v%Q-&}o8xrbeGPI6>%p_nu8*t?fx?|jhJ)z; Lt!h<%?zHZ|E-#FB delta 3311 zcma);dsLLi6~MXc?#H6+iaZsN1(tU}5YQk>fM6{eKom_&Tiq=13EM2Y%eNn|l>&l~ zh$x0@Y-$>tgUzFfX#-zQlcv!_PmH8KQf;Z24aazr+EeW#R*klrN9WE5R-rv7`^Rr* z?`!VdnYlZ?Lz^^bdXW@B@6nr z&3FaytT71BF9;@;M)pNvy=kqsOwus*WgyTfS?4vlMMq7AOB8Dg8|6A_9g}+Jkjzr; zthcyHVUer6Gu*N?A-6I+r(}~`nH*E1wu2Q1qoNDX>;1>{;b-;XV|vqBz3Dl>QGE)R zMV-}0jp@y2_2!=zy)^UC>QR06bh+Q5GVE)K!W&UHph3B8ssgZKNsJSkl(%C{0G&7< z+b6hKc2Wa2nDd|;e__5y5Q3F)Ny2v0H}@xs__w&(;KI-2N?<2mObo$|@vZFl`S_L4 zi?IoN*my8urO-$A-TjFl0WvF+I+M!ahsx2UEMPybC2xWQN@dCcfajDO4=e*XfD6+e zhL;Y>X&T`f=Ik+}H7*qQrW@cjll=}7DpDN0S*~~pu`D@W~%^L3h7R5M1;K>|iqh!4|z%Fi*Ej3Q3}!F_i^Vwr@8iXliy;ZaR(aUCe^nu*DWj{p!Tdfs zjgXVETD^-kHn+=eZB=Vddxf5oy^x{ID(#0TGWYt|TitHUG&|`%{B_wH$WaWd3m}yT z{x+HG)C%%RbS}x}kdt-NDz0%kn?*@Fht1_BP@o(u&jo?|y@%ShNy5j>M*0vl*Ooys zZdrRRjO+eH(n^M84UZyS!k&s8SgpKM;hAv%Ef%d`WEdqIbtY!BZGAPY!^`WtOvfm| zyM*He6X6VDj4+NpkETJq^5&yG###KR#*?@gOT}^+$Ae-jj43C@XEfkZYU>thVE~`C zm%!V2#Xhb#vBu{O6I*bLJ%TB&)R*}EhKZzD1`OzZaTety%_ETs|LHJ?4Y1$$-O+HS zV|Tv66@mp$BOJ%o&I_tngzA;!ik*J5BQaeHH{Nq-<*F07&-KQ1%TV0V5W|i@N5jGC z%3u~I(f9W>Q5qm5R^zY~HQg)_uS#)n4ny2yYK6ko)NZ+BVLyh;%fX8l`An`VW;$bstN%xy9Gx_Ff9IPAHr+P&Fi zpvEX~4erm)Ux9J7U3v8#o)n?MMte%HxobUJTs~K)s`6M{o$5Gv~4v{7#K0N>l9kH=~%=syYj(jqMBOYI?+~J zCkJA6_wf}KYz@g;=_@`3ttUX${+|W4O} zwi>xET*G9=Ou?>N1iseYYM4l1!q~Mvp$bl?0)%0;3F z&V3E+4ik8i`PF1e7_1HlyI$2|z37maVs~F|$NlZsJEK9amI5dg&$5atR7-fAU?oL8 zjYXx~~*T2qgp) z0twj!>P!-~9*LTai#vGT_&-%FIh-NzGVk^3|+FBbz496ipkk^47?enhfWOlWaxQE^O2VqRIMLRe~1Zeol}YH@Z+ denCt~QDSCZu|iO4L4I*&Nq$k~<^)bdO90Fq8oU4i delta 118 zcmaFX!Z@*&k^3|+FBbz4EI!1zk^47CRCBUbOlWaxQE^OSQc`7ZjDKFLOHpQ7s)DXU zXdaL*D$XpaRLDt8Z#LyLv;+Wh*(neJ diff --git a/Wayside_HW/__pycache__/TrackController_HW_TB.cpython-312.pyc b/Wayside_HW/__pycache__/TrackController_HW_TB.cpython-312.pyc index 6bb01f61c89d0c0ae9ef07bfaacf834a0bb7e6c0..5af9e27e1e82bbbfe95db1121af5c60e2dae0c18 100644 GIT binary patch delta 73 zcmX@?G{cGeG%qg~0}vcN&ajc&m{UJG*(xTqIJKxaCL}ShEK?yYwJ0|+#wE2lyClCL bCZs4aGp|@7D77HJII|?bsB-fR&eh@ob3Ga5 delta 116 zcmbQ?bl8deG%qg~0}w1e#JG{$m@}#^*(xTqIJKxaCNU|gGB?IQFV&?evn*9XS0OYH zNEa1nmQ*U_rzr$vmXs7Hl@_IE#26Zy7y#viD~n4~bBh%c^HLN7it@8klS>p_^U^c( QQd5gE^U^oxa;_E!0NhL{IRF3v diff --git a/Wayside_HW/__pycache__/readTrackFile.cpython-312.pyc b/Wayside_HW/__pycache__/readTrackFile.cpython-312.pyc index 6ede445284209661c93991c6e4b00b7e451c7f24..b888ca3bba7a9fc69a954b7cbbf1c2092d38bd83 100644 GIT binary patch delta 73 zcmca5yk405G%qg~0}vcN&ajc&noU1A*(xTqIJKxaCL}ShEK?yYwJ0|+#wE2lyClCL bCZs4aGp|@7D77HJII|?bsB-fHHY;WTWU?7D delta 116 zcmZ24d`p=7G%qg~0}w1e#JG{$nk}j>*(xTqIJKxaCNU|gGB?IQFV&?evn*9XS0OYH zNEa1nmQ*U_rzr$vmXs7Hl@_IE#26Zy7y#viD~n4~bBh%c^HLN7it@8klS>p_^U^c( QQd5gE^U^n$vRN?$0L3sTh5!Hn diff --git a/Wayside_SW/__pycache__/WaysideSWandTB.cpython-312.pyc b/Wayside_SW/__pycache__/WaysideSWandTB.cpython-312.pyc index 0b6d2526fb8c85f2e19a76e08994a7442d43d7d8..2a5faac47a5e4d13b30f4e791cc1bbafa0c03cb2 100644 GIT binary patch delta 74 zcmdnGlc{Sb6W3{8UM>b85Xj%iCB>>Al57b8;NH2BONuqBKG`ZJv^ce>I3_VEsWLalKQGm#D6=e8L02I( z4@egkXO>hd-1t3KTkj0B& zLs^sO@yIdqOXU}pYmwx6)6E#+~O@x%}WU`NKH*~EG@|>5(bG0 z7o{erW|pPGh2u+dC-d<-Fvd;x=QT9A!lC+sje(Q*I*05<4%zD*+7~&ruX7k*P35;B!K#LfGxHx_C jUj6`iXGX>Z#*WPEe99O3l)o^5xgSE9SQ%N0bbzV=-l<1! delta 128 zcmZorTBX2unwOW00SIiDvZQU`*~sV0!`L!8fLniZGfx;#C4(lD-^>3%pvf{hmRED~ z7G4KN!^vNH4VkZUs7?;!t7KH3e1T7ynVD5>^LM@pj9kG$qZom>ICb(wfdE+tMn<)c Z% Date: Thu, 28 Mar 2024 14:10:48 -0400 Subject: [PATCH 04/12] 03-28 running main sim --- .../__pycache__/TrackModel.cpython-312.pyc | Bin 34021 -> 34177 bytes .../app_trainmodel_ui.cpython-312.pyc | Bin 39180 -> 39193 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/Track_Model/__pycache__/TrackModel.cpython-312.pyc b/Track_Model/__pycache__/TrackModel.cpython-312.pyc index bd7fcd14131b547618537745fe6d3c3453ebe9b0..07dde90b520aec899f67d1d584406e5d65077efd 100644 GIT binary patch delta 1636 zcmY*ZeN0nV6z5#}@%U&vKFU|IwiakB2*SbufejRdF*8L3EvN-bm1-^U`j9eO#F;EQ zoKBCK7~@x_o47dV?p)@w&ABBDnM;%@fmO5V7MIOAmmwxg%-rrRYzg;|U(WfRbAIo< zbMAY0caiObM14i2iVS1tuk-Q^9|X>;OJiX#E{ko1YWy>+xWEtoFgxK1{Pczm!;9AN zpx|(KI5yi|o}jYLvFOm0nW1iAVX>Cy00Z0|XH7iJJvD=YunA4vxW+K5Fe{zaJ+1JDP&6S#j|=)yK|d~- zMg`N!C8uTQ)WhoQX$50KAtebL0nX4(iDrOy+@I737pOWp1r%=fG_eD-Q=WrQs3#@y ze`Ziu0$-v!xs=LNUjy(U&PjtV{Af-Qd`&0kJd(jA{xZ*`=;i`jFvgUw@Nu&XOH7Mk zg7%n(K-J0^>+}nYK1@x|gDJW^o%OI5dorq^6)$Dfz!Qu#cfc?P%%y528~j5#t6~!n zqVaOTO40!zm~)g-EFxL}FPr1>Q;Uw%^_HbX19-$z%)OwciNpaGSVNv{w{r6Vw&ATjBjcXr)j~O4@$?iJQdo_Z1Z9%bCxw=G z2l6>2<4E~(*g=yP|4dlbKNZ>F!|ci`*hRNi=D<=NYa%FfyS!5Hsf|vluG8sowYV4a z@60RC<8Rf%WgHyZIG8vr;jo57BZm$6+tMsBV^UQm>tlV@p#(pX%M&KmL~fjn1O^I) zyl66ss;Z9(aF(83QO28ju(AQJU}fD&X5XvZ1Xrj5&L4dbap? zZS%o^-`O6)IKA5F=he&BC9!~WT?vsB`sO+lr0^vKV>>%~oFe;2baqR2uWO^H#Vxkt z?e+N)8usCcS6B|-Y1W~^Q4=M&T^^^sqg!ID-D9sI$pnM;gG^g&eu2y-c&T|bDm3Hk zd=N%F+)_c(3EpWLW;uhc4J3=;Ppw1D@jDtK^0@v@u3u}ms?wS9-(Bv+n6^4)A&;{w zxw-9k7@{`kX#yEY+E0*Df~VTwqz3q$nSK0u zXZxy@-^{di*__EKi@!p7Z8mk>U!c4(n~DmQD<@`C1A$z)h3^Lnxyt=Ok@Cmcaa(_} z^6m_ExL@K~G20SI38B_)Hh_D$V_+@(inj+EKu-&{zXE!GH^n;~TYFcLjOmfX3V6L~DlBA7`J(8l9cAz@T{GD} delta 1575 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 From a27dc05524656a0a151aeabfda70045821475586 Mon Sep 17 00:00:00 2001 From: Tanvi Date: Thu, 28 Mar 2024 20:40:29 -0400 Subject: [PATCH 05/12] added speed auth print line --- Train_Model/app_trainmodel_ui.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Train_Model/app_trainmodel_ui.py b/Train_Model/app_trainmodel_ui.py index 8860ed6e..481f01d9 100644 --- a/Train_Model/app_trainmodel_ui.py +++ b/Train_Model/app_trainmodel_ui.py @@ -105,7 +105,7 @@ def receiveSpeedAuth_tm(self,speedAuth): trainID=speedAuth[0] Comm_Speed=speedAuth[1] Authority=speedAuth[2] - print("hiiiiii", speedAuth) + print("speedAuth",speedAuth) #self.sendSpeedAuth.emit(speedAuth) #self.main_window.cspeed_display.setText(str(Comm_Speed)) # self.send_com_speed_tb.emit(str(Comm_Speed)) From 3f9ee8d7aa31b6d99d65c45991c8ed3492389304 Mon Sep 17 00:00:00 2001 From: Lauren Gilfillan Date: Thu, 28 Mar 2024 20:43:13 -0400 Subject: [PATCH 06/12] Co-authored-by: tav38 --- Train_Controller_SW/Failure.py | 30 +++++++++++++------------- Train_Controller_SW/TrainController.py | 3 ++- 2 files changed, 17 insertions(+), 16 deletions(-) diff --git a/Train_Controller_SW/Failure.py b/Train_Controller_SW/Failure.py index 25b541ff..88c52e4d 100644 --- a/Train_Controller_SW/Failure.py +++ b/Train_Controller_SW/Failure.py @@ -12,29 +12,29 @@ def __init__(self,ui,ebrake_sig, ebrake_disable_sig): def Control_Emergency_Brake(self): if self.ui.Ebrake.isChecked() == True: enable = True - self.ebrake_disable_sig.emit(0) + self.ebrake_disable_sig.emit(1) else: enable = False - self.ebrake_disable_sig.emit(1) + self.ebrake_disable_sig.emit(0) + + if(not(self.ui.buttonAuto.isChecked())): + self.ui.buttonDoorL.setDisabled(enable) + self.ui.buttonDoorR.setDisabled(enable) + self.ui.temp.setDisabled(enable) + self.ui.buttonHDoff.setDisabled(enable) + self.ui.buttonHDon.setDisabled(enable) + self.ui.IntLightSld.setDisabled(enable) + self.ui.lineEditAnn.setDisabled(enable) + self.ui.vertSliderBrk.setDisabled(enable) + self.ui.vertSliderPow.setDisabled(enable) + self.ui.inputKi.setDisabled(enable) + self.ui.inputKp.setDisabled(enable) - self.ebrake_sig.emit(enable) self.ui.buttonAuto.setDisabled(enable) self.ui.buttonMan.setDisabled(enable) - self.ui.buttonDoorL.setDisabled(enable) - self.ui.buttonDoorR.setDisabled(enable) - self.ui.temp.setDisabled(enable) - self.ui.buttonHDoff.setDisabled(enable) - self.ui.buttonHDon.setDisabled(enable) - self.ui.IntLightSld.setDisabled(enable) - self.ui.lineEditAnn.setDisabled(enable) self.ui.vertSliderPow.setValue(0) self.ui.vertSliderBrk.setValue(0) - self.ui.vertSliderBrk.setDisabled(enable) - self.ui.vertSliderPow.setDisabled(enable) - self.ui.inputKi.setDisabled(enable) - self.ui.inputKp.setDisabled(enable) - def Control_Signal_Failure(self,sig_fail): diff --git a/Train_Controller_SW/TrainController.py b/Train_Controller_SW/TrainController.py index 64282375..18e53a17 100644 --- a/Train_Controller_SW/TrainController.py +++ b/Train_Controller_SW/TrainController.py @@ -97,7 +97,8 @@ def __init__(self): #self.ui.lcdAuth.valueChanged.connect(lambda :self.Vital_Authority.authTimerStart()) #sending off signals in manual mode - self.ui.buttonDoorL.clicked.connect(lambda : self.NonVital.Control_DoorL()) + self.ui.buttonDoorL.clicked.connect(lambda : self.NonVital.Door()) + self.ui.buttonDoorR.clicked.connect(lambda : self.NonVital.Door()) self.ui.IntLightSld.valueChanged.connect(lambda : self.int_light_sig.emit(self.ui.IntLightSld.value())) From 9e65bc9d9206fa0f2a1f5c8eb88df776657ec60f Mon Sep 17 00:00:00 2001 From: Tanvi Date: Thu, 28 Mar 2024 21:47:09 -0400 Subject: [PATCH 07/12] EBRAKE WORKS!!!!! Co-authored-by: lagilfillan69 --- Train_Controller_SW/Failure.py | 14 +++++- Train_Controller_SW/TrainController.py | 4 +- .../__pycache__/Failure.cpython-312.pyc | Bin 5345 -> 5804 bytes .../TrainController.cpython-312.pyc | Bin 13942 -> 14219 bytes Train_Model/TrainModel_UI.ui | 2 +- Train_Model/app_trainmodel_ui.py | 46 ++++++++++++------ 6 files changed, 45 insertions(+), 21 deletions(-) diff --git a/Train_Controller_SW/Failure.py b/Train_Controller_SW/Failure.py index 88c52e4d..5742f12a 100644 --- a/Train_Controller_SW/Failure.py +++ b/Train_Controller_SW/Failure.py @@ -9,14 +9,24 @@ def __init__(self,ui,ebrake_sig, ebrake_disable_sig): self.ebrake_disable_sig = ebrake_disable_sig - def Control_Emergency_Brake(self): + def Control_Emergency_Brake(self,ebrake_in): if self.ui.Ebrake.isChecked() == True: enable = True self.ebrake_disable_sig.emit(1) - + + elif ebrake_in == True: + if self.ui.Ebrake.isChecked() == False: + self.ui.Ebrake.toggle() + enable = True else: + if self.ui.Ebrake.isChecked() == True: + self.ui.Ebrake.toggle() enable = False self.ebrake_disable_sig.emit(0) + + + + if(not(self.ui.buttonAuto.isChecked())): self.ui.buttonDoorL.setDisabled(enable) diff --git a/Train_Controller_SW/TrainController.py b/Train_Controller_SW/TrainController.py index 18e53a17..945eaf2d 100644 --- a/Train_Controller_SW/TrainController.py +++ b/Train_Controller_SW/TrainController.py @@ -68,7 +68,7 @@ def __init__(self): self.curr_spd_lim_sig.connect(self.Vital_Speed.Control_Speed_Limit) self.curr_auth_sig.connect(self.Vital_Authority.Control_Authority) self.curr_temp_sig.connect(self.NonVital.Cabin_Temperature) - self.ebrake_sig.connect(self.ui.Ebrake.setChecked) + self.ebrake_sig.connect(self.Vital_Failure.Control_Emergency_Brake) self.pwr_fail_sig.connect(self.Vital_Failure.Control_Power_Failure) self.brk_fail_sig.connect(self.Vital_Failure.Control_Brake_Failure) self.sig_fail_sig.connect(self.Vital_Failure.Control_Signal_Failure) @@ -81,7 +81,7 @@ def __init__(self): self.time_sig.connect(self.Timer) #connecting UI buttons to functions - self.ui.Ebrake.clicked.connect(lambda : self.Vital_Failure.Control_Emergency_Brake()) + self.ui.Ebrake.clicked.connect(lambda : self.Vital_Failure.Control_Emergency_Brake(0)) self.ui.buttonMan.clicked.connect(lambda : self.Control_Manual()) self.ui.buttonAuto.clicked.connect(lambda : self.Control_Automatic()) #self.ui.temp.valueChanged.connect(lambda : self.NonVital.Cabin_Temperature()) diff --git a/Train_Controller_SW/__pycache__/Failure.cpython-312.pyc b/Train_Controller_SW/__pycache__/Failure.cpython-312.pyc index 24f7670d3a783678a8ec69f2b4dc7ff330f4927b..742cacde722165cf1e2408e8cea326d1d4ffd5cd 100644 GIT binary patch delta 1406 zcmah}O-vI(6yDiwx3sin$}9ymRA{MmZQ2S3kfyH&2TtOO_bRO>d+ZP9)9%H6+3^hc|EE_rCAFd9%Bl;`@;E zyTf5)$m(q2CmuULIe!5>V{0(K;TcB3fNR2E>N{|hMP_!Mnc{K09^qwHz#HaTd*<^z zNPtv;VdNMtbB#0=zN2DfCAeLneIF2fwR`b{wweo=1Xy4*_p2hLULE+y^cyp|g@c`W zamXa#W=_D7I%KaFcm{F`6$egwfCksWCieV!7Pp$(@G>VDpxXv$w*l{|$w+n05Ito! z;wFzor+I^pfcKa=>>Q~}r$okUaM}(2D3tUBMErqm+r1>x`|gv+`H&IKv73JYxr(UF z;t5M2tn>Noz7 zp~5+i#9Q&5nqfA~;Ybc_k$QtTghk{}$ zS~TcWp-+Pm6-GYtCD?mRT(KAJ8Vsl~u;ebmv&Up>@S<0RUJZs-7+#t!!JcCY2iw6j z&PLPe670iYokAyd_UTGpu}*_Q6$Y20C3x=eXc^nA=kafAJGW*Jt)y%|4tmIC$X;q% zsBz<0j=P|1Wydkbo#`ME(IQ*Ordvklh5;TGhQI~6b8cd`H~_#;rf=JH3xI2&!t8FcgFt@)dCWrh delta 1187 zcmaJ>O=uHA6y8a)+5EgTYc~m{wWhJD$(qCzB(=qZwv^=1#I{;`Dnd$A45mrgBo?9G zycC2A5AJS{}GY?0cdw-OJY1ZSGG7TfH=eDBTs-uvd4c^%uAd%n0_ z4vw~gHOne-z3tf}{e+D>%}g!pzZQ6odybR6H!x|EOk@K;p7WvK<-r%=6pDi@=10e| zi^PHZl0;d_v_Y`U2heZvc-=>u|7@EjB1`YiW5cK#{}{3H;`o?XDWY zk|7(hdB`w6fdpoR6Q03ZXhj$HgJ7@+5@zQbJM-LMbuO834>_5?wV;^jtt5XEd}j-f zDKlTEm~ zL(@{5DGkn!Z>2ZW8U$4cZZ9?=+BKU>4~5Q_I3lL7r9+Q2@H%6STpxt7JkCt5vy{Ag<&gT54*z=E$Ye4Uc)1y+0%4$Op*@7%<1 O%M2m&q{SVYL*c&;B?A8d diff --git a/Train_Controller_SW/__pycache__/TrainController.cpython-312.pyc b/Train_Controller_SW/__pycache__/TrainController.cpython-312.pyc index 0e730c9158b168f242b0fc1d3831209c417d4f21..be948ae9a1e89216b6da90222419bff2208376f2 100644 GIT binary patch delta 1807 zcmZ{kTTB~A6ox%!*Z5LnW1EXHF$Pk>3IfK&kWxaztq`Xn7igMt$zq#@7?xcauX{n2 za35MFjZ`6>mqhACd1xi1sDiput3FhDYE|{6C`hzcAN!D~l^TJ9()Oiu7K5tFUdi8% z&-~}iIWuQ=U%suD{AjmZ4eYsJZJKTMZITtdC&RGG3uqw` z*et5%ZW-oZJ~E9Qnl2rguAqtBf+yxOST$8Zx5Wc4%R#JbuxvR^#t)q)btfhu*AGqq zQ%s|R#Bdhw+A7ElY}(Fb8f}vtOxv1a!*LuQIXtjtZw8Ok2@f2NA54{O&fm)MT}e8U*8k625f)P~&B@&(eksZYS8c z73|vyj&B9Wf0~$l7@SHQ_6)F8=7m{TW5YTb5lFVAUsW`!%HoBnl8VaI$-I+N2R^C%kQLVLZO>mAnS~8+C))s~8`4YTv(BiZs3|2bElP?eCKGeC z6=MY%vNk!PNP{y8tyfX9oF=`g<CM-mF2~PR?Nf6%lyBl z`Vbdr0e|)PJaw>H_^bMlV$-0$qww3YE)s?s|Dq#ni={M8RdCy`&^GwMf2^()gIPo| zE=Q9|QB309na;KGDK=iIgf+JpPb&FF=6C-+;@AmgF zP#G<3PZpPG6y-5Q8zPLjftW=k5c7zmD-bxie0Y^tYR70aq2wB#t<=)5g4*C9smyA_ z^MqyeX=4v3=^0I9kYxm>Ln#8&ph<+DfSyX8EV9LNe5N<0-Jl`V=FbU+Pc)MEGRr5% zaNX}(J|pHAm|7^NrJw}|O!^mN621*qkvo}Rg71(Hy@!e^ezR#8;zb00#PkND-8fPZ z|E(R?LapQ;JO~Z5R8LR8^+0;@mLe0wRJqi@1omj2LCe z79}-GU%|hxAtn$#h|`EZ1hymXN3d%Q6N-h zR{aBdmb&0+`xD?XDPwmiqY*4YKcxVVdd eo4Xg)nUpN`(7SN5qpkFsk@(gYo*MA2%l-w>nX@$j delta 1656 zcmZ{kUuauZ9LIB#G)bE#X_A{JZJIV26&l*6NxP(WZgu^KRc0w!j3Xw?-`h0nP47Ip z6)i$5;-C{m_7jFUWqsI6MRX+(ilF!)sQ46C>A1f5;EO0agvs#9^SezpACmj}5GvjELGbXk0i)jRISO($yP7c1YaF8*&u61>R)WtF1q`SAB zs9sa~ElX4lA?^juKJ#s~{^06n3xBw+x}!Y`&enpnN5Mobn7A8E!e7<}Kee#0ej=Oa z#C3^^Li+ja`bJiuRu--hhHYwRq#WFIjlor0FLAKJd*ExEf4H7%ZKTd@NMboFmGUjJ zXY9w>@epS2tEqv#WLqPBkU-UNEyg_Qd_3kS&fXR(ovW@IQEFJPgsD-9c~PY2 znwpt#S2$(_w=?#6>L7I#Uap0g?}nq>Xzu-<8_Zm!ccS^UgolrNC)tvZbz5$iZUk2~ z3Lm;#)QFVefqPQtU^4##jQ7ovQFx{ADhUDcbdzCldA{Rh-9nCL*Lb<3!b@|je145D zz^|S^;9ma}83)@ySxp1*&Vc8HjSVBWr_*^MTdAbe6*cQ;>IW>$+M6!O*m~MntCFbx zKCnxyd-`4do_W`NlStL~hMpkI(U<;dEw4Dbh{@{+v_nP2WyH&f3_`Kc zWOi9EdL?;uPX(L - EMERGENCY STOP + EMERGENCY BRAKE false diff --git a/Train_Model/app_trainmodel_ui.py b/Train_Model/app_trainmodel_ui.py index 481f01d9..48304688 100644 --- a/Train_Model/app_trainmodel_ui.py +++ b/Train_Model/app_trainmodel_ui.py @@ -46,8 +46,7 @@ def __init__(self): self.TC.curr_power_sig.connect(self.get_power_input) self.TC.announcement_sig.connect(self.set_announcements) self.TC.temp_control_sig.connect(self.set_cabin_temp) - self.TC.ebrake_disable_sig.connect(self.change_ebrake_color) - + #self.TC.ebrake_disable_sig.connect(self.change_ebrake_color) self.train_calculations.Calculate_acceleration() @@ -55,7 +54,7 @@ def __init__(self): self.train_calculations.get_acceleration() self.train_calculations.calculate_acc_velocity() - self.estop_locked=False + #changing state when sig_fail_enable/disable are clicked self.sig_fail_enable.clicked.connect(self.sig_fail_enable_clicked) self.sig_fail_disable.clicked.connect(self.sig_fail_disable_clicked) @@ -69,6 +68,11 @@ def __init__(self): self.en_fail_disable.clicked.connect(self.en_fail_disable_clicked) #self.brake_fail_input_tb.stateChanged.connect(self.brake_fail_tb) + self.ebrake.setCheckable(True) + #ebrake signals + self.ebrake.clicked.connect(lambda : self.ebrake_activated(1)) + self.TC.ebrake_disable_sig.connect(self.ebrake_disabled) + #Initially setting the default colors self.bf_enable.setStyleSheet('background-color: rgb(233, 247, 255);') self.bf_disable.setStyleSheet('background-color: rgb(38, 207, 4);') @@ -112,21 +116,31 @@ def receiveSpeedAuth_tm(self,speedAuth): # self.send_authority_tb.emit(str(Authority)) - def estop_button_clicked(self): - if not self.emergency_stop_state: - self.ebrake.setStyleSheet('background-color: rgb(99, 99, 99);') - self.emergency_stop_state = True - - def change_ebrake_color(self,ebrake_state): - if ebrake_state: - self.ebrake.setStyleSheet('background-color: rgb(99, 99, 99);') + # def estop_button_clicked(self,state): + # self.emergency_stop_state=state + # if not state: + # self.ebrake.setStyleSheet('background-color: rgb(99, 99, 99);') + # self.emergency_stop_state = True + # self.TC.ebrake_sig.emit(state) - else: - self.ebrake.setStyleSheet('background-color: rgb(195, 16, 40);') + def TC_ebrake_activated(self,state): + self.ebrake.toggle() + if(self.ebrake.isChecked()): + self.ebrake.setCheckable(False) + - self.TC.ebrake_sig.emit(ebrake_state) + def ebrake_activated(self,state): + self.ebrake.setCheckable(False) + self.TC.ebrake_sig.emit(1) + def ebrake_disabled(self,ebrake_state): + self.ebrake.setCheckable(True) + self.ebrake.toggle() + + + + def set_length(self, input_txt): self.length_of_vehicle_display.setText(input_txt) @@ -610,9 +624,9 @@ def display_announcement(self): #set ccount window_tb.ccount_input_signal.connect(window.set_ccount) #set ebrake - window_tb.ebrake_input_signal.connect(window.change_ebrake_color) + #window_tb.ebrake_input_signal.connect(window.change_ebrake_color) #estop manual - window.ebrake.clicked.connect(window.estop_button_clicked) + #brake_fail window_tb.brake_fail_input_signal.connect(window.brake_fail_tb) #signal_fail From 494a30ee0177b377e868b6d10f584e1e03cb647f Mon Sep 17 00:00:00 2001 From: Tanvi Date: Thu, 28 Mar 2024 22:12:49 -0400 Subject: [PATCH 08/12] authority sends through till tc --- .../__pycache__/TrackModel.cpython-312.pyc | Bin 34177 -> 34177 bytes Train_Controller_SW/Authority.py | 9 +++++++-- .../__pycache__/Authority.cpython-312.pyc | Bin 4403 -> 4112 bytes .../__pycache__/Speed.cpython-312.pyc | Bin 3742 -> 3742 bytes .../app_trainmodel_ui.cpython-312.pyc | Bin 39193 -> 39949 bytes Train_Model/app_trainmodel_ui.py | 4 ++++ __pycache__/Main_UI.cpython-312.pyc | Bin 4352 -> 4352 bytes 7 files changed, 11 insertions(+), 2 deletions(-) diff --git a/Track_Model/__pycache__/TrackModel.cpython-312.pyc b/Track_Model/__pycache__/TrackModel.cpython-312.pyc index 07dde90b520aec899f67d1d584406e5d65077efd..3c5c40db3850ed2402a0255433ef8d1fb259d6fe 100644 GIT binary patch delta 22 bcmZqdW@_wa;y%sG%f$c$(!6XNxyxDsJ|P7B delta 22 ccmZqdW@_wa;y%sG%f$c$KQ^*%R%WW|E0W-&B2Nnf>)+!DLh7`6cZUzRRJm+Lb7I}7v82jd_ETW8z z9FteGR%>#sW`r2V$WRG|nw);=bCVsuRh56Ye+iN;VgeGABiI7?`BGAoGjkJj;&bB@ zOG`2)Z(zH|Xf(N3Y zwv&x{x9h0@jhxO#I-?B_jWEP$*%cIUz!adoJPn8iSAToIq zlknsZ+#Eb9Oxfl@H>$x@GxCA-FbYogWtE%!gHK$6vq&6h^extcqRhOKB2FN?NDL&v zo|0Kykds(BS)V^y${i?DoCYKs7;eZZb+BCFkiNsg+mX`4J$WhrG)B|OHUe^TGC=tj zhEHrvtcIWX z5w4e-NAVTtJ&Yw_oF&j_SP=$NJH)jrE{m(` zvf3gMi$tDrn_^wuRO@OhnzW+HW_09jeziq_$GYCVY4BwU_4}IrRNMDgO2kJqhRo04HVXg zIq?(zs>0&uw%9V5Z`RWZrqG7{l z!%wlx7H?Gz4ZagE=*lJS0{yGxDDI&hz3&mXO+s*2d4h+*r|RJlZ9G6-f#HX`N{Aos zrg%QtbrXJIzlVdXY9%vD9fo4VMe&E6E6)|?OEW1WMWwy_icZmCF~)mntc}8L6lkO1 P9ts@@X`JjLio^Ur1SgoJ diff --git a/Train_Controller_SW/__pycache__/Speed.cpython-312.pyc b/Train_Controller_SW/__pycache__/Speed.cpython-312.pyc index 5b29943ef04ac2aea3c44542b239a97c7768abd6..8b00be5a0d5bfbf643ad49a9b01be41fb07ada84 100644 GIT binary patch delta 20 acmbOyJ5QGTG%qg~0}zxdvTfv^%m)B6I0R|{ delta 20 acmbOyJ5QGTG%qg~0}wE7WZlR;nGXOmX9R@+ diff --git a/Train_Model/__pycache__/app_trainmodel_ui.cpython-312.pyc b/Train_Model/__pycache__/app_trainmodel_ui.cpython-312.pyc index 2b009e6cdf7ff1b0d4da5423cfc2623974f822fe..762f9fd7652a463cd7ade4d3a4cb1591ffa24364 100644 GIT binary patch delta 8427 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 delta 8007 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 GR{MWldn%Lw diff --git a/Train_Model/app_trainmodel_ui.py b/Train_Model/app_trainmodel_ui.py index 48304688..2a8760d1 100644 --- a/Train_Model/app_trainmodel_ui.py +++ b/Train_Model/app_trainmodel_ui.py @@ -106,14 +106,18 @@ def get_power_input(self, power_input): #sending authority to train controller [ASK LAUREN AND CHAD] def receiveSpeedAuth_tm(self,speedAuth): + print("train model is receiving comm speed and auth") trainID=speedAuth[0] Comm_Speed=speedAuth[1] + self.train_calculations.get_commanded_speed(float(Comm_Speed)) Authority=speedAuth[2] print("speedAuth",speedAuth) #self.sendSpeedAuth.emit(speedAuth) #self.main_window.cspeed_display.setText(str(Comm_Speed)) # self.send_com_speed_tb.emit(str(Comm_Speed)) # self.send_authority_tb.emit(str(Authority)) + self.TC.curr_cmd_spd_sig.emit(int(Comm_Speed)) + self.TC.curr_auth_sig.emit(float(Authority)) # def estop_button_clicked(self,state): diff --git a/__pycache__/Main_UI.cpython-312.pyc b/__pycache__/Main_UI.cpython-312.pyc index edd8b8eca09d2f7c7bb281d539b8c542d0b5fdcd..37c27fd491dac14c436cc26b580922af202704b3 100644 GIT binary patch delta 20 acmZorYEa@n&CAQh00dXr**0>26#xJ+LImOf delta 20 acmZorYEa@n&CAQh00b% Date: Thu, 28 Mar 2024 22:36:36 -0400 Subject: [PATCH 09/12] Trying to get commanded speed reflect on TC --- Train_Controller_SW/Authority.py | 6 +++--- Train_Controller_SW/Power.py | 2 ++ Train_Controller_SW/Speed.py | 2 +- Train_Controller_SW/TrainController.py | 4 +++- .../__pycache__/Authority.cpython-312.pyc | Bin 4112 -> 4468 bytes .../__pycache__/Power.cpython-312.pyc | Bin 5833 -> 5929 bytes .../__pycache__/Speed.cpython-312.pyc | Bin 3742 -> 3747 bytes .../TrainController.cpython-312.pyc | Bin 14219 -> 14305 bytes 8 files changed, 9 insertions(+), 5 deletions(-) diff --git a/Train_Controller_SW/Authority.py b/Train_Controller_SW/Authority.py index 2621e1c1..aa60174a 100644 --- a/Train_Controller_SW/Authority.py +++ b/Train_Controller_SW/Authority.py @@ -20,7 +20,8 @@ def Authority_Monitor(self): #calculate authority using d=r*t self.rate = self.ui.lcdCurSpd.value()*1.46667 #mph to fps self.time = 1 - #self.ui.lcdAuth.display(self.ui.lcdAuth.value() - self.rate*self.time) #auth = auth - rate*time + if(not(self.ui.lcdAuth.value() == 0) and not(self.ui.lcdCurSpd.value)): + self.ui.lcdAuth.display(self.ui.lcdAuth.value() - int(self.rate*self.time)) #auth = auth - rate*time if self.ui.lcdAuth.value() != 0: @@ -72,5 +73,4 @@ def Control_Authority(self,auth): self.decimal_m_auth = auth print(auth) self.ui.lcdAuth.display(int(auth * 3.28084)) - if(self.ui.lcdAuth.value() != 0): - self.ui.vertSliderPow.setDisabled(False) \ No newline at end of file + self.ui.vertSliderPow.setEnabled(True) \ No newline at end of file diff --git a/Train_Controller_SW/Power.py b/Train_Controller_SW/Power.py index 270dffc1..cba3c971 100644 --- a/Train_Controller_SW/Power.py +++ b/Train_Controller_SW/Power.py @@ -73,4 +73,6 @@ def calculate_power(self): self.ui.lcdBrk.display(self.ui.vertSliderBrk.value()) self.ui.lcdAcel.display(self.power) self.curr_power_sig.emit(self.power) + print("Curr Power") + print(self.power) \ No newline at end of file diff --git a/Train_Controller_SW/Speed.py b/Train_Controller_SW/Speed.py index 52b2c585..9e13163a 100644 --- a/Train_Controller_SW/Speed.py +++ b/Train_Controller_SW/Speed.py @@ -28,7 +28,7 @@ def Speed_Monitor(self): #this case only is used in automatic mode, if we are in manual mode the train driver can drive how they please elif current_speed < ((speed_limit or cmd_speed) and (self.ui.buttonAuto.isChecked() == True)): - self.ui.vertSliderPow.setValue(1) + self.ui.vertSliderPow.setValue(100) self.ui.vertSliderBrk.setValue(0) #this case only is used in automatic mode, if we are in manual mode the train driver can drive how they please diff --git a/Train_Controller_SW/TrainController.py b/Train_Controller_SW/TrainController.py index 945eaf2d..e38bca4b 100644 --- a/Train_Controller_SW/TrainController.py +++ b/Train_Controller_SW/TrainController.py @@ -111,6 +111,9 @@ def __init__(self): #self.ui.SigFail.stateChanged.connect(self.Vital_Failure.Control_Signal_Failure()) #self.ui.Ebrake.stateChanged.connect(self.Vital_Failure.Control_Emergency_Brake()) + #temporary ADD SPEED LIM + self.curr_spd_lim_sig.emit(30) + ## add for doors self.window.show() @@ -126,7 +129,6 @@ def Control_Automatic(self): self.ui.inputKi.setDisabled(True) self.ui.inputKp.setDisabled(True) - #CHAD FIX THIS #self.ui.Speed_Montior() self.ui.vertSliderPow.setDisabled(True) self.ui.vertSliderBrk.setDisabled(True) diff --git a/Train_Controller_SW/__pycache__/Authority.cpython-312.pyc b/Train_Controller_SW/__pycache__/Authority.cpython-312.pyc index dc7115427280e4aaa868bbbc105767f1b0e2d99a..423590f5e5eb66b0a771324be28b1d0096716e5a 100644 GIT binary patch delta 672 zcmY+AO-vI}5XblJ?rUG$-EMVDizYw|3v|=e`awxhf{m%PBxo;{p46aV16IVghS)UW z;-x00CKFF4XgvtViwy^2FcD8^IG8P%CB1mkiyp9e(Ub2%h;fqny_tFcH+eIUe7`#7 z4OzBx)ZX-3Zv3dpn0HudCQ#qKFTy+9C`|Dg9N@V81Mu^~7LkenxBN7{@xlV{hAXlP zzxU#>qo5qfN^soX(o^E5$wB4cS;QRo3hn1b`V;67{j}8}qy$wgaaV2dlTRZ%Y>4fU z5ftRuiyqTRf>oiNN~S%qE`%W}x?zF(EOCG?dclJC^ELS(KgGm{p(eDTRxrgd>V!jr zin`$`?LB~_NQEK}$<~Rf{A_moUPG9gDZmT-4LyN}me9<$qE_b0bCvn>ys2o0qHQWY zOa8hNe4ScJ*V1NW*oX|9kRKqaoOFtngbLyp*bRA#5B4E)!o=7cOSL##Zh6S$j04liU&dw1H=Hbflb(wec`` z8Cn^96b*ZRvT%N8{91N$0zA&7B|(e%1l)A?d5Ki9maQgfGf10B0tN{zxj&O*u;o1I z(pZCDh7%0^;8B9A5BD__2;)f8MQ~`>E#fewlsiXHGl`QyqWD7wZ{41_o1GlWMd6Fm NErpw0459Fz;xE43uXz9f delta 557 zcmYk2O=uHA6vt;~cQ%`y+0CY#ruY$)ENyL&MW|V#_>qXEITZBjtpw6azigfAAtl)2 zEvEz?g5X6xd6j?)UVE{gqDZ88?X5ydJ%}JWv+2Qs`OSNO-sk-EJ30H4ZCgm5zrL}! z`^Kh(Y0^{o*w-LKx@HNX4i?2Gc37#7joP_U20AsNOJPm(h0XZ_ePt7cG&&p;Zqi{|k3%gbghuul`is0+; z(SAq9F+6cz!kU$Wisr#Qi8HbyR~M7AnI28$L`)8Mqin8$8mOS(zIQP5!77xkiXgJ~ zY#}bj3Row}NiwYrZ zxfi@FEe>WerQyIeX>gp97QA;KoW7z$90e}%+q|~6UVpT@a6^>gR&s)e12lti7)AU8 D8fAie diff --git a/Train_Controller_SW/__pycache__/Power.cpython-312.pyc b/Train_Controller_SW/__pycache__/Power.cpython-312.pyc index 7d6f69a98385f37fdce2ac0b7d5eb1f99392ab80..bf7971d66bbdf88b0bebe20e51904767866e487b 100644 GIT binary patch delta 149 zcmX@9yHbzuG%qg~0}w>2v86F{Z{+*K#u@_@m_B(Szx(De_Dh@+C4wM%5J+KL%?M#J zGL#5T64Yj7pR6M&#Z$%QTv}A55RhMV&Ftg9T7lP`(ZFl(|(O%4>x*e`LiR5EC?P0kUN+B`{+ rjghfw^Gu;8X6CCLI+KmWYM9kobti8W%jEZ9WYqn{03wT|fTjTeaIP0i diff --git a/Train_Controller_SW/__pycache__/Speed.cpython-312.pyc b/Train_Controller_SW/__pycache__/Speed.cpython-312.pyc index 8b00be5a0d5bfbf643ad49a9b01be41fb07ada84..513a2d4ee47165204a211e433ea9b6d741f751aa 100644 GIT binary patch delta 162 zcmbOyyI7X@G%qg~0}!m$U`tEc$ZNnlc?GA^adHQ{ z=4L*QKqdi6kc1eBkOmP_oAbHmGBS#9=H*dmoXo=`KG~Z$lu={yLSB1r6_5gT5TQN! gHE*?)K8VQ+BDjIXFAkgB{FKt1RJ$U>$qjtU09j5Tod5s; diff --git a/Train_Controller_SW/__pycache__/TrainController.cpython-312.pyc b/Train_Controller_SW/__pycache__/TrainController.cpython-312.pyc index be948ae9a1e89216b6da90222419bff2208376f2..05dbb208aaf3e572696997a736eb4795ea556ffc 100644 GIT binary patch delta 609 zcmZwE&ubGw6bJCkCc9l)7E;@4e;O=S6Od@qYSpNbD;FCtz%>f&GFsZc5GO>eazA_zhcI^W{aJ$&}PnR#Cr=BfB1tWTEJ98urH z!^XnOd+VFVz6QUw`|EOIZBY7O4SAGI`X?N?)|%R#oc z9@XinYUG>5fN@F{%bjw5PnWJLuMun~YO%IWvv1w(+cf*v&HmTf4fD_sBe;I>V{~d> z9SRL!RIA(}j;6(P{BhT_OWdhY4J$Fg0=LH#!kxznSAe@+Fb4^knJvw zi6x%|S9eGk+?qqLg729I>&{{P42Xhb;4BdG#o!2gD?bmeuC8F=k|NX>xUhXXk2+Qo zg3~niCczZA0!Bd|TmuC~81;Oj8)$EWSug_5fiW-y#z7if1Q!%X2v0^`U?0G>XiX7X z#bTM;o>z7_FBVgb>hjOfjxoXXo}YyeCz6ciWNJ9UUdqYgOzVusdY&!*ir`P}YW^>I CAC*r4 delta 554 zcmZwENlPO^6bEptvnWbK+_!)p6e2=2YTU=TL=nMda7RHC?PzN!rLS9rFp!fAh#=I( zISt}XM9}&I-u(g+1_tM-H(@~VV*O=~*5OyLUiJG!(NFw@>kqn~pQF~b-;Yx;xjzifUxN4&T_Y4BEz_z&4zyX~*K0u}&5`ZpTROP)wB+2O$s!n;-#9uqAE+ zJ#0@t2Tae@DmuFWu|xoIWP{J3&&V&*vbomU`oNyENiF#HfA(dtlO4+6!FP>yiO0~C ze_36oOJ^u%riOURA#SNR1ZT{oLFY2sa>}Z@G2R1Qpc(Xnlz3^4unW=HmdT{i7*=FG z35&-ZilBDKIk#vYccWk&jDdbI3BH4AMb>3IM6)<9f+f%gzJWo|28KWoM8SZfjPQG? z5|jfxiw;C2T*|nZ4ZnMbnWy@7Le8}Z80!|9jvDq;{OSl5E@-U!Z2Mmhb}CU*A69mT A`~Uy| From 4e1214b0d52f8862c57d740bf5e306ffff596e77 Mon Sep 17 00:00:00 2001 From: Lauren Gilfillan Date: Fri, 29 Mar 2024 12:17:01 -0400 Subject: [PATCH 10/12] fixing power --- Train_Controller_SW/TrainController.py | 8 ++++---- Train_Controller_SW/mainControl.py | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Train_Controller_SW/TrainController.py b/Train_Controller_SW/TrainController.py index e38bca4b..0212e098 100644 --- a/Train_Controller_SW/TrainController.py +++ b/Train_Controller_SW/TrainController.py @@ -129,9 +129,9 @@ def Control_Automatic(self): self.ui.inputKi.setDisabled(True) self.ui.inputKp.setDisabled(True) - #self.ui.Speed_Montior() - self.ui.vertSliderPow.setDisabled(True) - self.ui.vertSliderBrk.setDisabled(True) + self.Vital_Speed.Speed_Monitor() + #self.ui.vertSliderPow.setDisabled(True) + #self.ui.vertSliderBrk.setDisabled(True) def Control_Manual(self): self.ui.buttonAuto.toggle() @@ -149,7 +149,7 @@ def Control_Manual(self): self.ui.vertSliderPow.setDisabled(True) else: self.ui.vertSliderPow.setDisabled(False) - self.ui.vertSliderBrk.setDisabled(False) + self.ui.vertSliderBrk.setDisabled(False) def Timer(self, time): hours, minutes, seconds = [int(part) for part in time.split(':')] diff --git a/Train_Controller_SW/mainControl.py b/Train_Controller_SW/mainControl.py index a809fe99..304f9c60 100644 --- a/Train_Controller_SW/mainControl.py +++ b/Train_Controller_SW/mainControl.py @@ -424,15 +424,15 @@ def setupUi(self, MainWindow): self.horizontalLayout_6 = QtWidgets.QHBoxLayout() self.horizontalLayout_6.setObjectName("horizontalLayout_6") self.lcdSpdLim = QtWidgets.QLCDNumber(self.groupBox_8) - self.lcdSpdLim.setDigitCount(2) + self.lcdSpdLim.setDigitCount(3) self.lcdSpdLim.setObjectName("lcdSpdLim") self.horizontalLayout_6.addWidget(self.lcdSpdLim) self.lcdCmdSpd = QtWidgets.QLCDNumber(self.groupBox_8) - self.lcdCmdSpd.setDigitCount(2) + self.lcdCmdSpd.setDigitCount(3) self.lcdCmdSpd.setObjectName("lcdCmdSpd") self.horizontalLayout_6.addWidget(self.lcdCmdSpd) self.lcdCurSpd = QtWidgets.QLCDNumber(self.groupBox_8) - self.lcdCurSpd.setDigitCount(2) + self.lcdCurSpd.setDigitCount(3) self.lcdCurSpd.setObjectName("lcdCurSpd") self.horizontalLayout_6.addWidget(self.lcdCurSpd) self.gridLayout_5.addLayout(self.horizontalLayout_6, 1, 0, 1, 1) From 38a96e42dab6c87c83cca26858648b8a1f3b2f36 Mon Sep 17 00:00:00 2001 From: Tanvi Date: Fri, 29 Mar 2024 18:38:41 -0400 Subject: [PATCH 11/12] train test between train model and train controller --- .../TrainController.cpython-312.pyc | Bin 14305 -> 14177 bytes .../__pycache__/mainControl.cpython-312.pyc | Bin 42646 -> 42646 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/Train_Controller_SW/__pycache__/TrainController.cpython-312.pyc b/Train_Controller_SW/__pycache__/TrainController.cpython-312.pyc index 05dbb208aaf3e572696997a736eb4795ea556ffc..8258fad25f0a508f4ed7ef9291e6a4df3ecfbbfc 100644 GIT binary patch delta 208 zcmaEu|1gjDG%qg~0}$AMU`s3B$a_+SRf?H`Vfti7HHpn`TIZM;r6zA=6`pLPD?Ryu zG0Wr-jSyj0pz>S1!3C+QDe=Dfd6^~oMUyvb*fRZLnEXNGjnD%&uIp@K7um$Fv#DHU zQ@P5fwwX_BHZx--$jr%Qx*C(Tl_vA(ooDRWd`HiQagu=u^Hm;`&H4rnjI2eaK(iuKacKED6SFl`R)4jpQ zg(-fOO?UEc73s~JH5-_j@>C}?YKc$M)tKy{r8Ie(?s>+}&1rfzjN%+T{p_9W*EwV_ za>!oi(7ec@xkB|Shr#BZ`VEZyw|IjKQd3jnee?4&OY(~*+Znbp&fa{)@EIfHlF6%$ q>lv#zYn!ZLjAi78d=m`L-)l*6U diff --git a/Train_Controller_SW/__pycache__/mainControl.cpython-312.pyc b/Train_Controller_SW/__pycache__/mainControl.cpython-312.pyc index 445bca0ac18e25f52eca269d17e2c3e17f8703e3..da45d88493d5c86ee48578f8ad66acb233e14351 100644 GIT binary patch delta 55 zcmbPsmTB5qChpU`yj%=GVE=(_Blo?~$)3`@lfQ-j2GdF5Vv_@yMJH>9UjXqpvqens F0{{)$68!)G delta 55 zcmbPsmTB5qChpU`yj%=GaP&CCM(%r|lkb}GPW~498%!sKi%kw-7M-jaegVYa%oZ`h F4**9N6=47X From 962a90058e68ed04347354e4e1d9c3c422630834 Mon Sep 17 00:00:00 2001 From: Tanvi Date: Fri, 29 Mar 2024 19:00:58 -0400 Subject: [PATCH 12/12] acc velocity to track model --- Train_Model/app_trainmodel_ui.py | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/Train_Model/app_trainmodel_ui.py b/Train_Model/app_trainmodel_ui.py index 2a8760d1..14a6e581 100644 --- a/Train_Model/app_trainmodel_ui.py +++ b/Train_Model/app_trainmodel_ui.py @@ -21,12 +21,15 @@ class TrainModel_mainwindow(QMainWindow): #in mph - commanded_speed_def=50 + commanded_speed_def=0 #in lbs - mass_def=125002.1 + mass_def=0 #in seconds - time_def=10 + time_def=0 + #Track Model Signals + track_model_acc_velo = qtc.pyqtSignal(int) + def __init__(self): super().__init__() uic.loadUi("Train_Model/TrainModel_UI.ui", self) @@ -88,6 +91,8 @@ def __init__(self): self.en_fail_state = False self.emergency_stop_state=False + + def Return_TrainController(self): return self.TC @@ -309,6 +314,11 @@ def left_doors(self,state): self.left_doors_value.setFixedSize(109, 97) self.left_doors_value.setText('OPEN') + def acc_vel_to_track_model(self,velocity): + velocity=self.train_calculations.calculate_acc_velocity + self.track_model_acc_velo.emit(int(velocity)) + + #CLASS CONTAINING ALL TRAIN CALCULATIONS class TrainCalculations: @@ -364,6 +374,7 @@ def calculate_acc_velocity(self): velocity = initial_velocity + (acceleration * time) self.main_window.Acc_Velo_value_lcd.display(velocity) self.TC.curr_spd_sig.emit(int(velocity)) + return int(velocity)