[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[paparazzi-commits] [4454] add optional timestamp to message_send
From: |
Pascal Brisset |
Subject: |
[paparazzi-commits] [4454] add optional timestamp to message_send |
Date: |
Mon, 18 Jan 2010 20:31:38 +0000 |
Revision: 4454
http://svn.sv.gnu.org/viewvc/?view=rev&root=paparazzi&revision=4454
Author: hecto
Date: 2010-01-18 20:31:38 +0000 (Mon, 18 Jan 2010)
Log Message:
-----------
add optional timestamp to message_send
discard optional timestamp in message_bind
Modified Paths:
--------------
paparazzi3/trunk/sw/lib/ocaml/pprz.ml
paparazzi3/trunk/sw/lib/ocaml/pprz.mli
Modified: paparazzi3/trunk/sw/lib/ocaml/pprz.ml
===================================================================
--- paparazzi3/trunk/sw/lib/ocaml/pprz.ml 2010-01-18 16:55:09 UTC (rev
4453)
+++ paparazzi3/trunk/sw/lib/ocaml/pprz.ml 2010-01-18 20:31:38 UTC (rev
4454)
@@ -409,7 +409,7 @@
val string_of_message : ?sep:string -> message -> values -> string
(** [string_of_message ?sep msg values] Default [sep] is space *)
- val message_send : string -> string -> values -> unit
+ val message_send : ?timestamp:float -> string -> string -> values -> unit
(** [message_send sender msg_name values] *)
val message_bind : ?sender:string ->string -> (string -> values -> unit) ->
Ivy.binding
@@ -521,10 +521,14 @@
formatted_string_of_value field.fformat v)
msg.fields)
- let message_send = fun sender msg_name values ->
+ let message_send = fun ?timestamp sender msg_name values ->
let m = snd (message_of_name msg_name) in
let s = string_of_message m values in
- let msg = sprintf "%s %s" sender s in
+ let timestamp_string =
+ match timestamp with
+ None -> ""
+ | Some x -> sprintf "%f " x in
+ let msg = sprintf "%s%s %s" timestamp_string sender s in
let n = String.length msg in
if n > 1000 then (** FIXME: to prevent Ivy bug on long message *)
fprintf stderr "Discarding long ivy message (%d bytes)\n%!" n
@@ -536,15 +540,15 @@
None ->
Ivy.bind
(fun _ args ->
- let values = try snd (values_of_string args.(1)) with exc ->
prerr_endline (Printexc.to_string exc); [] in
- cb args.(0) values)
- (sprintf "^([^ ]*) +(%s( .*|$))" msg_name)
+ let values = try snd (values_of_string args.(2)) with exc ->
prerr_endline (Printexc.to_string exc); [] in
+ cb args.(1) values)
+ (sprintf "^([0-9]+\\.[0-9]+ )?([^ ]*) +(%s( .*|$))" msg_name)
| Some s ->
Ivy.bind
(fun _ args ->
- let values = try snd (values_of_string args.(0)) with exc ->
prerr_endline (Printexc.to_string exc); [] in
+ let values = try snd (values_of_string args.(1)) with exc ->
prerr_endline (Printexc.to_string exc); [] in
cb s values)
- (sprintf "^%s +(%s( .*|$))" s msg_name)
+ (sprintf "^([0-9]+\\.[0-9]+ )?%s +(%s( .*|$))" s msg_name)
let message_answerer = fun sender msg_name cb ->
let ivy_cb = fun _ args ->
Modified: paparazzi3/trunk/sw/lib/ocaml/pprz.mli
===================================================================
--- paparazzi3/trunk/sw/lib/ocaml/pprz.mli 2010-01-18 16:55:09 UTC (rev
4453)
+++ paparazzi3/trunk/sw/lib/ocaml/pprz.mli 2010-01-18 20:31:38 UTC (rev
4454)
@@ -131,7 +131,7 @@
val string_of_message : ?sep:string -> message -> values -> string
(** [string_of_message ?sep msg values] Default [sep] is space *)
- val message_send : string -> string -> values -> unit
+ val message_send : ?timestamp:float -> string -> string -> values -> unit
(** [message_send sender msg_name values] *)
val message_bind : ?sender:string ->string -> (string -> values -> unit) ->
Ivy.binding
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [paparazzi-commits] [4454] add optional timestamp to message_send,
Pascal Brisset <=