@@ -20,34 +20,64 @@ def setup_variables(w):
2020 w .parts = []
2121 w .psu_layout = {'LHS' : [], 'RHS' : []}
2222 w .gasper_layout = {'LHS' : [['N/A' ,'23.0' ,'353.0' ],['N/A' ,'24.25' ,'379.25' ],['N/A' ,'25.75' ,'410.75' ],
23- ['N/A' ,'27.0' ,'437.0' ],['N/A' ,'28.25' ,'463.25' ],['N/A' ,'29.75' ,'494.75' ],
24- ['N/A' ,'31.0' ,'521.0' ],['N/A' ,'32.25' ,'547.25' ],['N/A' ,'33.75' ,'578.75' ],
25- ['N/A' ,'35.0' ,'605.0' ],['N/A' ,'36.25' ,'631.0' ],['N/A' ,'38.25' ,'662.58' ],
26- ['N/A' ,'40.25' ,'695.9' ],['N/A' ,'41.5' ,'724.32' ],['N/A' ,'42.75' ,'751.75' ],
27- ['N/A' ,'44.0' ,'778.0' ],['N/A' ,'45.25' ,'804.25' ],['N/A' ,'46.75' ,'835.75' ],
28- ['N/A' ,'48.0' ,'862.0' ],['N/A' ,'49.25' ,'888.25' ],['N/A' ,'50.75' ,'919.75' ],
29- ['N/A' ,'52.0' ,'946.0' ],['N/A' ,'53.25' ,'972.25' ],['N/A' ,'54.75' ,'1003.75' ],
30- ['N/A' ,'56.0' ,'1030.0' ],['N/A' ,'57.25' ,'1056.25' ],['N/A' ,'58.75' ,'1087.75' ],
31- ['N/A' ,'60.0' ,'1114.0' ],['N/A' ,'61.25' ,'1140.25' ],['N/A' ,'62.75' ,'1171.75' ],
32- ['N/A' ,'64.0' ,'1198.0' ]],
33- 'RHS' : [['N/A' ,'23.0' ,'353.0' ],['N/A' ,'24.25' ,'379.25' ],['N/A' ,'25.75' ,'410.75' ],
34- ['N/A' ,'27.0' ,'437.0' ],['N/A' ,'28.25' ,'463.25' ],['N/A' ,'29.75' ,'494.75' ],
35- ['N/A' ,'31.0' ,'521.0' ],['N/A' ,'32.25' ,'547.25' ],['N/A' ,'33.75' ,'578.75' ],
36- ['N/A' ,'35.0' ,'605.0' ],['N/A' ,'36.25' ,'631.0' ],['N/A' ,'38.25' ,'662.58' ],
37- ['N/A' ,'40.25' ,'695.9' ],['N/A' ,'41.5' ,'724.32' ],['N/A' ,'42.75' ,'751.75' ],
38- ['N/A' ,'44.0' ,'778.0' ],['N/A' ,'45.25' ,'804.25' ],['N/A' ,'46.75' ,'835.75' ],
39- ['N/A' ,'48.0' ,'862.0' ],['N/A' ,'49.25' ,'888.25' ],['N/A' ,'50.75' ,'919.75' ],
40- ['N/A' ,'52.0' ,'946.0' ],['N/A' ,'53.25' ,'972.25' ],['N/A' ,'54.75' ,'1003.75' ],
41- ['N/A' ,'56.0' ,'1030.0' ],['N/A' ,'57.25' ,'1056.25' ],['N/A' ,'58.75' ,'1087.75' ],
42- ['N/A' ,'60.0' ,'1114.0' ],['N/A' ,'61.25' ,'1140.25' ],['N/A' ,'62.75' ,'1171.75' ],
43- ['N/A' ,'64.0' ,'1198.0' ]]
23+ ['N/A' ,'27.0' ,'437.0' ],['N/A' ,'28.25' ,'463.25' ],['N/A' ,'29.75' ,'494.75' ],
24+ ['N/A' ,'31.0' ,'521.0' ],['N/A' ,'32.25' ,'547.25' ],['N/A' ,'33.75' ,'578.75' ],
25+ ['N/A' ,'35.0' ,'605.0' ],['N/A' ,'36.25' ,'631.0' ],['N/A' ,'38.25' ,'662.58' ],
26+ ['N/A' ,'40.25' ,'695.9' ],['N/A' ,'41.5' ,'724.32' ],['N/A' ,'42.75' ,'751.75' ],
27+ ['N/A' ,'44.0' ,'778.0' ],['N/A' ,'45.25' ,'804.25' ],['N/A' ,'46.75' ,'835.75' ],
28+ ['N/A' ,'48.0' ,'862.0' ],['N/A' ,'49.25' ,'888.25' ],['N/A' ,'50.75' ,'919.75' ],
29+ ['N/A' ,'52.0' ,'946.0' ],['N/A' ,'53.25' ,'972.25' ],['N/A' ,'54.75' ,'1003.75' ],
30+ ['N/A' ,'56.0' ,'1030.0' ],['N/A' ,'57.25' ,'1056.25' ],['N/A' ,'58.75' ,'1087.75' ],
31+ ['N/A' ,'60.0' ,'1114.0' ],['N/A' ,'61.25' ,'1140.25' ],['N/A' ,'62.75' ,'1171.75' ],
32+ ['N/A' ,'64.0' ,'1198.0' ]],
33+ 'RHS' : [['N/A' ,'23.0' ,'353.0' ],['N/A' ,'24.25' ,'379.25' ],['N/A' ,'25.75' ,'410.75' ],
34+ ['N/A' ,'27.0' ,'437.0' ],['N/A' ,'28.25' ,'463.25' ],['N/A' ,'29.75' ,'494.75' ],
35+ ['N/A' ,'31.0' ,'521.0' ],['N/A' ,'32.25' ,'547.25' ],['N/A' ,'33.75' ,'578.75' ],
36+ ['N/A' ,'35.0' ,'605.0' ],['N/A' ,'36.25' ,'631.0' ],['N/A' ,'38.25' ,'662.58' ],
37+ ['N/A' ,'40.25' ,'695.9' ],['N/A' ,'41.5' ,'724.32' ],['N/A' ,'42.75' ,'751.75' ],
38+ ['N/A' ,'44.0' ,'778.0' ],['N/A' ,'45.25' ,'804.25' ],['N/A' ,'46.75' ,'835.75' ],
39+ ['N/A' ,'48.0' ,'862.0' ],['N/A' ,'49.25' ,'888.25' ],['N/A' ,'50.75' ,'919.75' ],
40+ ['N/A' ,'52.0' ,'946.0' ],['N/A' ,'53.25' ,'972.25' ],['N/A' ,'54.75' ,'1003.75' ],
41+ ['N/A' ,'56.0' ,'1030.0' ],['N/A' ,'57.25' ,'1056.25' ],['N/A' ,'58.75' ,'1087.75' ],
42+ ['N/A' ,'60.0' ,'1114.0' ],['N/A' ,'61.25' ,'1140.25' ],['N/A' ,'62.75' ,'1171.75' ],
43+ ['N/A' ,'64.0' ,'1198.0' ]]
4444 }
4545
4646 #add blank foe gasper length
4747 for side in ['LHS' , 'RHS' ]:
4848 for idx , g in enumerate (w .gasper_layout [side ]):
4949 w .gasper_layout [side ][idx ].append ('' )
50-
50+
51+ w .deu_layout = {'LHS' : [['200RH1' ,'985' ,'387.795' ,'LHS' ],['200RH3' ,'1412' ,'555.9055' ,'LHS' ],['200RH7' ,'1849' ,'727.9528' ,'LHS' ],
52+ ['200RH11' ,'2278' ,'896.8504' ,'LHS' ],['200RH13' ,'2704' ,'1064.567' ,'LHS' ],['200RH15' ,'2918' ,'1148.819' ,'LHS' ],],
53+ 'RHS' : [['200RH2' ,'985' ,'387.795' ,'RHS' ],['200RH4' ,'1412' ,'555.9055' ,'RHS' ],['200RH8' ,'1849' ,'727.9528' ,'RHS' ],
54+ ['200RH12' ,'2278' ,'896.8504' ,'RHS' ],['200RH14' ,'2704' ,'1064.567' ,'RHS' ],['200RH16' ,'2918' ,'1148.819' ,'RHS' ]]}
55+
56+
57+ w .vc_layout = {'LHS' : [['7381 VC13' ,'22.25' ,'345.125' ,'200RH1' ,'N/A' ],['7381 VC14' ,'24.0' ,'374.0' ,'200RH1' ,'N/A' ],['7381 VC15' ,'25.5' ,'405.5' ,'200RH1' ,'N/A' ],
58+ ['7381 VC16' ,'26.75' ,'431.75' ,'200RH1' ,'N/A' ],['7381 VC31' ,'28.0' ,'458.0' ,'200RH3' ,'N/A' ],['7381 VC32' ,'29.5' ,'489.5' ,'200RH3' ,'N/A' ],
59+ ['7381 VC33' ,'30.75' ,'515.75' ,'200RH3' ,'N/A' ],['7381 VC34' ,'32.0' ,'542.0' ,'200RH3' ,'N/A' ],['7381 VC35' ,'33.25' ,'568.25' ,'200RH3' ,'N/A' ],
60+ ['7381 VC36' ,'34.75' ,'599.75' ,'200RH3' ,'N/A' ],['7381 VC71' ,'36.0' ,'626.0' ,'200RH7' ,'N/A' ],['7381 VC72' ,'37.75' ,'654.25' ,'200RH7' ,'N/A' ],
61+ ['7381 VC73' ,'39.75' ,'687.57' ,'200RH7' ,'N/A' ],['7381 VC74' ,'41.25' ,'718.48' ,'200RH7' ,'N/A' ],['7381 VC75' ,'42.25' ,'741.25' ,'200RH7' ,'N/A' ],
62+ ['7381 VC76' ,'43.75' ,'772.75' ,'200RH7' ,'N/A' ], ['7381 VC111' ,'45.0' ,'799.0' ,'200RH11' ,'N/A' ],['7381 VC112' ,'46.25' ,'825.25' ,'200RH11' ,'N/A' ],
63+ ['7381 VC113' ,'47.75' ,'856.75' ,'200RH11' ,'N/A' ], ['7381 VC114' ,'49.0' ,'883.0' ,'200RH11' ,'N/A' ],['7381 VC115' ,'50.25' ,'909.25' ,'200RH11' ,'N/A' ],
64+ ['7381 VC116' ,'51.75' ,'940.75' ,'200RH11' ,'N/A' ],['7381 VC131' ,'53.0' ,'967.0' ,'200RH13' ,'N/A' ],['7381 VC132' ,'54.25' ,'993.25' ,'200RH13' ,'N/A' ],
65+ ['7381 VC133' ,'55.75' ,'1024.75' ,'200RH13' ,'N/A' ],['7381 VC134' ,'57.0' ,'1051.0' ,'200RH13' ,'N/A' ],['7381 VC135' ,'58.5' ,'1082.5' ,'200RH13' ,'N/A' ],
66+ ['7381 VC136' ,'59.75' ,'1108.75' ,'200RH13' ,'N/A' ], ['7381 VC151' ,'61.0' ,'1135.0' ,'200RH15' ,'N/A' ],
67+ ['7381 VC152' ,'62.25' ,'1161.25' ,'200RH15' ,'N/A' ],['7381 VC153' ,'63.5' ,'1187.5' ,'200RH15' ,'N/A' ]],
68+ 'RHS' : [['7382 VC23' ,'22.25' ,'345.125' ,'200RH2' ,'N/A' ],['7382 VC24' ,'24.0' ,'374.0' ,'200RH2' ,'N/A' ],['7382 VC25' ,'25.5' ,'405.5' ,'200RH2' ,'N/A' ],
69+ ['7382 VC26' ,'26.75' ,'431.75' ,'200RH2' ,'N/A' ],['7382 VC41' ,'28.0' ,'458.0' ,'200RH4' ,'N/A' ],['7382 VC42' ,'29.5' ,'489.5' ,'200RH4' ,'N/A' ],
70+ ['7382 VC43' ,'30.75' ,'515.75' ,'200RH4' ,'N/A' ],['7382 VC44' ,'32.0' ,'542.0' ,'200RH4' ,'N/A' ],['7382 VC45' ,'33.25' ,'568.25' ,'200RH4' ,'N/A' ],
71+ ['7382 VC46' ,'34.75' ,'599.75' ,'200RH4' ,'N/A' ],['7382 VC81' ,'36.0' ,'626.0' ,'200RH8' ,'N/A' ],['7382 VC82' ,'37.75' ,'654.25' ,'200RH8' ,'N/A' ],
72+ ['7382 VC83' ,'39.75' ,'687.57' ,'200RH8' ,'N/A' ],['7382 VC84' ,'41.25' ,'718.48' ,'200RH8' ,'N/A' ],['7382 VC85' ,'42.25' ,'741.25' ,'200RH8' ,'N/A' ],
73+ ['7382 VC86' ,'43.75' ,'772.75' ,'200RH8' ,'N/A' ], ['7382 VC121' ,'45.0' ,'799.0' ,'200RH12' ,'N/A' ],['7382 VC122' ,'46.25' ,'825.25' ,'200RH12' ,'N/A' ],
74+ ['7382 VC123' ,'47.75' ,'856.75' ,'200RH12' ,'N/A' ], ['7382 VC124' ,'49.0' ,'883.0' ,'200RH12' ,'N/A' ],['7382 VC125' ,'50.25' ,'909.25' ,'200RH12' ,'N/A' ],
75+ ['7382 VC126' ,'51.75' ,'940.75' ,'200RH12' ,'N/A' ],['7382 VC141' ,'53.0' ,'967.0' ,'200RH14' ,'N/A' ],['7382 VC142' ,'54.25' ,'993.25' ,'200RH14' ,'N/A' ],
76+ ['7382 VC143' ,'55.75' ,'1024.75' ,'200RH14' ,'N/A' ],['7382 VC144' ,'57.0' ,'1051.0' ,'200RH14' ,'N/A' ],['7382 VC145' ,'58.5' ,'1082.5' ,'200RH14' ,'N/A' ],
77+ ['7382 VC146' ,'59.75' ,'1108.75' ,'200RH14' ,'N/A' ], ['7382 VC161' ,'61.0' ,'1135.0' ,'200RH16' ,'N/A' ],
78+ ['7382 VC162' ,'62.25' ,'1161.25' ,'200RH16' ,'N/A' ],['7382 VC163' ,'63.5' ,'1187.5' ,'200RH16' ,'N/A' ]]
79+ }
80+
5181class PSU_Backend ():
5282
5383 def __init__ (self , parent_page , controller ):
@@ -70,6 +100,8 @@ def update_variables(self, source):
70100 self .parts = copy .deepcopy (source .parts )
71101 self .psu_layout = copy .deepcopy (source .psu_layout )
72102 self .gasper_layout = copy .deepcopy (source .gasper_layout )
103+ self .deu_layout = copy .deepcopy (source .deu_layout )
104+ self .vc_layout = copy .deepcopy (source .vc_layout )
73105
74106 if self .aircraft_type in ['A320' , 'A319' ]:
75107 self .treeview_node = 'A320 PSUs'
@@ -98,12 +130,17 @@ def setup_plot(self):
98130 self .lopa_figure .subplots_adjust (left = 0.05 , bottom = 0.02 , right = 0.99 , top = 0.98 , wspace = None , hspace = None )
99131
100132 self .gasper_figure = Figure (figsize = (5 ,3 ), dpi = 100 )
101- self .ax4 = self .gasper_figure .add_subplot (211 , aspect = 'equal' , adjustable = 'box' )
133+ self .ax4 = self .gasper_figure .add_subplot (111 , aspect = 'equal' , adjustable = 'box' )
102134 #self.ax2 = self.lopa_figure.add_subplot(111, aspect='equal', adjustable='box')
103- self .ax6 = self .gasper_figure .add_subplot (212 , aspect = 'equal' , adjustable = 'box' )
135+ # self.ax6 = self.gasper_figure.add_subplot(212, aspect='equal', adjustable='box')
104136
105137 self .gasper_figure .subplots_adjust (left = 0.05 , bottom = 0.02 , right = 0.99 , top = 0.98 , wspace = None , hspace = None )
106138
139+ self .deu_figure = Figure (figsize = (5 ,3 ), dpi = 100 )
140+ self .ax7 = self .deu_figure .add_subplot (111 , aspect = 'equal' , adjustable = 'box' )
141+
142+ self .deu_figure .subplots_adjust (left = 0.05 , bottom = 0.02 , right = 0.99 , top = 0.98 , wspace = None , hspace = None )
143+
107144 def gen_save_dict (self , comments_from_text_widget = True , comments = None ):
108145
109146 if comments_from_text_widget :
@@ -120,6 +157,8 @@ def gen_save_dict(self, comments_from_text_widget = True, comments = None):
120157 'Parts' : self .parts ,
121158 'Layout' : self .psu_layout ,
122159 'Gasper Layout' : self .gasper_layout ,
160+ 'DEU Layout' : self .deu_layout ,
161+ 'VCC Layout' : self .vc_layout ,
123162 'Comments' : comments }
124163
125164 def gen_parts_table (self ):
@@ -200,7 +239,7 @@ def gen_a320_psu_layout(self, psiu_layout, start_lhs, end_lhs, start_rhs, end_rh
200239 station = float (row [3 ])
201240 srp = float (seat .backend .srp_x )
202241
203- row_end = srp + station
242+ row_end = srp + station + 4
204243 #else:
205244 # row_end = end
206245
@@ -339,7 +378,20 @@ def update_parts_table(self):
339378 qtys [p [1 ]] = 1
340379 else :
341380 qtys [p [1 ]] += 1
342-
381+
382+ # Add the gasper hoses
383+ for p in self .gasper_layout [side ]:
384+
385+ if 'mm' in p [3 ]:
386+ hose = f'Gasper Hose { p [3 ]} '
387+
388+ if hose not in qtys .keys ():
389+ qtys [hose ] = 1
390+ else :
391+ qtys [hose ] += 1
392+
393+
394+
343395 for p in self .parts :
344396 if p [1 ] in qtys .keys ():
345397 existing_qty = int (p [3 ])
@@ -352,6 +404,9 @@ def update_parts_table(self):
352404 else :
353405 p [6 ] = required_qty - existing_qty + additonal_qty
354406
407+
408+
409+
355410 def determine_first_psu_station (self , side ):
356411
357412 return 320
@@ -435,6 +490,32 @@ def gen_ipc_data(self, fromto):
435490 ipc_data .append (['' , str (d [2 ]), str (d [1 ]), fromto , str (d [4 ])])
436491
437492 return ipc_data
493+
494+
495+ def get_gasper_stations (self ):
496+
497+ gasper_stations = {'LHS' : [], 'RHS' : []}
498+
499+ for side in ['LHS' , 'RHS' ]:
500+
501+ for part in self .psu_layout [side ]:
502+ if part [1 ] == 'Gasper' :
503+ gasper_stations [side ].append (float (part [3 ]))
504+
505+ return gasper_stations
506+
507+ def get_psiu_stations (self ):
508+
509+ psiu_stations = {'LHS' : [], 'RHS' : []}
510+
511+ for side in ['LHS' , 'RHS' ]:
512+
513+ for part in self .psu_layout [side ]:
514+ if 'PSIU' in part [1 ]:
515+ psiu_stations [side ].append (float (part [3 ]))
516+
517+ return psiu_stations
518+
438519class PSU_Saved_State ():
439520 def __init__ (self , psu ):
440521
0 commit comments