paparazzi-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[paparazzi-commits] [5639] added firware description files, for now only


From: antoine drouin
Subject: [paparazzi-commits] [5639] added firware description files, for now only used to document the wiki
Date: Mon, 23 Aug 2010 22:50:41 +0000

Revision: 5639
          http://svn.sv.gnu.org/viewvc/?view=rev&root=paparazzi&revision=5639
Author:   poine
Date:     2010-08-23 22:50:40 +0000 (Mon, 23 Aug 2010)
Log Message:
-----------
added firware description files, for now only used to document the wiki

Modified Paths:
--------------
    paparazzi3/trunk/conf/autopilot/lisa_l_test_progs.xml
    paparazzi3/trunk/conf/autopilot/rotorcraft.xml
    paparazzi3/trunk/sw/tools/wiki_gen/Makefile

Added Paths:
-----------
    paparazzi3/trunk/conf/autopilot/booz_test_progs.xml
    paparazzi3/trunk/conf/autopilot/fixedwing.xml
    paparazzi3/trunk/sw/tools/wiki_gen/wiki_gen.ml

Added: paparazzi3/trunk/conf/autopilot/booz_test_progs.xml
===================================================================
--- paparazzi3/trunk/conf/autopilot/booz_test_progs.xml                         
(rev 0)
+++ paparazzi3/trunk/conf/autopilot/booz_test_progs.xml 2010-08-23 22:50:40 UTC 
(rev 5639)
@@ -0,0 +1,20 @@
+<firmware name="booz_test_progs" boards="booz_v1.0"
+  description="test programs for booz boards">
+
+   <target name="test telemetry" description="Sends ALIVE telemetry messages">
+     <param name="MODEM_PORT" values="UART1,UART2,UART3"    default="UART2"/>
+     <param name="MODEM_BAUD" values="B9600,B57600,B115200" default="B57600"/>
+   </target>
+
+   <target name="test baro" description="reads barometers and sends values 
over telemetry">
+     <param name="MODEM_PORT" values="UART1,UART2,UART3"    default="UART2"/>
+     <param name="MODEM_BAUD" values="B9600,B57600,B115200" default="B57600"/>
+   </target>
+
+  <target name="test spektrum" description="sends RADIO_CONTROL messages on 
telemetry">
+     <param name="MODEM_PORT"         values="UART0,UART1"    default="UART1"/>
+     <param name="MODEM_BAUD"         values="B9600,B57600,B115200" 
default="B57600"/>
+     <param name="RADIO_CONTROL_LINK" values="UART0,UART1"   default="UART0"/>
+  </target>
+
+</firmware>
\ No newline at end of file

Added: paparazzi3/trunk/conf/autopilot/fixedwing.xml
===================================================================
--- paparazzi3/trunk/conf/autopilot/fixedwing.xml                               
(rev 0)
+++ paparazzi3/trunk/conf/autopilot/fixedwing.xml       2010-08-23 22:50:40 UTC 
(rev 5639)
@@ -0,0 +1,31 @@
+<firmware name="fixedwing" 
boards="|twog_1|tiny_2.11|tiny_2.1|tiny_1.1|tiny_0.99|booz_1.0|lisa_l_1.0|pc|"
+  description="autopilot and simulator for fixed wing vehicles">
+
+
+ <target name="ap" description="The autopilot">
+   <param name="FLASH_MODE" values="|IAP|JTAG|ISP|"/>
+   <define name="AGR_CLIMB" />
+   <define name="TRAFFIC_INFO"/>
+   <define name="LOITER_TRIM"/>
+   <define name="ALT_KALMAN"/>
+ </target>
+
+ <target name="sim" description="The simulator">
+  <define name="TRAFFIC_INFO" />
+ </target> 
+
+ <subsystem name="radio_control"       types="ppm"/>
+    <!-- Communication -->
+ <subsystem name="telemetry"   types="transparent|xbee_api">
+   <param name="MODEM_BAUD"     values="B9600|B38400|B57600|B115200"/>
+ </subsystem>
+ <!-- Actuators -->
+ <subsystem name="actuators"   types="4015|4017|ppm"/>
+ <!-- Sensors -->
+ <subsystem name="gyro"         types="roll|pitch"/>
+ <subsystem name="attitude"     types="infrared"/>
+ <subsystem name="gps"                 types="ublox_lea4p|lea5h"/>
+ <subsystem name="navigation"   types="NONE"/>
+ <subsystem name="navigation"   types="extra"/>
+
+</firmware>
\ No newline at end of file

Modified: paparazzi3/trunk/conf/autopilot/lisa_l_test_progs.xml
===================================================================
--- paparazzi3/trunk/conf/autopilot/lisa_l_test_progs.xml       2010-08-23 
22:11:55 UTC (rev 5638)
+++ paparazzi3/trunk/conf/autopilot/lisa_l_test_progs.xml       2010-08-23 
22:50:40 UTC (rev 5639)
@@ -11,6 +11,10 @@
      <param name="MODEM_BAUD" values="B9600,B57600,B115200" default="B57600"/>
    </target>
 
-   
+  <target name="test spektrum" description="sends RADIO_CONTROL messages on 
telemetry">
+     <param name="MODEM_PORT"         values="UART1,UART2,UART3"    
default="UART2"/>
+     <param name="MODEM_BAUD"         values="B9600,B57600,B115200" 
default="B57600"/>
+     <param name="RADIO_CONTROL_LINK" values="UART1,UART2,UART3|UART5" 
default="UART3"/>
+  </target>
 
 </firmware>

Modified: paparazzi3/trunk/conf/autopilot/rotorcraft.xml
===================================================================
--- paparazzi3/trunk/conf/autopilot/rotorcraft.xml      2010-08-23 22:11:55 UTC 
(rev 5638)
+++ paparazzi3/trunk/conf/autopilot/rotorcraft.xml      2010-08-23 22:50:40 UTC 
(rev 5639)
@@ -1,17 +1,27 @@
-<firmware name="rotorcraft" boards="lisa_l_1.0,lisa_l_1.1,booz"
+<firmware name="rotorcraft" boards="|lisa_l_1.0|lisa_l_1.1|booz_1.0|"
   description="autopilot and simulator for rotorcrafts">
 
+ <!-- a parameter that belongs to BOARD -->
+ <param name="FLASH_MODE" values="|IAP|JTAG|ISP|"/>
+
  <target name="ap" description="The autopilot">
+   <param name="MODEM_BAUD" values="|B57600|B9600|"/>
  </target>
 
  <target name="sim" description="The simulator">
  </target> 
 
- <susbsystem name="radio_control" types="ppm,spektrum">
+ <subsystem name="radio_control" types="ppm,spektrum">
    <type name="spektrum">
      <param name="RADIO_CONTROL_SPEKTRUM_MODEL" 
values="\"booz/radio_control/booz_radio_control_spektrum_dx7se.h\""/>
-     <param name="RADIO_CONTROL_LINK" values="UART1,UART2,UART3,UART5"/>
+     <param name="RADIO_CONTROL_LINK" values="UART1|UART2|UART3|UART5"/>
    </type>
  </subsystem>
 
+ <subsystem name="acuators"  types="asctec|asctec_v2|mkk"/>
+ <subsystem name="imu"       types="b2_v1.0|b2_v1.1|crista"/>
+ <subsystem name="gps"       types="skytraq|ublox"/>
+ <subsystem name="ahrs"      types="cmpl"/>
+ <subsystem name="ins"       types="hff"/>
+
 </firmware>

Modified: paparazzi3/trunk/sw/tools/wiki_gen/Makefile
===================================================================
--- paparazzi3/trunk/sw/tools/wiki_gen/Makefile 2010-08-23 22:11:55 UTC (rev 
5638)
+++ paparazzi3/trunk/sw/tools/wiki_gen/Makefile 2010-08-23 22:50:40 UTC (rev 
5639)
@@ -1,9 +1,54 @@
 
 
-all:
+all: 
        g++ wiki_gen.c -o wiki_gen
 
 
 parse:
        ls -1 > list_of_files.txt
        ./wiki_gen list_of_files.txt > dir.wiki
+
+
+
+
+
+
+# Quiet compilation
+Q=@
+
+OCAML=ocaml
+OCAMLC=ocamlc
+INCLUDES=-I ../../lib/ocaml -I +xml-light
+OCAMLNETINCLUDES=$(shell ocamlfind query -r -i-format netstring)
+OCAMLNETCMA=$(shell ocamlfind query -r -a-format -predicates byte netstring)
+
+
+%.out : %.ml Makefile
+       @echo OC $<
+       $(Q)$(OCAMLC) $(INCLUDES) -o $@ unix.cma str.cma ivy-ocaml.cma 
xml-light.cma lib-pprz.cma $<
+       @cat ../../../pprz_src_test.sh > $@
+       @echo '$(OCAML) -I +xml-light $(OCAMLNETINCLUDES) -I 
$$PAPARAZZI_SRC/sw/lib/ocaml unix.cma str.cma ivy-ocaml.cma xml-light.cma 
$(OCAMLNETCMA) lib-pprz.cma $$PAPARAZZI_BIN/$< $$*' >> $@
+       @chmod a+x $@
+
+%.cmo : %.ml ../lib/ocaml/lib-pprz.cma
+       @echo OC $<
+       $(Q)$(OCAMLC) $(INCLUDES) -c $<
+
+%.cmi : %.mli
+       @echo OC $<
+       $(Q)$(OCAMLC) $(INCLUDES) -c $<
+
+%.ml : %.mll
+       @echo OC $<
+       $(Q)$(OCAMLLEX) $<
+
+%.ml : %.mly
+       @echo OC $<
+       $(Q)$(OCAMLYACC) $<
+
+%.mli : %.mly
+       @echo OC $<
+       $(Q)$(OCAMLYACC) $<
+
+clean:
+       rm -f *.cm* *.out *~ 

Added: paparazzi3/trunk/sw/tools/wiki_gen/wiki_gen.ml
===================================================================
--- paparazzi3/trunk/sw/tools/wiki_gen/wiki_gen.ml                              
(rev 0)
+++ paparazzi3/trunk/sw/tools/wiki_gen/wiki_gen.ml      2010-08-23 22:50:40 UTC 
(rev 5639)
@@ -0,0 +1,73 @@
+open Printf
+module U = Unix
+
+let (//) = Filename.concat
+
+let print_params = fun outfile xml ->
+  List.iter (fun tag ->
+    if ExtXml.tag_is tag "param" then begin
+      begin try
+        fprintf outfile " param %s %s \n" (Xml.attrib tag "name") (Xml.attrib 
tag "values");
+      with _ -> () end;
+    end)
+    (Xml.children xml)
+
+let print_subsystems = fun outfile xml ->
+  List.iter (fun tag ->
+    if ExtXml.tag_is tag "subsystem" then begin
+      fprintf outfile "\n";
+      fprintf outfile   " subsystem '%s' \n" (Xml.attrib tag "name");
+      fprintf outfile   "   types: '%s'\n"   (Xml.attrib tag "types");
+(**      fprintf outfile   
"####################################################\n"; **)
+      print_params outfile tag;  (** subsystem parameters **)
+    end)
+    (Xml.children xml)
+
+  
+let print_targets = fun outfile xml ->
+  List.iter (fun tag ->
+    if ExtXml.tag_is tag "target" then begin
+      fprintf outfile "\n\n";
+      fprintf outfile   "===target '%s'===\n" (Xml.attrib tag "name");
+      fprintf outfile   "   Description: '%s'\n"       (Xml.attrib tag 
"description");
+      print_params outfile tag;      (** target parameters **)
+      print_subsystems outfile tag;  (** target subsystems **)
+    end)
+    (Xml.children xml)
+
+
+
+
+let parse_firmware_xml = fun firmware_xml firmware_wiki ->
+  let xml = Xml.parse_file firmware_xml in
+  let f = open_out firmware_wiki in
+  fprintf f " This file has been generated from %s\n" firmware_xml;
+  if ExtXml.tag_is xml "firmware" then begin
+    begin try
+      fprintf f "\n=Firmware=\n";
+      fprintf f " This is the '%s' firmware\n" (Xml.attrib xml "name");
+      fprintf f "   Supported boards '%s'\n"   (Xml.attrib xml "boards");
+      fprintf f "   Description: '%s'\n"       (Xml.attrib xml "description");
+      fprintf f "==Parameters==\n";
+      print_params f xml;      (** fimware parameters **)
+      fprintf f "==Subsystems==\n";
+      print_subsystems f xml;  (** firmware subsystems **)
+      fprintf f "==Targets==\n";
+      print_targets f xml;     (** targets **)
+    with _ -> () end;
+  end
+
+
+(******************************* MAIN ****************************************)
+(** call with wikigen firmware_desc.xml firmware_desc.wiki **)
+let () =
+  try
+    if Array.length Sys.argv <> 3 then
+      failwith (sprintf "Usage: %s firmware_desc.xml firmware_desc.wiki" 
Sys.argv.(0));
+    let firmware_xml = Sys.argv.(1) in
+    let firmware_wiki = Sys.argv.(2) in
+    parse_firmware_xml firmware_xml firmware_wiki
+  with
+    Failure f ->
+      prerr_endline f;
+      exit 1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]