mirror of
https://github.com/paparazzi/paparazzi.git
synced 2026-06-01 04:46:51 +08:00
*** empty log message ***
This commit is contained in:
@@ -51,10 +51,15 @@ sub put_lls {
|
|||||||
}
|
}
|
||||||
|
|
||||||
sub selected_ac {
|
sub selected_ac {
|
||||||
my ($self, $old_ac, $new_ac) = @_;
|
my ($self, $previous_ac, $new_ac) = @_;
|
||||||
|
$previous_ac->detach($self, '-svsinfo', [\&foo_cbk, '-svsinfo']) if ($previous_ac);
|
||||||
|
$new_ac->attach($self, '-svsinfo', [\&foo_cbk, '-svsinfo']);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
sub foo_cbk {
|
||||||
|
my ($self, $field, $aircraft, $event, $new_value) = @_;
|
||||||
|
$self->configure('-sats', $new_value);
|
||||||
}
|
}
|
||||||
|
|
||||||
sub build_gui() {
|
sub build_gui() {
|
||||||
@@ -116,7 +121,7 @@ sub build_gui() {
|
|||||||
{ -chn => 6 , -svid => 30, -flags => 0x01, -qi => 0, -cno => 42.2, -elev => 53, -azim => 161, -prres => 0.},
|
{ -chn => 6 , -svid => 30, -flags => 0x01, -qi => 0, -cno => 42.2, -elev => 53, -azim => 161, -prres => 0.},
|
||||||
]
|
]
|
||||||
};
|
};
|
||||||
$self->{Sat}->configure( -sats => $sat_h);
|
# $self->{Sat}->configure( -sats => $sat_h);
|
||||||
$self->{Sat}->configure( -fix => 30.);
|
$self->{Sat}->configure( -fix => 30.);
|
||||||
|
|
||||||
# my $engine_h = { -nb_engine => 2,
|
# my $engine_h = { -nb_engine => 2,
|
||||||
|
|||||||
@@ -28,19 +28,23 @@ sub sats {
|
|||||||
my $nb_ch = $new_val->{-nch};
|
my $nb_ch = $new_val->{-nch};
|
||||||
my $sats = $new_val->{-sats};
|
my $sats = $new_val->{-sats};
|
||||||
my $zinc = $self->get('-zinc');
|
my $zinc = $self->get('-zinc');
|
||||||
foreach my $sat (@{$sats}) {
|
|
||||||
my $sat_obj = $self->{satellites}->[$sat->{-chn}];
|
foreach my $i (0..MAX_CH-1) {
|
||||||
$zinc->coords($sat_obj->{-group}, $self->get_pos($sat->{-elev}, $sat->{-azim}));
|
my $sat_obj = $self->{satellites}->[$i];
|
||||||
$zinc->itemconfigure ($sat_obj->{-group},
|
unless ($new_val->{svid}->[$i] eq '' or $new_val->{svid}->[$i] == 0) {
|
||||||
-visible => 1,
|
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->itemconfigure ($sat_obj->{-arc},
|
$zinc->coords($sat_obj->{-group}, $pos);
|
||||||
-fillcolor => $sat->{-flags} & 0x01 ? "green3" : "red",
|
$zinc->itemconfigure ($sat_obj->{-group}, -visible => 1 );
|
||||||
);
|
$zinc->itemconfigure ($sat_obj->{-arc},
|
||||||
$zinc->itemconfigure ($sat_obj->{-id_lab},
|
-fillcolor => $new_val->{flags}->[$i] & 0x01 ? "green3" : "red",
|
||||||
-text => sprintf("%d", $sat->{-svid}),
|
);
|
||||||
);
|
$zinc->itemconfigure ($sat_obj->{-id_lab},
|
||||||
$sat_obj->{-sig_view}->configure(-sat => $sat);
|
-text => sprintf("%d", $new_val->{svid}->[$i]),
|
||||||
|
);
|
||||||
|
$sat_obj->{-sig_view}->configure(-svid => $new_val->{svid}->[$i], -cno => $new_val->{cno}->[$i]);
|
||||||
|
}
|
||||||
|
else { $zinc->itemconfigure ($sat_obj->{-group}, -visible => 0 )}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -20,7 +20,8 @@ sub populate {
|
|||||||
-origin => [S_NEEDINIT, S_PASSIVE, S_RDONLY, S_OVRWRT, S_NOPRPG, undef],
|
-origin => [S_NEEDINIT, S_PASSIVE, S_RDONLY, S_OVRWRT, S_NOPRPG, undef],
|
||||||
-width => [S_NEEDINIT, S_PASSIVE, S_RDONLY, S_OVRWRT, S_NOPRPG, undef],
|
-width => [S_NEEDINIT, S_PASSIVE, S_RDONLY, S_OVRWRT, S_NOPRPG, undef],
|
||||||
-height => [S_NEEDINIT, S_PASSIVE, S_RDONLY, S_OVRWRT, S_NOPRPG, undef],
|
-height => [S_NEEDINIT, S_PASSIVE, S_RDONLY, S_OVRWRT, S_NOPRPG, undef],
|
||||||
-sat => [S_NOINIT, S_METHOD, S_RDWR, S_OVRWRT, S_NOPRPG, undef],
|
-svid => [S_NOINIT, S_METHOD, S_RDWR, S_OVRWRT, S_NOPRPG, undef],
|
||||||
|
-cno => [S_NOINIT, S_METHOD, S_RDWR, S_OVRWRT, S_NOPRPG, undef],
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -30,11 +31,16 @@ sub completeinit {
|
|||||||
$self->build_gui();
|
$self->build_gui();
|
||||||
}
|
}
|
||||||
|
|
||||||
sub sat {
|
sub svid {
|
||||||
my ($self, $old_val, $new_val) = @_;
|
my ($self, $old_val, $new_val) = @_;
|
||||||
return unless defined $new_val;
|
return unless defined $new_val;
|
||||||
$self->get('-zinc')->itemconfigure($self->{-id_lab}, -text => sprintf("%d", $new_val->{-svid}));
|
$self->get('-zinc')->itemconfigure($self->{-id_lab}, -text => sprintf("%d", $new_val));
|
||||||
$self->get('-zinc')->itemconfigure($self->{-sig_lab}, -text => sprintf("%.1f db", $new_val->{-cno}));
|
}
|
||||||
|
|
||||||
|
sub cno {
|
||||||
|
my ($self, $old_val, $new_val) = @_;
|
||||||
|
return unless defined $new_val;
|
||||||
|
$self->get('-zinc')->itemconfigure($self->{-sig_lab}, -text => sprintf("%.1f db", $new_val));
|
||||||
}
|
}
|
||||||
|
|
||||||
sub build_gui {
|
sub build_gui {
|
||||||
|
|||||||
@@ -76,12 +76,7 @@ sub populate {
|
|||||||
amp => [S_NOINIT, S_PASSIVE, S_RDWR, S_OVRWRT, S_NOPRPG, 0.],
|
amp => [S_NOINIT, S_PASSIVE, S_RDWR, S_OVRWRT, S_NOPRPG, 0.],
|
||||||
energy => [S_NOINIT, S_PASSIVE, S_RDWR, S_OVRWRT, S_NOPRPG, 0.],
|
energy => [S_NOINIT, S_PASSIVE, S_RDWR, S_OVRWRT, S_NOPRPG, 0.],
|
||||||
|
|
||||||
svid => [S_NOINIT, S_PASSIVE, S_RDWR, S_OVRWRT, S_NOPRPG, []],
|
-svsinfo => [S_NOINIT, S_PASSIVE, S_RDWR, S_OVRWRT, S_NOPRPG, undef],
|
||||||
flags => [S_NOINIT, S_PASSIVE, S_RDWR, S_OVRWRT, S_NOPRPG, []],
|
|
||||||
qi => [S_NOINIT, S_PASSIVE, S_RDWR, S_OVRWRT, S_NOPRPG, []],
|
|
||||||
cno => [S_NOINIT, S_PASSIVE, S_RDWR, S_OVRWRT, S_NOPRPG, []],
|
|
||||||
elev => [S_NOINIT, S_PASSIVE, S_RDWR, S_OVRWRT, S_NOPRPG, []],
|
|
||||||
azim => [S_NOINIT, S_PASSIVE, S_RDWR, S_OVRWRT, S_NOPRPG, []],
|
|
||||||
|
|
||||||
rc_status => [S_NOINIT, S_PASSIVE, S_RDWR, S_OVRWRT, S_NOPRPG, 0.],
|
rc_status => [S_NOINIT, S_PASSIVE, S_RDWR, S_OVRWRT, S_NOPRPG, 0.],
|
||||||
rc_mode => [S_NOINIT, S_PASSIVE, S_RDWR, S_OVRWRT, S_NOPRPG, 0.],
|
rc_mode => [S_NOINIT, S_PASSIVE, S_RDWR, S_OVRWRT, S_NOPRPG, 0.],
|
||||||
|
|||||||
@@ -113,36 +113,26 @@ sub on_ac_msg {
|
|||||||
# print "AircraftsManager::on_ac_msg : $msg_name\n".Dumper($fields);
|
# print "AircraftsManager::on_ac_msg : $msg_name\n".Dumper($fields);
|
||||||
if (defined ($aircraft)) {
|
if (defined ($aircraft)) {
|
||||||
delete $fields->{ac_id};
|
delete $fields->{ac_id};
|
||||||
$aircraft->configure(%{$fields});
|
if ($msg_name eq "SVSINFO") {
|
||||||
|
$aircraft->configure(-svsinfo => $fields);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$aircraft->configure(%{$fields});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
print STDERR "in AircraftsManager::on_ac_msg : unknow aircraft $ac_id in message $msg_class:$msg_name\n";
|
print STDERR "in AircraftsManager::on_ac_msg : unknow aircraft $ac_id in message $msg_class:$msg_name\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
sub on_sv_info {
|
|
||||||
my ($sender_name, $msg_class, $msg_name, $fields, $self) = @_;
|
|
||||||
print "in AircraftsManager::on_sv_info\n".Dumper($fields);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
sub listen_to_ac {
|
sub listen_to_ac {
|
||||||
my ($self, $ac_id) = @_;
|
my ($self, $ac_id) = @_;
|
||||||
my @ac_events = ( ['FLIGHT_PARAM', \&on_ac_msg],
|
my @ac_msgs = ( 'FLIGHT_PARAM', 'AP_STATUS', 'NAV_STATUS', 'CAM_STATUS', 'ENGINE_STATUS',
|
||||||
['AP_STATUS', \&on_ac_msg],
|
'FLY_BY_WIRE', 'INFRARED', 'INFLIGH_CALIB', 'SVSINFO');
|
||||||
['NAV_STATUS', \&on_ac_msg],
|
foreach my $msg_name (@ac_msgs) {
|
||||||
['CAM_STATUS', \&on_ac_msg],
|
Paparazzi::IvyProtocol::bind_msg("ground", "ground", $msg_name, {aircraft_id => $ac_id},
|
||||||
['ENGINE_STATUS', \&on_ac_msg],
|
[\&on_ac_msg, $self]);
|
||||||
['FLY_BY_WIRE', \&on_ac_msg],
|
|
||||||
['INFRARED', \&on_ac_msg],
|
|
||||||
['INFLIGH_CALIB', \&on_ac_msg],
|
|
||||||
['SVINFO', \&on_sv_info],
|
|
||||||
);
|
|
||||||
foreach my $event (@ac_events) {
|
|
||||||
Paparazzi::IvyProtocol::bind_msg("ground", "ground", $event->[0],
|
|
||||||
{aircraft_id => $ac_id}, [$event->[1], $self]);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user