From 43b661ed174c5946baef91af6565a2f26c2d2884 Mon Sep 17 00:00:00 2001 From: Gautier Hattenberger Date: Thu, 27 Jan 2011 17:10:05 +0100 Subject: [PATCH 1/4] display the actual ap_mode of the autopilot --- sw/ground_segment/cockpit/live.ml | 10 +++++----- sw/ground_segment/tmtc/Makefile | 6 +----- sw/ground_segment/tmtc/aircraft.ml | 8 +++++++- sw/ground_segment/tmtc/aircraft.mli | 6 ++++++ sw/ground_segment/tmtc/fw_server.ml | 3 ++- sw/ground_segment/tmtc/kml.ml | 7 ++++++- .../tmtc/{booz_server.ml => rotorcraft_server.ml} | 14 +++++++------- .../{booz_server.mli => rotorcraft_server.mli} | 4 +--- sw/ground_segment/tmtc/server.ml | 10 ++++++++-- sw/ground_segment/tmtc/server_globals.ml | 3 ++- 10 files changed, 45 insertions(+), 26 deletions(-) rename sw/ground_segment/tmtc/{booz_server.ml => rotorcraft_server.ml} (95%) rename sw/ground_segment/tmtc/{booz_server.mli => rotorcraft_server.mli} (89%) diff --git a/sw/ground_segment/cockpit/live.ml b/sw/ground_segment/cockpit/live.ml index 9c83aeea951..1f335539844 100644 --- a/sw/ground_segment/cockpit/live.ml +++ b/sw/ground_segment/cockpit/live.ml @@ -1158,11 +1158,11 @@ let listen_flight_params = fun geomap auto_center_new_ac alert alt_graph -> let label = Pprz.string_assoc "ap_mode" vs in ac.strip#set_label "AP" (if label="MANUAL" then "MANU" else label); let color = - match ap_mode with - "AUTO2" -> ok_color - | "AUTO1" -> "#10F0E0" - | "MANUAL" -> warning_color - | _ -> alert_color in + match ap_mode with + "AUTO2" | "NAV" -> ok_color + | "AUTO1" | "R_RCC" | "A_RCC" | "ATT_C" | "R_ZH" | "A_ZH" | "HOVER" | "HOV_C" | "H_ZH" -> "#10F0E0" + | "MANUAL" | "RATE" | "ATT" -> warning_color + | _ -> alert_color in ac.strip#set_color "AP" color; end; let gps_mode = Pprz.string_assoc "gps_mode" vs in diff --git a/sw/ground_segment/tmtc/Makefile b/sw/ground_segment/tmtc/Makefile index 9eb2547cec0..72824e30df5 100644 --- a/sw/ground_segment/tmtc/Makefile +++ b/sw/ground_segment/tmtc/Makefile @@ -48,7 +48,7 @@ OCAMLNETCMA=$(shell ocamlfind query -r -a-format -predicates byte netstring) INCLUDES= -I $(OCAMLLIB) -I ../multimon $(shell ocamlfind query -r -i-format lablgtk2) $(shell ocamlfind query -r -i-format xml-light) $(OCAMLNETINCLUDES) LIBPPRZCMA=$(OCAMLLIB)/lib-pprz.cma -SERVERCMO = server_globals.cmo aircraft.cmo wind.cmo airprox.cmo kml.cmo fw_server.ml booz_server.ml server.cmo +SERVERCMO = server_globals.cmo aircraft.cmo wind.cmo airprox.cmo kml.cmo fw_server.ml rotorcraft_server.ml server.cmo SERVERCMX = $(SERVERCMO:.cmo=.cmx) $(VAR)/boa.conf :$(CONF)/boa.conf @@ -112,10 +112,6 @@ diadec : diadec.cmo ../multimon/multimon.cma $(Q)$(OCAMLC) -custom $(INCLUDES) -o $@ unix.cma str.cma xml-light.cma lablgtk.cma glibivy-ocaml.cma lib-pprz.cma multimon.cma $^ -booz_translator : booz_translator.cmo ../../lib/ocaml/lib-pprz.cma - @echo OL $@ - $(Q)$(OCAMLC) -custom $(INCLUDES) -o $@ unix.cma str.cma xml-light.cma lablgtk.cma glibivy-ocaml.cma lib-pprz.cma booz_translator.cmo - 150m : 150m.cmo @echo OL $@ $(Q)$(OCAMLC) -custom $(INCLUDES) -o $@ unix.cma str.cma xml-light.cma lablgtk.cma glibivy-ocaml.cma lib-pprz.cma gtkInit.cmo $^ diff --git a/sw/ground_segment/tmtc/aircraft.ml b/sw/ground_segment/tmtc/aircraft.ml index dbc3118ca92..2d1c320df1c 100644 --- a/sw/ground_segment/tmtc/aircraft.ml +++ b/sw/ground_segment/tmtc/aircraft.ml @@ -70,6 +70,11 @@ type nav_ref = | Utm of Latlong.utm | Ltp of Latlong.ecef +type vehicle_type = + FixedWing + | Rotorcraft + | UnknownVehicleType + let add_pos_to_nav_ref = fun nav_ref ?(z = 0.) (x, y) -> let rec lat_of_xy = fun lat last geo (_x, _y) n e -> if n > 0 && abs_float (lat -. last) > e then @@ -92,6 +97,7 @@ let add_pos_to_nav_ref = fun nav_ref ?(z = 0.) (x, y) -> type waypoint = { altitude : float; wp_geo : Latlong.geographic } type aircraft = { + mutable vehicle_type : vehicle_type; id : string; name : string; flight_plan : Xml.xml; @@ -150,7 +156,7 @@ let max_nb_dl_setting_values = 256 (** indexed iwth an uint8 (messages.xml) *) let new_aircraft = fun id name fp airframe -> let svsinfo_init = Array.init gps_nb_channels (fun _ -> svinfo_init ()) in - { id = id ; name = name; flight_plan = fp; airframe = airframe; + { vehicle_type = UnknownVehicleType; id = id; name = name; flight_plan = fp; airframe = airframe; pos = { Latlong.posn_lat = 0.; posn_long = 0. }; unix_time = 0.; itow = Int32.of_int 0; roll = 0.; pitch = 0.; diff --git a/sw/ground_segment/tmtc/aircraft.mli b/sw/ground_segment/tmtc/aircraft.mli index f043e7f0c52..c4df220c03a 100644 --- a/sw/ground_segment/tmtc/aircraft.mli +++ b/sw/ground_segment/tmtc/aircraft.mli @@ -54,11 +54,17 @@ type nav_ref = | Utm of Latlong.utm | Ltp of Latlong.ecef +type vehicle_type = + FixedWing + | Rotorcraft + | UnknownVehicleType + val add_pos_to_nav_ref : nav_ref -> ?z:float -> (float * float) -> Latlong.geographic type waypoint = { altitude : float; wp_geo : Latlong.geographic } type aircraft = { + mutable vehicle_type : vehicle_type; id : string; name : string; flight_plan : Xml.xml; diff --git a/sw/ground_segment/tmtc/fw_server.ml b/sw/ground_segment/tmtc/fw_server.ml index ce4a4fe2ba9..4c1a4f74674 100644 --- a/sw/ground_segment/tmtc/fw_server.ml +++ b/sw/ground_segment/tmtc/fw_server.ml @@ -187,7 +187,8 @@ let log_and_parse = fun ac_name (a:Aircraft.aircraft) msg values -> a.bat <- fvalue "vsupply" /. 10.; a.fbw.rc_rate <- ivalue "frame_rate" | "PPRZ_MODE" -> - a.ap_mode <- check_index (ivalue "ap_mode") ap_modes "AP_MODE"; + a.vehicle_type <- FixedWing; + a.ap_mode <- check_index (ivalue "ap_mode") fixedwing_ap_modes "AP_MODE"; a.gaz_mode <- check_index (ivalue "ap_gaz") gaz_modes "AP_GAZ"; a.lateral_mode <- check_index (ivalue "ap_lateral") lat_modes "AP_LAT"; a.horizontal_mode <- check_index (ivalue "ap_horizontal") horiz_modes "AP_HORIZ"; diff --git a/sw/ground_segment/tmtc/kml.ml b/sw/ground_segment/tmtc/kml.ml index e3b36ac49b0..8b0fc9aeef1 100644 --- a/sw/ground_segment/tmtc/kml.ml +++ b/sw/ground_segment/tmtc/kml.ml @@ -259,10 +259,15 @@ let update_ac = fun ac -> else sprintf "http://%s:%d/var/%s/flight_plan.kml" !hostname !port ac.name in + let ap_mode = match ac.vehicle_type with + Rotorcraft -> rotorcraft_ap_modes.(ac.ap_mode) + | FixedWing -> fixedwing_ap_modes.(ac.ap_mode) + | UnknownVehicleType -> "UNK" + in let blocks = ExtXml.child ac.flight_plan "blocks" in let block = ExtXml.child blocks (string_of_int ac.cur_block) in let block_name = ExtXml.attrib block "name" in - let description = sprintf "%s: %s\nBat: %.1fV\nAGL: %.0fm\nSpeed: %.1fm/s" ap_modes.(ac.ap_mode) block_name ac.bat ac.agl ac.gspeed in + let description = sprintf "%s: %s\nBat: %.1fV\nAGL: %.0fm\nSpeed: %.1fm/s" ap_mode block_name ac.bat ac.agl ac.gspeed in let change = change_placemark ~description ac.name ac.pos ac.alt in let kml_changes = link_update url_flight_plan [change] in print_xml ac.name "ac_changes.kml" kml_changes diff --git a/sw/ground_segment/tmtc/booz_server.ml b/sw/ground_segment/tmtc/rotorcraft_server.ml similarity index 95% rename from sw/ground_segment/tmtc/booz_server.ml rename to sw/ground_segment/tmtc/rotorcraft_server.ml index a076cb9d277..7217143aac9 100644 --- a/sw/ground_segment/tmtc/booz_server.ml +++ b/sw/ground_segment/tmtc/rotorcraft_server.ml @@ -1,7 +1,5 @@ (* - * $Id: fw_server.ml,v 1.1 2009/03/22 17:53:48 hecto Exp $ - * - * Server part specific to booz vehicles + * Server part specific to rotorcraft vehicles * * Copyright (C) ENAC * @@ -97,12 +95,13 @@ let update_waypoint = fun ac wp_id p alt -> Not_found -> Hashtbl.add ac.waypoints wp_id new_wp -let get_pprz_mode = fun ap_mode -> +(*let get_pprz_mode = fun ap_mode -> let mode = ref 0 in if ap_mode = 0 || ap_mode = 1 || ap_mode = 2 || ap_mode = 4 || ap_mode = 7 then mode := 0 (* MANUAL *) else if ap_mode = 3 || ap_mode = 5 || ap_mode = 6 || ap_mode = 8 then mode := 1 (* AUTO1 *) else if ap_mode = 9 || ap_mode = 10 || ap_mode = 11 || ap_mode = 12 then mode := 2; (* AUTO2 *) !mode +*) let get_rc_status = fun rc_status -> let status = ref "" in @@ -178,13 +177,14 @@ let log_and_parse = fun ac_name (a:Aircraft.aircraft) msg values -> (*a.unix_time <- LL.unix_time_of_tow (truncate (fvalue "itow" /. 1000.)); a.itow <- Int32.of_float (fvalue "itow");*) a.flight_time <- ivalue "flight_time"; - if a.gspeed > 3. && a.ap_mode = _AUTO2 then - Wind.update ac_name a.gspeed a.course + (*if a.gspeed > 3. && a.ap_mode = _AUTO2 then + Wind.update ac_name a.gspeed a.course*) | "ROTORCRAFT_STATUS" -> + a.vehicle_type <- Rotorcraft; a.fbw.rc_status <- get_rc_status (ivalue "rc_status"); a.fbw.rc_rate <- ivalue "frame_rate"; a.gps_mode <- check_index (ivalue "gps_status") gps_modes "GPS_MODE"; - a.ap_mode <- check_index (get_pprz_mode (ivalue "ap_mode")) ap_modes "BOOZ_AP_MODE"; + a.ap_mode <- check_index (ivalue "ap_mode") rotorcraft_ap_modes "ROTORCRAFT_AP_MODE"; a.kill_mode <- ivalue "ap_motors_on" == 0; a.bat <- fvalue "vsupply" /. 10.; | "INS_REF" -> diff --git a/sw/ground_segment/tmtc/booz_server.mli b/sw/ground_segment/tmtc/rotorcraft_server.mli similarity index 89% rename from sw/ground_segment/tmtc/booz_server.mli rename to sw/ground_segment/tmtc/rotorcraft_server.mli index 14fc8f6fc8e..9cbf3fdc0f7 100644 --- a/sw/ground_segment/tmtc/booz_server.mli +++ b/sw/ground_segment/tmtc/rotorcraft_server.mli @@ -1,7 +1,5 @@ (* - * $Id: fw_server.mli,v 1.1 2009/03/22 17:53:48 hecto Exp $ - * - * Server part specific to booz vehicles + * Server part specific to rotorcraft vehicles * * Copyright (C) ENAC * diff --git a/sw/ground_segment/tmtc/server.ml b/sw/ground_segment/tmtc/server.ml index cdc31f6daad..747b63dccb5 100644 --- a/sw/ground_segment/tmtc/server.ml +++ b/sw/ground_segment/tmtc/server.ml @@ -52,6 +52,12 @@ let srtm_path = Env.paparazzi_home // "data" // "srtm" let get_indexed_value = fun t i -> if i >= 0 then t.(i) else "UNK" +let modes_of_type = fun vt -> + match vt with + FixedWing -> fixedwing_ap_modes + | Rotorcraft -> rotorcraft_ap_modes + | UnknownVehicleType -> [| |] + (** The aircrafts store *) let aircrafts = Hashtbl.create 3 @@ -135,7 +141,7 @@ let ac_msg = fun messages_xml logging ac_name ac -> let msg = Tele_Pprz.message_of_id msg_id in log ?timestamp logging ac_name msg.Pprz.name values; Fw_server.log_and_parse ac_name ac msg values; - Booz_server.log_and_parse ac_name ac msg values + Rotorcraft_server.log_and_parse ac_name ac msg values with Telemetry_error (ac_name, msg) -> Ground_Pprz.message_send my_id "TELEMETRY_ERROR" ["ac_id", Pprz.String ac_name;"message", Pprz.String msg]; @@ -355,7 +361,7 @@ let send_aircraft_msg = fun ac -> "energy", Pprz.Int a.energy] in Ground_Pprz.message_send my_id "ENGINE_STATUS" values; - let ap_mode = get_indexed_value ap_modes a.ap_mode in + let ap_mode = get_indexed_value (modes_of_type a.vehicle_type) a.ap_mode in let gaz_mode = get_indexed_value gaz_modes a.gaz_mode in let lat_mode = get_indexed_value lat_modes a.lateral_mode in let horiz_mode = get_indexed_value horiz_modes a.horizontal_mode in diff --git a/sw/ground_segment/tmtc/server_globals.ml b/sw/ground_segment/tmtc/server_globals.ml index 0255bca0b1c..029a66bb680 100644 --- a/sw/ground_segment/tmtc/server_globals.ml +++ b/sw/ground_segment/tmtc/server_globals.ml @@ -3,7 +3,8 @@ exception Telemetry_error of string * string let hostname = ref "localhost" (** FIXME: Should be read from messages.xml *) -let ap_modes = [|"MANUAL";"AUTO1";"AUTO2";"HOME";"NOGPS"|] +let fixedwing_ap_modes = [|"MANUAL";"AUTO1";"AUTO2";"HOME";"NOGPS"|] +let rotorcraft_ap_modes = [|"SAFE";"KILL";"RATE";"ATT";"R_RCC";"A_RCC";"ATT_C";"R_ZH";"A_ZH";"HOVER";"HOV_C";"H_ZH";"NAV"|] let _AUTO2 = 2 let gaz_modes = [|"MANUAL";"GAZ";"CLIMB";"ALT"|] let lat_modes = [|"MANUAL";"ROLL_RATE";"ROLL";"COURSE"|] From f21330f9bd1c98afb07842d6186cbaee2d557f43 Mon Sep 17 00:00:00 2001 From: Felix Ruess Date: Sun, 30 Jan 2011 13:58:29 +0100 Subject: [PATCH 2/4] suppress warning about unused parameter in i2c sim --- sw/airborne/arch/sim/mcu_periph/i2c_arch.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sw/airborne/arch/sim/mcu_periph/i2c_arch.c b/sw/airborne/arch/sim/mcu_periph/i2c_arch.c index 3aaa5ca9768..ceb58123b64 100644 --- a/sw/airborne/arch/sim/mcu_periph/i2c_arch.c +++ b/sw/airborne/arch/sim/mcu_periph/i2c_arch.c @@ -2,5 +2,5 @@ void i2c_hw_init ( void ) {} -bool_t i2c_idle(struct i2c_periph *p) { return TRUE; } +bool_t i2c_idle(struct i2c_periph *p __attribute__ ((unused))) { return TRUE; } bool_t i2c_submit(struct i2c_periph* p __attribute__ ((unused)), struct i2c_transaction* t __attribute__ ((unused))) { return TRUE;} From e4ed1864ea76a2708327fd24fa6700a124350dd6 Mon Sep 17 00:00:00 2001 From: Felix Ruess Date: Sun, 30 Jan 2011 19:23:42 +0100 Subject: [PATCH 3/4] added some more gcs icons. Thanks Chris (hendrixgr). --- data/pictures/gcs_icons/bungee_launch.png | Bin 0 -> 405 bytes data/pictures/gcs_icons/cam_lock.png | Bin 0 -> 876 bytes data/pictures/gcs_icons/cam_unlock.png | Bin 0 -> 1000 bytes data/pictures/gcs_icons/decide_landing_dir.png | Bin 0 -> 683 bytes data/pictures/gcs_icons/observe.png | Bin 0 -> 806 bytes data/pictures/gcs_icons/parachute.png | Bin 0 -> 323 bytes data/pictures/gcs_icons/target.png | Bin 0 -> 893 bytes 7 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 data/pictures/gcs_icons/bungee_launch.png create mode 100644 data/pictures/gcs_icons/cam_lock.png create mode 100644 data/pictures/gcs_icons/cam_unlock.png create mode 100644 data/pictures/gcs_icons/decide_landing_dir.png create mode 100644 data/pictures/gcs_icons/observe.png create mode 100644 data/pictures/gcs_icons/parachute.png create mode 100644 data/pictures/gcs_icons/target.png diff --git a/data/pictures/gcs_icons/bungee_launch.png b/data/pictures/gcs_icons/bungee_launch.png new file mode 100644 index 0000000000000000000000000000000000000000..246f9832edb77bfdf9ceceb1be4b50c41eb94134 GIT binary patch literal 405 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

5b2Z*-I|EQ=GT&y^O6kS#*%j35!Vh~O9D zF+@;LH1||hJazQ5;@XyTkq8qaKI;&ILZ zvFT}gfp@7ej;r5uzgWTNXt?T6Z@qL}*Lc8x!Hh literal 0 HcmV?d00001 diff --git a/data/pictures/gcs_icons/decide_landing_dir.png b/data/pictures/gcs_icons/decide_landing_dir.png new file mode 100644 index 0000000000000000000000000000000000000000..12df84bb1831cc8932184a0839c9568a0f9e2797 GIT binary patch literal 683 zcmV;c0#yBpP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FWS01FWTe`H^g00007bV*G`2igh? z1Um~(sgxxE00JvXL_t(I%dL_>Xj4%Xhrj#s;xn4Iq)miUmr4nB(6)*a9i$3sY+M{F zB9%^37ZGt#u%kl6!CePYM9@jlibMwm|I|gHlU8fj&?dD_Y}4mW-f?-cFEL3oc;Lsq z-20v1J@=jqmEi|kfp*{!@D`8;dIRkB8mKBm<(h5;EO%bb;F@V*D{v0D3rqs|>cAye zMK|$xm9)z(0dv3z@SHlQd#hCq_Dmq)j`MDDj?utK07t_<4RTiL;wkwtF$bsb!{))3tR_QJZoLmdI$$K$oDly)qBGpAO^&NdoCRE>J`LRVMc@e zg7JUMx)aGk0C7r6oTA|rZ43#U5h0z)lg{P=h=ew?r9Fs< zFt@NwW^oySjM_a!tQsv!S{Z$=UyD_y@fB;MJn! RE_na|002ovPDHLkV1i`eEb;&V literal 0 HcmV?d00001 diff --git a/data/pictures/gcs_icons/observe.png b/data/pictures/gcs_icons/observe.png new file mode 100644 index 0000000000000000000000000000000000000000..dd6d6f9e940a63930011179d5d360bfdf0446ab5 GIT binary patch literal 806 zcmV+>1KIqEP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L03N~s03N~tZqRi;00007bV*G`2igi6 z3<4I#ofHHB00O2-L_t(I%bk=&} zEjmF+*!1yhzS{g!YWg+*U8K02gHMADV~D<wbKs1{wAo{` zPFQc8So`p;0N5iA^B@GQ2*F%-GL2WR5=Dx=l$}Xatv2wRVW8k>4!#129`$-6VI54T z$Js7cMq%F23Y5QA$YjPiba=|pHSYK8BHy)qBQueTds{zt2Dw9Puio6MlG#6D7`Ayb z52yPM=S@TJRLb7&pkeju_05P{X`AeXYXFOV;DVE|^_JfnY51dDh=LYw%CU8gGtj+^ zQ?_N=BkulE8!J`pn2mx30HMLGVd($vuBWkm22ndgDN+C;f~6p6Oa4=}Vuwn(iqI(Z z&+wHWw3?P>?A__@evXZrucTtB4}9GWLMxGo?+tTz-y~>-Z3Qm@L=HAICsOvdmE9`kgEH}bs-3)ly9K? z0IsgWM_>b}83RE35xjj5%h&3StCRJ{0dze|n5J-NEa6ofbkag0C3PvoC-CAiG(Cub zSkLfp0c!#0=>9MfhsonGcMOgkgqb3EtMF|ZK5s(_r~uQzJ-X2qjwJQ~I0-mFytlhe kH}2a&(EEM>jXtQap9(k&v;;5M+5i9m07*qoM6N<$g1BvJUjP6A literal 0 HcmV?d00001 diff --git a/data/pictures/gcs_icons/parachute.png b/data/pictures/gcs_icons/parachute.png new file mode 100644 index 0000000000000000000000000000000000000000..06b7efba8feaf543693fa34877a523a5e6f1fac8 GIT binary patch literal 323 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc1|)ksWqE-VV{wqX6T`Z5GB1G~wj^(N7l!{J zxM1({$v_d#0*}aI1_o|n5N2eUHAey{$X?><>&kwcQI1>DsBqeoOF*H+o-U3d7N^%v zvF1CXz~gdUBOu_XLiPW{Z!|NU1i7{;a@C8SC<#21+_P3u^P%B-?uJ!=E!@<5J@?OS z6ysr7@zj9*Dc1w1B-U%IJ!SqeOYIchz2VQA8?8?Rtj;gpn(6f*Rd%mvL}s+X{_kyP z7Cw!A!RvjmKve2**TOSS#Sx{aOji`9-nx=-cB`bNDck*(1uq<%H=nPmam~$opV&F? zbjod8%LA|d4wl+}*L1zB7%46jH9f6b=dJA;)r`5j_M8r#axaR>-uhcm`h5@aPeAW5 Nc)I$ztaD0e0suBGdjJ3c literal 0 HcmV?d00001 diff --git a/data/pictures/gcs_icons/target.png b/data/pictures/gcs_icons/target.png new file mode 100644 index 0000000000000000000000000000000000000000..afafafe60925ab94be1a19e854d70e514d93b3f8 GIT binary patch literal 893 zcmV-@1A_dCP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L03N~s03N~tZqRi;00007bV*G`2igi6 z3w;<>6p*-(-@mtiC*ZVQvQTCWR*mL(YYv{gv@C^}CC7dwo99uZXaMWz6ar%I(^_iGDYz?0anXHu}irw*>(S`bd|6pcrP8`ti9 zC-(*fCx`=2nq?yy)yd7gyV@&f8U{LmU_?L~9Fo z>;6bclL1gN0R9+n;XPCc4pV-U{OX*_&K(6Df)EFjZE@6YwpCE{i1-LcaTaU1NN|La zrH0XRDUJfK(Hq9Aad9YyNsoz%9t5oRGFT-kr;;#~a}dIS$wDCl!;b^r#&etPh-(z< z4S8-9!Y-#;txjf(X+9L+;!Eu98?|R(>h%?2U}oLJ)6G`9Q7jg89tZpkf8it+@FPC# ziC9ZJvfQclJ^Z`TN{i#8W%YDfj3C(pnBjOo2O`H(H(SelpA%NO888#(^6OEk<^M$o z_qthzU)Nif@qVqo+{#8roWXT;{{t+?UGhbaSE)S!R+-89^ya-q#ztH!#m?E{Hf?a= z3Z|K@@zwhKsQ(=LiP?;2o@%xCl!u4IaHJfR+ih{a8QbX1COgUe*Bt$xwqB;|z+sG? zXV*FYd^+ts-)S_u3i!E^zGYOV*Dlc z@8j7icGsw1V(tuA?=#I??Q*eyxe}E6>f^qpoxYkDmij+oI#~QKGO8Ce T9rXer00000NkvXXu0mjf8dszG literal 0 HcmV?d00001 From 9208b0d98ec5b799e5fca99497d9f1a32fc9152e Mon Sep 17 00:00:00 2001 From: Felix Ruess Date: Sun, 30 Jan 2011 23:00:06 +0100 Subject: [PATCH 4/4] added ADC_3 to tiny board file for sim. Thanks Chris. --- sw/airborne/boards/tiny_sim.h | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/sw/airborne/boards/tiny_sim.h b/sw/airborne/boards/tiny_sim.h index c3bb4a9eead..ff3845ca867 100644 --- a/sw/airborne/boards/tiny_sim.h +++ b/sw/airborne/boards/tiny_sim.h @@ -2,20 +2,20 @@ #define CONFIG_TINY_H /* Master oscillator freq. */ -#define FOSC (12000000) +#define FOSC (12000000) /* PLL multiplier */ -#define PLL_MUL (5) +#define PLL_MUL (5) /* CPU clock freq. */ -#define CCLK (FOSC * PLL_MUL) +#define CCLK (FOSC * PLL_MUL) /* Peripheral bus speed mask 0x00->4, 0x01-> 1, 0x02 -> 2 */ -#define PBSD_BITS 0x00 +#define PBSD_BITS 0x00 #define PBSD_VAL 4 /* Peripheral bus clock freq. */ -#define PCLK (CCLK / PBSD_VAL) +#define PCLK (CCLK / PBSD_VAL) #define LED_1_BANK 1 #define LED_1_PIN 28 @@ -80,7 +80,14 @@ #define USE_AD0_1 #endif -/* #define ADC_3 AdcBank1(7) Used for VSUPPLY */ +#define ADC_3 AdcBank0(6) +#ifdef USE_ADC_3 +#ifndef USE_AD0 +#define USE_AD0 +#endif +#define USE_AD0_6 +#endif + #define ADC_4 AdcBank1(3) #ifdef USE_ADC_4 @@ -114,6 +121,7 @@ #define USE_AD1_2 #endif +/* #define ADC_3 AdcBank1(7) Used for VSUPPLY */ #define ADC_CHANNEL_VSUPPLY AdcBank1(7) #ifndef USE_AD1 #define USE_AD1