From: Jérémie D. <Ba...@us...> - 2010-03-08 23:33:42
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "krobot". The branch, master has been updated via 973aff6d5670f48ceba7442182bcfbdd46e1cf33 (commit) via 88400b5b6737719639fd1ee69fc4b1a9567ab6f3 (commit) from d1bc3f760c9bcaabdb89b83a2d757777a262448d (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 973aff6d5670f48ceba7442182bcfbdd46e1cf33 Author: Jérémie Dimino <je...@di...> Date: Tue Mar 9 00:32:59 2010 +0100 add request to get the motors configuration commit 88400b5b6737719639fd1ee69fc4b1a9567ab6f3 Author: Jérémie Dimino <je...@di...> Date: Tue Mar 9 00:23:25 2010 +0100 add the batttery monitoring card to the list of cards to close ----------------------------------------------------------------------- Changes: diff --git a/PC_Mainboard/common/krobot_types.ml b/PC_Mainboard/common/krobot_types.ml index 0b5a297..b10800c 100644 --- a/PC_Mainboard/common/krobot_types.ml +++ b/PC_Mainboard/common/krobot_types.ml @@ -66,3 +66,10 @@ type ax12_action = { aa_position : int; aa_velocity : int; } with obus + +type motor_config = { + motor_kp : int; + motor_ki : int; + motor_kd : int; + motor_li : int; +} with obus diff --git a/PC_Mainboard/common/krobot_types.mli b/PC_Mainboard/common/krobot_types.mli index c7c261f..56d042b 100644 --- a/PC_Mainboard/common/krobot_types.mli +++ b/PC_Mainboard/common/krobot_types.mli @@ -52,3 +52,11 @@ type ax12_action = { aa_position : int; aa_velocity : int; } with obus(sequence) + +(** Motor configuration *) +type motor_config = { + motor_kp : int; + motor_ki : int; + motor_kd : int; + motor_li : int; +} with obus(sequence) diff --git a/PC_Mainboard/driver/driver.ml b/PC_Mainboard/driver/driver.ml index 5d9c1ca..5e2ae19 100644 --- a/PC_Mainboard/driver/driver.ml +++ b/PC_Mainboard/driver/driver.ml @@ -643,21 +643,23 @@ struct | Some card -> Krobot_card.close card - OL_method CardStates : OBus_connection.t -> Krobot_types.card_state * Krobot_types.card_state * Krobot_types.card_state = fun manager connection -> + OL_method CardStates : OBus_connection.t -> Krobot_types.card_state * Krobot_types.card_state * Krobot_types.card_state * Krobot_types.card_state = fun manager connection -> let state card = match React.S.value card with | Some _ -> `Present | None -> `Absent in return (state card_interface, state card_sensor, - state card_motor) + state card_motor, + state card_monitoring) OL_method Shutdown : OBus_connection.t -> unit = fun manager connection -> lwt () = Log.info "exiting" in quit := true; lwt () = close card_interface and () = close card_sensor - and () = close card_motor in + and () = close card_motor + and () = close card_monitoring in lwt _ = OBus_bus.release_name connection "fr.krobot.Driver" in Lwt.wakeup done_wakener (); return () diff --git a/PC_Mainboard/interface/interface.ml b/PC_Mainboard/interface/interface.ml index d4be097..9274bec 100644 --- a/PC_Mainboard/interface/interface.ml +++ b/PC_Mainboard/interface/interface.ml @@ -547,6 +547,21 @@ let interfaces = [ ~repl:[Arg("right", sint32); Arg("left", sint32)] (); + record + ~name:"motor-config" + ~prefix:"motor_" + ~args:[("kp", uint16); + ("ki", uint16); + ("kd", uint16); + ("li", uint16)] + (); + request + ~name:"read-config" + ~code:PcInterface.cmd_traj + ~args:[Cst(uint8, PcInterface.traj_read_config)] + ~repl:[Arg("right", typ "motor-config"); + Arg("left", typ "motor-config")] + (); ]); Module("servo", [ hooks/post-receive -- krobot |