-
- data->magvar = globals->get_mag()->get_magvar();
-
-// engine data, for now set the 2nd engine equal to the first
-
- data->rpm[0] = p_engine[0]->get_RPM();
- data->rpm[1] = p_engine[0]->get_RPM();
-
- data->epr[0] = p_engine[0]->get_Manifold_Pressure();
- data->epr[1] = p_engine[0]->get_Manifold_Pressure();
-
- data->egt[0] = p_engine[0]->get_EGT();
- data->egt[1] = p_engine[0]->get_EGT();
-
- data->oil_pressure[0] = p_engine[0]->get_Oil_Pressure();
- data->oil_pressure[1] = p_engine[0]->get_Oil_Pressure();
-
-
-// navigation data
-// Once OPenGC develops a comparable navaids database some of this will not be required
-
-//data->nav1_ident = current_radiostack->get_nav1_ident();
- data->nav1_freq = current_radiostack->get_nav1_freq();
- data->nav1_radial = current_radiostack->get_nav1_sel_radial();
- data->nav1_course_dev = current_radiostack->get_nav1_heading_needle_deflection();
-
- //data->nav1_ident = current_radiostack->get_nav1_ident();
- data->nav2_freq = current_radiostack->get_nav2_freq();
- data->nav2_radial = current_radiostack->get_nav2_sel_radial();
- data->nav2_course_dev = current_radiostack->get_nav2_heading_needle_deflection();
-
+ data->mach = cur_fdm_state->get_Mach_number();
+ data->groundspeed = cur_fdm_state->get_V_ground_speed();
+ data->v_keas = cur_fdm_state->get_V_equiv_kts();
+
+ data->phi_dot = cur_fdm_state->get_Phi_dot();
+ data->theta_dot = cur_fdm_state->get_Theta_dot();
+ data->psi_dot = cur_fdm_state->get_Psi_dot();
+
+ data->alpha = cur_fdm_state->get_Alpha();
+ data->beta = cur_fdm_state->get_Beta();
+ data->alpha_dot = p_alphadot->getDoubleValue();
+ data->beta_dot = p_betadot->getDoubleValue();
+
+ //data->rudder_trim = p_Controls->get_rudder_trim();
+
+ data->left_aileron = p_left_aileron->getDoubleValue();
+ data->right_aileron = p_right_aileron->getDoubleValue();
+ data->elevator = p_elevator->getDoubleValue();
+ data->elevator_trim = p_elevator_trim->getDoubleValue();
+ data->rudder = p_rudder->getDoubleValue();
+ data->flaps = p_flaps->getDoubleValue();
+ data->flaps_cmd = p_flaps_cmd->getDoubleValue();
+
+ data->gear_nose = fgGetDouble("gear/gear[0]/position-norm");
+ data->gear_nose = fgGetDouble("gear/gear[1]/position-norm");
+ data->gear_nose = fgGetDouble("gear/gear[2]/position-norm");
+ data->gear_nose = fgGetDouble("gear/gear[3]/position-norm");
+ data->gear_nose = fgGetDouble("gear/gear[4]/position-norm");
+
+ data->rpm[0] = fgGetDouble("/engines/engine[0]/rpm");
+ data->rpm[1] = fgGetDouble("/engines/engine[1]/rpm");
+
+ data->epr[0] = fgGetDouble("/engines/engine[0]/epr");
+ data->epr[1] = fgGetDouble("/engines/engine[1]/epr");
+ data->epr[2] = fgGetDouble("/engines/engine[2]/epr");
+ data->epr[3] = fgGetDouble("/engines/engine[3]/epr");
+
+ data->egt[0] = (fgGetDouble("/engines/engine[0]/egt-degf") - 32.0) * 0.555;
+ data->egt[1] = (fgGetDouble("/engines/engine[1]/egt-degf") - 32.0) * 0.555;
+ data->egt[2] = (fgGetDouble("/engines/engine[2]/egt-degf") - 32.0) * 0.555;
+ data->egt[3] = (fgGetDouble("/engines/engine[3]/egt-degf") - 32.0) * 0.555;
+
+ data->n2_turbine[0] = fgGetDouble("/engines/engine[0]/n2");
+ data->n2_turbine[1] = fgGetDouble("/engines/engine[1]/n2");
+ data->n2_turbine[2] = fgGetDouble("/engines/engine[2]/n2");
+ data->n2_turbine[3] = fgGetDouble("/engines/engine[3]/n2");
+
+ data->n1_turbine[0] = fgGetDouble("/engines/engine[0]/n1");
+ data->n1_turbine[1] = fgGetDouble("/engines/engine[1]/n1");
+ data->n1_turbine[2] = fgGetDouble("/engines/engine[2]/n1");
+ data->n1_turbine[3] = fgGetDouble("/engines/engine[3]/n1");
+// Convert gph to pph for turbine engines
+ data->fuel_flow[0] = fgGetDouble("/engines/engine[0]/fuel-flow-gph") * 6.5;
+ data->fuel_flow[1] = fgGetDouble("/engines/engine[1]/fuel-flow-gph") * 6.5;
+ data->fuel_flow[2] = fgGetDouble("/engines/engine[2]/fuel-flow-gph") * 6.5;
+ data->fuel_flow[3] = fgGetDouble("/engines/engine[3]/fuel-flow-gph") * 6.5;
+
+ data->oil_pressure[0] = fgGetDouble("/engines/engine[0]/oil-pressure-psi");
+ data->oil_pressure[1] = fgGetDouble("/engines/engine[1]/oil-pressure-psi");
+ data->oil_pressure[2] = fgGetDouble("/engines/engine[2]/oil-pressure-psi");
+ data->oil_pressure[3] = fgGetDouble("/engines/engine[3]/oil-pressure-psi");
+// Just a few test numbers to test interface and drive EICAS displayss
+ for (int j=0; j<4; j++) data->oil_pressure[j] = 100.4 + 2.3*j;
+
+ data->man_pressure[0] = fgGetDouble("/engines/engine[0]/mp-osi");
+ data->man_pressure[1] = fgGetDouble("/engines/engine[1]/mp-osi");
+
+ data->total_temperature = cur_fdm_state->get_Total_temperature();
+ data->total_pressure = cur_fdm_state->get_Total_pressure();
+ data->dynamic_pressure = cur_fdm_state->get_Dynamic_pressure();
+
+ data->static_pressure = press_node->getDoubleValue();
+ data->static_temperature = temp_node->getDoubleValue();
+ data->wind = wind_speed_node->getDoubleValue();
+ data->wind_dir = wind_dir_node->getDoubleValue();