// Approach
net->tuned_freq = current_radiostack->get_navcom1()->get_nav_freq();
- net->nav_radial = current_radiostack->get_navcom1()->get_nav_radial();
+ net->nav_radial = current_radiostack->get_navcom1()->get_nav_target_radial();
net->in_range = current_radiostack->get_navcom1()->get_nav_inrange();
if ( current_radiostack->get_navcom1()->get_nav_loc() ) {
}
net->course_deviation_deg
- = current_radiostack->get_navcom1()->get_nav_heading()
- - current_radiostack->get_navcom1()->get_nav_radial();
+ = current_radiostack->get_navcom1()->get_nav_reciprocal_radial()
+ - current_radiostack->get_navcom1()->get_nav_target_radial();
+ if ( net->course_deviation_deg < -1000.0
+ || net->course_deviation_deg > 1000.0 )
+ {
+ // Sanity check ...
+ net->course_deviation_deg = 0.0;
+ }
while ( net->course_deviation_deg > 180.0 ) {
net->course_deviation_deg -= 360.0;
}
if ( current_radiostack->get_navcom1()->get_nav_loc() ) {
// is an ILS
net->gs_deviation_deg
- = current_radiostack->get_navcom1()->get_nav_gs_needle_deflection()
+ = current_radiostack->get_navcom1()->get_nav_gs_deflection()
/ 5.0;
} else {
// is an ILS