diff --git a/conf/conf.xml b/conf/conf.xml index d85f89f8a9..d4bbce1a48 100644 --- a/conf/conf.xml +++ b/conf/conf.xml @@ -27,8 +27,8 @@ name="Thon1" ac_id="1" airframe="airframes/twinstar1.xml" - radio="radios/cockpitMM.xml" - flight_plan="flight_plans/muret_mini.xml" + radio="radios/mc3030.xml" + flight_plan="flight_plans/muret4.xml" /> - + diff --git a/sw/ground_segment/cockpit/Paparazzi/APPage.pm b/sw/ground_segment/cockpit/Paparazzi/AutopilotPage.pm similarity index 90% rename from sw/ground_segment/cockpit/Paparazzi/APPage.pm rename to sw/ground_segment/cockpit/Paparazzi/AutopilotPage.pm index c691fbba11..684ab97e90 100644 --- a/sw/ground_segment/cockpit/Paparazzi/APPage.pm +++ b/sw/ground_segment/cockpit/Paparazzi/AutopilotPage.pm @@ -1,4 +1,4 @@ -package Paparazzi::APPage; +package Paparazzi::AutopilotPage; use Paparazzi::NDPage; @ISA = ("Paparazzi::NDPage"); use strict; @@ -36,14 +36,14 @@ sub build_gui { my ($self) = @_; $self->SUPER::build_gui(); my $zinc = $self->get('-zinc'); - my $dy = $self->get('-height')/10; - my $y=10; - my $x=10; + my ($y, $dy) = (10, $self->get('-height')/10); + my ($x, $dx) = (10, 100); foreach my $field (@fields) { $zinc->add('text', $self->{main_group}, -position => [$x, $y+$self->{vmargin}], -color => 'white', -anchor => 'w', + -font => $self->{big_font}, -text => $field); $self->{'text_'.$field} = $zinc->add('text', $self->{main_group}, -position => [$x + 100, $y+$self->{vmargin}], diff --git a/sw/ground_segment/cockpit/Paparazzi/GpsPage.pm b/sw/ground_segment/cockpit/Paparazzi/GpsPage.pm index ec2eedf5e5..6d0b1b0415 100644 --- a/sw/ground_segment/cockpit/Paparazzi/GpsPage.pm +++ b/sw/ground_segment/cockpit/Paparazzi/GpsPage.pm @@ -15,7 +15,6 @@ sub populate { $self->SUPER::populate($args); $self->configspec( -svsinfo => [S_NOINIT, S_METHOD, S_RDWR, S_OVRWRT, S_NOPRPG, undef], - -fix => [S_NOINIT, S_METHOD, S_RDWR, S_OVRWRT, S_NOPRPG, undef], ); } @@ -33,7 +32,6 @@ sub svsinfo { my $sat_obj = $self->{satellites}->[$i]; unless ($new_val->{svid}->[$i] == 0) { my $pos = $self->get_pos($new_val->{elev}->[$i], $new_val->{azim}->[$i]); -# print "in SatPage::sats $i $new_val->{svid}->[$i] $new_val->{elev}->[$i], $new_val->{azim}->[$i] @{$pos}\n"; $zinc->coords($sat_obj->{-group}, $pos); $zinc->itemconfigure ($sat_obj->{-group}, -visible => 1 ); $zinc->itemconfigure ($sat_obj->{-arc}, @@ -48,15 +46,6 @@ sub svsinfo { } } - -sub fix { - my ($self, $old_val, $new_val) = @_; -# print "in fix\n"; - return unless defined $new_val and defined $self->{rg}; -# print "in fix2\n"; -} - - sub get_pos { my ($self, $elev, $azim) = @_; my $sky_radius = $self->{sky_radius}; @@ -88,6 +77,7 @@ sub build_gui { [-$rad, -$rad, $rad, $rad], -visible => 1, -linecolor => 'white', + -linewidth => 1, -filled => 0, ); $zinc->add('text', $self->{sky_group}, @@ -95,10 +85,10 @@ sub build_gui { -text => sprintf("%.0f", $elev), -color => 'white', -anchor => 'c', + -font => $self->{small_font}, ); } # azimut scale - my $tick_font = '-adobe-helvetica-bold-o-normal--24-240-100-100-p-182-iso8859-1'; my $ticks = [["S", [0, $sky_radius]], ["E", [ $sky_radius, 0]], ["N", [0, -$sky_radius]], ["W", [-$sky_radius, 0]]]; foreach my $tick (@{$ticks}) { @@ -107,7 +97,7 @@ sub build_gui { -position => $pos, -text => $txt, -color => 'white', - -font => $tick_font, + -font => $self->{big_font}, -anchor => 'c', ); } diff --git a/sw/ground_segment/cockpit/Paparazzi/IRPage.pm b/sw/ground_segment/cockpit/Paparazzi/IRPage.pm deleted file mode 100644 index 290a87a417..0000000000 --- a/sw/ground_segment/cockpit/Paparazzi/IRPage.pm +++ /dev/null @@ -1,152 +0,0 @@ -package Paparazzi::IRPage; -use Paparazzi::NDPage; -@ISA = ("Paparazzi::NDPage"); -use strict; -use Subject; -use DigiKit::Button; - -use Paparazzi::HistoryView; - - -use constant TITLE => "Infrared"; -use constant UPDATE_REPEAT => 2000; - -sub populate { - my ($self, $args) = @_; - $args->{-title} = TITLE; - $self->SUPER::populate($args); - $self->configspec( - -wind => [S_NOINIT, S_METHOD, S_RDWR, S_OVRWRT, S_NOPRPG, {}], - -lls => [S_NOINIT, S_METHOD, S_RDWR, S_OVRWRT, S_NOPRPG, 0.0015], - ); -} - -sub completeinit { - my $self = shift; - $self->{wind_running} = 0; - $self->SUPER::completeinit(); -# $self->build_gui(); - $self->configure('-pubevts' => 'WIND_COMMAND'); - $self->{timer_id} = $self->get('-zinc')->repeat(UPDATE_REPEAT, [\&onTimer, $self]); -} - -sub onTimer { - my ( $self) = @_; - $self->{history}->put_value(scalar $self->get('-lls')); -} - -sub wind { - my ($self, $old_val, $new_val) = @_; - foreach my $field (keys %{$new_val}) { - $self->get('-zinc')->itemconfigure ($self->{'text_'.$field}, - -text => sprintf("%s : %.4f", $field, $new_val->{$field})) if defined $self->{'text_'.$field}; - } -} - -sub lls { - my ($self, $old_val, $new_val) = @_; - return unless defined $new_val and defined $self->{history}; -# $self->{history}->put_value($new_val); - $self->get('-zinc')->itemconfigure ($self->{'text_auto gain'}, - -text => sprintf("auto gain : %.5f", $new_val)); -} - -#sub put_lls { -# my ($self, $value) = @_; -## $self->{history}->put_value($value); -#} - -sub build_gui { - my ($self) = @_; - $self->SUPER::build_gui(); - my $zinc = $self->get('-zinc'); - my $parent_grp = $self->get('-parent_grp'); - my $main_group = $self->{main_group}; - - my $fields = ["contrast", "gain","auto gain"]; - my ($y, $dy) = ( 35, 20); - foreach my $field (@{$fields}) { - $self->{'text_'.$field} = $zinc->add('text', $main_group, - -position => [20, $y], - -color => 'white', - -anchor => 'w', - -text => "$field"); - $y+=$dy; - } - - my $nb_bars = 125; - $self->{history} = - Paparazzi::HistoryView->new(-zinc => $zinc, - -width => 250, - -height => 50, - -origin => [20, 90], - -parent_grp => $self->{main_group}, - -nb_bars => $nb_bars, - -initial_range => 0.003, - ); - $zinc->add('text', $main_group, - -position => [20, 145], - -color => 'white', - -anchor => 'w', - -text => sprintf("%d seconds", UPDATE_REPEAT * $nb_bars / 1000), - ); - - $zinc->add('text', $main_group, - -position => [10, 170], - -color => 'white', - -anchor => 'w', - -text => "Wind"); - - $fields = ['dir', 'speed','mean_aspeed', 'stddev']; - ($y, $dy) = ( 190, 20); - foreach my $field (@{$fields}) { - $self->{'text_'.$field} = $zinc->add('text', $main_group, - -position => [20, $y], - -color => 'white', - -anchor => 'w', - -text => "$field"); - $y+=$dy; - } - - $self->{button_clear_wind} = DigiKit::Button->new(-widget => $zinc, - -parentgroup => $main_group, - -style => ['Aqualike', - -width => 60, - -height => 20, - -color => 'green', - -text => 'clear', - -trunc => 'right', - ], - -position => [10, 262], - ); - $self->{button_toggle_wind} = DigiKit::Button->new(-widget => $zinc, - -parentgroup => $main_group, - -style => ['Aqualike', - -width => 60, - -height => 20, - -color => 'green', - -text => 'start', - -trunc => 'left', - ], - -position => [70, 262], - ); - $self->{button_clear_wind}->configure(-releasecommand => sub { - $self->notify('WIND_COMMAND', 'clear'); - } - ); - $self->{button_toggle_wind}->configure(-releasecommand => sub { - if ($self->{wind_running}) { - $self->{button_toggle_wind}->value('start'); - $self->notify('WIND_COMMAND', 'stop'); - $self->{wind_running} = 0; - } - else { - $self->{button_toggle_wind}->value('stop'); - $self->notify('WIND_COMMAND', 'start'); - $self->{wind_running} = 1; - } - } - ); - -} - diff --git a/sw/ground_segment/cockpit/Paparazzi/InfraredPage.pm b/sw/ground_segment/cockpit/Paparazzi/InfraredPage.pm new file mode 100644 index 0000000000..cd20a043d4 --- /dev/null +++ b/sw/ground_segment/cockpit/Paparazzi/InfraredPage.pm @@ -0,0 +1,100 @@ +package Paparazzi::InfraredPage; +use Paparazzi::NDPage; +@ISA = ("Paparazzi::NDPage"); +use strict; +use Subject; +use DigiKit::Button; + +use Paparazzi::HistoryView; + + +use constant TITLE => "Infrared"; +use constant UPDATE_REPEAT => 2000; +my @fields = ('contrast_status', 'contrast_value', 'gps_hybrid_mode', 'gps_hybrid_factor'); + +sub populate { + my ($self, $args) = @_; + $args->{-title} = TITLE; + $self->SUPER::populate($args); + $self->configspec( + -lls => [S_NOINIT, S_METHOD, S_RDWR, S_OVRWRT, S_NOPRPG, 0.0015], + ); +} + +sub completeinit { + my $self = shift; + $self->SUPER::completeinit(); +# $self->build_gui(); + $self->{timer_id} = $self->get('-zinc')->repeat(UPDATE_REPEAT, [\&onTimer, $self]); +} + +sub set_aircraft { + my ($self, $prev_ac, $new_ac) = @_; + foreach my $field (@fields) { + $prev_ac->detach($self, $field, [\&update_field]) if ($prev_ac); + $new_ac->attach($self, $field, [\&update_field]) if ($new_ac); + } +} + +sub update_field { + my ($self, $aircraft, $field, $new_value) = @_; + my $text = $new_value; + $self->get('-zinc')->itemconfigure($self->{'value_'.$field}, -text => $text); +} + +sub onTimer { + my ( $self) = @_; + $self->{history}->put_value(scalar $self->get('-lls')); +} + +sub lls { + my ($self, $old_val, $new_val) = @_; + return unless defined $new_val and defined $self->{history}; + $self->get('-zinc')->itemconfigure ($self->{'text_auto gain'}, + -text => sprintf("auto gain : %.5f", $new_val)); +} + +sub build_gui { + my ($self) = @_; + $self->SUPER::build_gui(); + my $zinc = $self->get('-zinc'); + my $parent_grp = $self->get('-parent_grp'); + my $main_group = $self->{main_group}; + + my ($y, $dy) = ( 35, 20); + my ($x, $dx) = (10, 150); + foreach my $field (@fields) { + $self->{'label_'.$field} = $zinc->add('text', $main_group, + -position => [$x, $y], + -color => 'white', + -anchor => 'w', + -text => "$field"); + $self->{'value_'.$field} = $zinc->add('text', $main_group, + -position => [$x+$dx, $y], + -color => 'white', + -anchor => 'w', + -text => "N/A"); + $y+=$dy; + } + + my $nb_bars = 125; + $dy = 50; + $self->{history} = + Paparazzi::HistoryView->new(-zinc => $zinc, + -width => 250, + -height => $dy, + -origin => [20, $y], + -parent_grp => $self->{main_group}, + -nb_bars => $nb_bars, + -initial_range => 0.003, + ); + $y += $dy+10; + $zinc->add('text', $main_group, + -position => [20, $y ], + -color => 'white', + -anchor => 'w', + -text => sprintf("%d seconds", UPDATE_REPEAT * $nb_bars / 1000), + -font => $self->{small_font}, + ); +} + diff --git a/sw/ground_segment/cockpit/Paparazzi/ND.pm b/sw/ground_segment/cockpit/Paparazzi/ND.pm index 23fc6a5dcb..2314d6094f 100644 --- a/sw/ground_segment/cockpit/Paparazzi/ND.pm +++ b/sw/ground_segment/cockpit/Paparazzi/ND.pm @@ -9,8 +9,8 @@ use Tk; use Tk::Zinc; use Paparazzi::SatPage; use Paparazzi::EnginePage; -use Paparazzi::APPage; -use Paparazzi::IRPage; +use Paparazzi::AutopilotPage; +use Paparazzi::InfraredPage; sub populate { my ($self, $args) = @_; @@ -52,8 +52,9 @@ sub selected_ac { $previous_ac->detach($self, $attr, [\&foo_cbk, $attr]) if ($previous_ac); $new_ac->attach($self, $attr, [\&foo_cbk, $attr]); } - $self->{AP}->set_aircraft($previous_ac, $new_ac); + $self->{Autopilot}->set_aircraft($previous_ac, $new_ac); $self->{Settings}->set_aircraft($previous_ac, $new_ac); + $self->{Infrared}->set_aircraft($previous_ac, $new_ac); } sub foo_cbk { @@ -79,7 +80,7 @@ sub build_gui() { my $real_width = $page_width - 2*$margin; my ($page_per_row, $row, $col) = (2, 0, 0); - my @pages = ('Gps', 'AP', 'Settings', 'Engine', 'IR'); + my @pages = ('Infrared', 'Gps', 'Autopilot', 'Settings', 'Engine'); foreach my $page (@pages) { $self->{$page} = $self->component('Paparazzi::'.$page.'Page', -zinc => $zinc, @@ -96,26 +97,6 @@ sub build_gui() { $col++; unless ($col lt $page_per_row) { $col=0; $row++ }; } - - - - -# my $engine_h = { -nb_engine => 2, -# -engine => [{throttle => 50, -rpm => 3500, -temp => 39}, -# {throttle => 50, -rpm => 3400, -temp => 37}], -# -bat => 11.5, -# -energy => 25.2 -# }; - -# my $ap_h = { -# -mode => 1, -# -h_mode => 2, -# -v_mode => 0, -# -target_climb => 1., -# -target_alt => 200., -# -target_heading => 36., -# }; -# $self->{AP}->configure( -ap_status => $ap_h); } 1; diff --git a/sw/ground_segment/cockpit/Paparazzi/NDPage.pm b/sw/ground_segment/cockpit/Paparazzi/NDPage.pm index 73100487e1..8cb569fdbe 100644 --- a/sw/ground_segment/cockpit/Paparazzi/NDPage.pm +++ b/sw/ground_segment/cockpit/Paparazzi/NDPage.pm @@ -24,6 +24,7 @@ sub populate { sub completeinit { my $self = shift; $self->SUPER::completeinit; + $self->{big_font} = "bleriot-radar-m16c"; $self->{normal_font} = "bleriot-radar-m12c"; $self->{small_font} = "bleriot-radar-m8c"; $self->build_gui(); diff --git a/sw/ground_segment/cockpit/Paparazzi/PFD_Panel.pm b/sw/ground_segment/cockpit/Paparazzi/PFD_Panel.pm index 3cfd8460dd..6cc51e1d8e 100644 --- a/sw/ground_segment/cockpit/Paparazzi/PFD_Panel.pm +++ b/sw/ground_segment/cockpit/Paparazzi/PFD_Panel.pm @@ -27,7 +27,7 @@ sub completeinit { my $self = shift; $self->SUPER::completeinit(); - $self->{pages} = ['Gps', 'AP', 'Settings', 'Engine', 'IR']; + $self->{pages} = ['Infrared', 'Gps', 'Autopilot', 'Settings', 'Engine']; $self->build_gui(); $self->configure('-pubevts' => 'CLICKED'); } diff --git a/sw/ground_segment/cockpit/Paparazzi/SettingsPage.pm b/sw/ground_segment/cockpit/Paparazzi/SettingsPage.pm index 0b68906d50..b5a99eeb55 100644 --- a/sw/ground_segment/cockpit/Paparazzi/SettingsPage.pm +++ b/sw/ground_segment/cockpit/Paparazzi/SettingsPage.pm @@ -7,18 +7,21 @@ use Data::Dumper; use constant TITLE => "Settings"; -my @fields = ('if_mode', 'ap_mode'); +my @fields = ('if_mode', 'if_value1', 'if_value2', 'ap_mode'); +my @ap_modes = ('AUTO1', 'AUTO2'); +my @if_modes = ('UP', 'DOWN'); +my @sliders = ('gain_1', 'gain_2'); sub populate { my ($self, $args) = @_; $args->{-title} = TITLE; $self->SUPER::populate($args); $self->configspec( + ap_mode => [S_NOINIT, S_PASSIVE, S_RDWR, S_OVRWRT, S_NOPRPG, 'MANUAL'], + if_mode => [S_NOINIT, S_PASSIVE, S_RDWR, S_OVRWRT, S_NOPRPG, 'OFF'], ); } - - sub set_aircraft { my ($self, $prev_ac, $new_ac) = @_; foreach my $field (@fields) { @@ -26,15 +29,15 @@ sub set_aircraft { $new_ac->attach($self, $field, [\&update_field]) if ($new_ac); } my $fligh_plan = $new_ac->get('flight_plan'); - # use Data::Dumper; - # print "#####".Dumper(scalar $fligh_plan->get('-rc_control')); - my $zinc = $self->get('-zinc'); my $rc_controls = $fligh_plan->get('-rc_control'); - foreach my $mode (keys %{$rc_controls}) { - foreach my $dir (keys %{$rc_controls->{$mode}}) { - foreach my $slider (keys %{$rc_controls->{$mode}->{$dir}}) { + my $zinc = $self->get('-zinc'); + foreach my $mode (@ap_modes) { + foreach my $dir (@if_modes) { + foreach my $slider (@sliders) { my $label = $self->{'label_'.$mode."_".$dir."_".$slider}; - $zinc->itemconfigure($label, -text => $rc_controls->{$mode}->{$dir}->{$slider}->[0]); + my $text = defined $rc_controls->{$mode}->{$dir}->{$slider} ? + $rc_controls->{$mode}->{$dir}->{$slider}->[0] : 'N/A'; + $zinc->itemconfigure($label, -text => $text); } } } @@ -42,24 +45,32 @@ sub set_aircraft { sub update_field { my ($self, $aircraft, $field, $new_value) = @_; - if ($field eq 'ap_mode' or $field eq 'if_mode') { - $self->get('-zinc')->itemconfigure($self->{'text_'.$field}, -text => $new_value); - } -# else { my $zinc = $self->get('-zinc'); my $ap_mode = $aircraft->get('ap_mode'); my $if_mode = $aircraft->get('if_mode'); - foreach my $slider ('gain_1', 'gain_2') { - my $label = $self->{'label_'.$ap_mode."_".$if_mode."_".$slider}; - $zinc->itemconfigure($label, -color => 'green'); - print "$ap_mode $if_mode $slider $label\n"; + if ($field eq 'ap_mode' or $field eq 'if_mode') { + $zinc->itemconfigure($self->{'text_'.$field}, -text => $new_value); + my $old_ap_mode = $self->get('ap_mode'); + my $old_if_mode = $self->get('if_mode'); + foreach my $slider (@sliders) { + my $label = $self->{'label_'.$old_ap_mode."_".$old_if_mode."_".$slider}; + $zinc->itemconfigure($label, -color => 'white') if defined $label; + $label = $self->{'value_'.$old_ap_mode."_".$old_if_mode."_".$slider}; + $zinc->itemconfigure($label, -color => 'white') if defined $label; + $label = $self->{'label_'.$ap_mode."_".$if_mode."_".$slider}; + $zinc->itemconfigure($label, -color => 'green') if defined $label; + $label = $self->{'value_'.$ap_mode."_".$if_mode."_".$slider}; + $zinc->itemconfigure($label, -color => 'green') if defined $label; + $self->configure( 'ap_mode' => $ap_mode, 'if_mode' => $if_mode); + # print "$ap_mode $if_mode $slider $label\n"; + } + } + else { + $field =~ /if_value(\S)/; + my $slider = "gain_".$1; + my $label = $self->{'value_'.$ap_mode."_".$if_mode."_".$slider}; + $zinc->itemconfigure($label, -text => $new_value) if defined $label; } - # $field =~ /if_value(\S)/; - # my $slider = "GAIN_".$1; - # my $label = $self->{'label_'.$ap_mode."_".$if_mode."_".$slider}; - # print "$ap_mode $if_mode $slider $label\n"; - -# } } sub build_gui { @@ -69,23 +80,29 @@ sub build_gui { my $dy = $self->get('-height')/10; my $y=10; my $x=10; - foreach my $field (@fields) { + my $dx = 70; + foreach my $field ('ap_mode', 'if_mode') { $zinc->add('text', $self->{main_group}, -position => [$x, $y+$self->{vmargin}], -color => 'white', -anchor => 'w', - -text => $field); + -text => $field, + -font => $self->{normal_font}, + ); + $x += $dx; $self->{'text_'.$field} = $zinc->add('text', $self->{main_group}, - -position => [$x + 100, $y+$self->{vmargin}], + -position => [$x, $y+$self->{vmargin}], -color => 'white', -anchor => 'w', -text => 'NA'); - $y+=$dy; + $x += $dx; } - my @ap_modes = ('AUTO1', 'AUTO2'); - my @if_modes = ('UP', 'DOWN'); - my @sliders = ('gain_1', 'gain_2'); + $x = 10; + $y+=$dy; + + $dx = 100; + $dy = 35; foreach my $ap_mode (@ap_modes) { $x = 10; $zinc->add('text', $self->{main_group}, @@ -94,7 +111,7 @@ sub build_gui { -anchor => 'w', -text => $ap_mode); foreach my $slider (@sliders) { - $x += 100; + $x += $dx; $zinc->add('text', $self->{main_group}, -position => [$x, $y+$self->{vmargin}], -color => 'white', @@ -103,25 +120,34 @@ sub build_gui { } foreach my $if_mode (@if_modes) { $x = 10; - $y += 35; + $y += $dy; $zinc->add('text', $self->{main_group}, -position => [$x, $y+$self->{vmargin}], -color => 'white', -anchor => 'w', -text => $if_mode); foreach my $slider (@sliders) { - $x += 100; + $x += $dx; $self->{'label_'.$ap_mode."_".$if_mode."_".$slider} = $zinc->add('text', $self->{main_group}, - -position => [$x, $y+$self->{vmargin}], + -position => [$x, $y+$self->{vmargin} - 7], -color => 'white', -anchor => 'w', -text => "N/A", -font => $self->{small_font}, ); + $self->{'value_'.$ap_mode."_".$if_mode."_".$slider} = + $zinc->add('text', $self->{main_group}, + -position => [$x, $y+$self->{vmargin} + 7], + -color => 'white', + -anchor => 'w', + -text => "N/A", + -font => $self->{small_font}, + ); + } } - $y += 35; + $y += $dy; } } diff --git a/sw/ground_segment/cockpit/Paparazzi/Strip.pm b/sw/ground_segment/cockpit/Paparazzi/Strip.pm index f3f84242c3..dd83ddeec3 100644 --- a/sw/ground_segment/cockpit/Paparazzi/Strip.pm +++ b/sw/ground_segment/cockpit/Paparazzi/Strip.pm @@ -318,7 +318,7 @@ sub set_item { # print "in Strip::set_item $item_name $string $color ($self->{prefix})\n"; my $zinc = $self->get('-zinc'); my $item = $zinc->find('withtag', $self->{prefix}.$item_name."_value"); - print "in Strip::set_item $item_name $string color $color\n"; +# print "in Strip::set_item $item_name $string color $color\n"; $zinc->itemconfigure($item, -text => $string, -color => $color); } @@ -371,6 +371,17 @@ sub attach_to_aircraft { } +sub get_color { + my ($self, $mode, $value) = @_; + if (defined $self->{new_modes}->{$mode}->{$value}) { + return $self->{new_modes}->{$mode}->{$value}; + } + else { + return 'black'; + } +} + + sub aircraft_config_changed { my ($self, $aircraft, $event, $new_value) = @_; # print "in strip aircraft_config_changed $event $new_value\n"; @@ -382,8 +393,7 @@ sub aircraft_config_changed { $self->get('-zinc')->itemconfigure($self->{ident}, -text => scalar $new_value->get('-name')) if defined $new_value; } elsif ($event eq 'rc_status' or $event eq 'rc_mode' or $event eq 'contrast_status' or $event eq 'ap_mode' or $event eq 'gps_mode') { - my $color = $self->{new_modes}->{$event}->{$new_value}; - $self->set_item($event, $new_value, $color); + $self->set_item($event, $new_value, $self->get_color($event, $new_value)); } elsif ($event eq 'flight_time') { $self->set_item("flight_time",$self->string_of_time($new_value), $self->{options}->{value_color}); diff --git a/sw/lib/perl/Paparazzi/Flightplan.pm b/sw/lib/perl/Paparazzi/Flightplan.pm index 4ddd206746..727e027f7f 100644 --- a/sw/lib/perl/Paparazzi/Flightplan.pm +++ b/sw/lib/perl/Paparazzi/Flightplan.pm @@ -147,7 +147,7 @@ sub parse_rc_control { $s->getAttribute('range'), $s->getAttribute('type')); $rc =~ /(gain_.+)_(\S+)/; - my ($slider, $direction) = ($1, $2); + my ($slider, $direction) = ($1, uc $2); $rc_control->{$mode_name}->{$direction}->{$slider} = [$var, $range, $type]; } }