mirror of
https://github.com/paparazzi/paparazzi.git
synced 2026-06-05 06:54:49 +08:00
86 lines
2.7 KiB
OCaml
86 lines
2.7 KiB
OCaml
(*
|
|
* Real time handling of flying A/Cs
|
|
*
|
|
* Copyright (C) 2004-2006 ENAC, Pascal Brisset, Antoine Drouin
|
|
*
|
|
* This file is part of paparazzi.
|
|
*
|
|
* paparazzi is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation; either version 2, or (at your option)
|
|
* any later version.
|
|
*
|
|
* paparazzi is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with paparazzi; see the file COPYING. If not, write to
|
|
* the Free Software Foundation, 59 Temple Place - Suite 330,
|
|
* Boston, MA 02111-1307, USA.
|
|
*
|
|
*)
|
|
|
|
|
|
type color = string
|
|
type aircraft = private {
|
|
ac_name : string;
|
|
ac_speech_name : string;
|
|
config : Pprz.values;
|
|
track : MapTrack.track;
|
|
color: color;
|
|
fp_group : MapFP.flight_plan;
|
|
fp_show : GMenu.check_menu_item;
|
|
wp_HOME : MapWaypoints.waypoint option;
|
|
fp : Xml.xml;
|
|
blocks : (int * string) list;
|
|
mutable last_ap_mode : string;
|
|
mutable last_stage : int * int;
|
|
ir_page : Pages.infrared;
|
|
gps_page : Pages.gps;
|
|
pfd_page : Horizon.pfd;
|
|
link_page : Pages.link;
|
|
misc_page : Pages.misc;
|
|
dl_settings_page : Page_settings.settings option;
|
|
rc_settings_page : Pages.rc_settings option;
|
|
pages : GObj.widget;
|
|
notebook_label : GMisc.label;
|
|
strip : Strip.t;
|
|
mutable first_pos : bool;
|
|
mutable last_block_name : string;
|
|
mutable in_kill_mode : bool;
|
|
mutable speed : float;
|
|
mutable alt : float;
|
|
mutable target_alt : float;
|
|
mutable flight_time : int;
|
|
mutable wind_speed : float;
|
|
mutable wind_dir : float; (* Rad *)
|
|
mutable ground_prox : bool;
|
|
mutable got_track_status_timer : int;
|
|
mutable last_dist_to_wp : float;
|
|
mutable dl_values : float array;
|
|
mutable last_unix_time : float;
|
|
mutable airspeed : float
|
|
}
|
|
|
|
val aircrafts : (string, aircraft) Hashtbl.t
|
|
|
|
val safe_bind : string -> (string -> Pprz.values -> unit) -> unit
|
|
|
|
val track_size : int ref
|
|
(** Default length for A/C tracks on the 2D view *)
|
|
|
|
val auto_hide_fp : bool -> unit
|
|
(** Automatically hide flight plan of not selected ac *)
|
|
|
|
val listen_acs_and_msgs : MapCanvas.widget -> GPack.notebook -> Pages.alert -> bool -> Gtk_tools.pixmap_in_drawin_area -> unit
|
|
(** [listen_acs_and_msgs geomap aircraft_notebook alert_page auto_center_new_ac alt_graph] *)
|
|
|
|
val jump_to_block : string -> int -> unit
|
|
(** [jump_to_block ac_id block_id] Sends a JUMP_TO_BLOCK message *)
|
|
|
|
val dl_setting : string -> int -> float -> unit
|
|
(** [dl_setting ac_id var_index value] Sends a DL_SETTING message *)
|
|
|