From: Melchior F. <mf...@fl...> - 2006-11-28 14:27:59
|
Update of /var/cvs/FlightGear-0.9/data/Aircraft/pa24-250 In directory baron:/tmp/cvs-serv15739 Modified Files: pa24-electrical.nas Log Message: Dave PERRY: """ 1. Added realistic wheel wells 2. Tires and wheels are now textured 3. Added some detail to the engine which may be seen through the nose gear opening including the exhaust stack. 4. The pilot now has shoes and sox. other minor model clean up. """ Index: pa24-electrical.nas =================================================================== RCS file: /var/cvs/FlightGear-0.9/data/Aircraft/pa24-250/pa24-electrical.nas,v retrieving revision 1.6 retrieving revision 1.7 diff -C 2 -r1.6 -r1.7 *** pa24-electrical.nas 25 Nov 2006 09:47:44 -0000 1.6 --- pa24-electrical.nas 28 Nov 2006 14:27:33 -0000 1.7 *************** *** 28,31 **** --- 28,36 ---- theta1 = 0.0; theta2 = 0.0; + rpm0_ave = 0.0; + rpm1_ave = 0.0; + rpm2_ave = 0.0; + nose_gear_pos_norm = 0.0; + rudder_position = 0.0; ## *************** *** 281,287 **** down = 0; ! down += getprop("gear/gear[0]/wow"); ! down += getprop("gear/gear[1]/wow"); ! down += getprop("gear/gear[2]/wow"); # print( " down = ", down); ## --- 286,294 ---- down = 0; ! nose_down = getprop("gear/gear[0]/wow"); ! left_down = getprop("gear/gear[1]/wow"); ! right_down = getprop("gear/gear[2]/wow"); ! down = nose_down + left_down + right_down; ! # print( " down = ", down); ## *************** *** 317,325 **** --- 324,381 ---- setprop("/gear/gear[1]/theta1", theta1); setprop("/gear/gear[2]/theta2", theta2); + } + # Update wheel rotation data + # + vn_fps = getprop("/velocities/speed-north-fps"); + ve_fps = getprop("/velocities/speed-east-fps"); + speed_sq = vn_fps*vn_fps + ve_fps*ve_fps; + if (speed_sq > 0) { + speed = sqrt_it(speed_sq, 1); + speed = sqrt_it(speed_sq, speed); + speed = sqrt_it(speed_sq, speed); + } else { + speed = 0.0 + } + speed_mpm = speed*195; + circumference = 2.733183; # = 2*Pi*0.435 in meters - same for nose and mains + + if (nose_down) { + rpm0 = speed_mpm/circumference; + } else { + rpm0 = 0.0; + } + rpm0_ave = (9*rpm0_ave + rpm0)/10; + + if (left_down) { + rpm1 = speed_mpm/circumference; + } else { + rpm1 = 0.0; + } + rpm1_ave = (9*rpm1_ave + rpm1)/10; + if (right_down) { + rpm2 = speed_mpm/circumference; + } else { + rpm2 = 0.0; } + rpm2_ave = (9*rpm1_ave + rpm2)/10; + + ## + # Disengage nose wheel steering from the rudder pedals if not locked down + ## + nose_gear_pos_norm = getprop("gear/gear[0]/position-norm"); + if ( nose_gear_pos_norm < 1) { + rudder_position = 0.0; + } else { + rudder_position = getprop("surface-positions/rudder-pos-norm"); + } # outputs + + setprop("/gear/gear[0]/rpm", rpm0_ave); + setprop("/gear/gear[1]/rpm", rpm1_ave); + setprop("/gear/gear[2]/rpm", rpm2_ave); + setprop("/gear/gear[0]/turn-pos-norm", rudder_position); setprop("/sim/models/materials/propdisc/factor", factor); setprop("/engines/engine/fuel-pressure-psi", fuel_pres_ave); *************** *** 339,342 **** --- 395,403 ---- } + sqrt_it = func(a,x0) { + x1 = (x0 + a/x0)/2; + return x1; + } + electrical_bus_1 = func() { # we are fed from the "virtual" bus |