From 77e4b33172e80e824e73ba2f47296b41420ca580 Mon Sep 17 00:00:00 2001 From: Pascal Brisset Date: Tue, 20 Oct 2009 11:00:34 +0000 Subject: [PATCH] add generic tool to translate events from an input device into messages on the ivy bus --- sw/ground_segment/joystick/Makefile | 29 +- .../{booz_fms.xml => attack3_booz_nav.xml} | 2 +- sw/ground_segment/joystick/input2ivy.ml | 352 ++++++++++++++++++ sw/ground_segment/joystick/ml_usb_stick.c | 69 ++++ sw/ground_segment/joystick/xbox_booz_nav.xml | 31 ++ 5 files changed, 476 insertions(+), 7 deletions(-) rename sw/ground_segment/joystick/{booz_fms.xml => attack3_booz_nav.xml} (93%) create mode 100644 sw/ground_segment/joystick/input2ivy.ml create mode 100644 sw/ground_segment/joystick/ml_usb_stick.c create mode 100644 sw/ground_segment/joystick/xbox_booz_nav.xml diff --git a/sw/ground_segment/joystick/Makefile b/sw/ground_segment/joystick/Makefile index dd609b9b3b..0bcc126367 100644 --- a/sw/ground_segment/joystick/Makefile +++ b/sw/ground_segment/joystick/Makefile @@ -23,23 +23,40 @@ # Quiet compilation Q=@ +OCAMLC = ocamlc +OCAMLLIB = ../../lib/ocaml +TOOLSDIR = ../../tools +OCAMLINCLUDES= -I $(OCAMLLIB) -I +lablgtk2 -I +xml-light -I $(TOOLSDIR) +LIBPPRZCMA=$(OCAMLLIB)/lib-pprz.cma + all: main_stick -main_stick: main_stick.c usb_stick.c +main_stick: main_stick.o usb_stick.o gcc -g -O2 -Wall `pkg-config glib-2.0 --cflags` -o $@ $^ `pkg-config glib-2.0 --libs` `pcre-config --libs` -lglibivy -main_stick_debug: main_stick.c usb_stick.c +main_stick_debug: main_stick.o usb_stick.o gcc -g -O2 -Wall `pkg-config glib-2.0 --cflags` -o $@ $^ `pkg-config glib-2.0 --libs` `pcre-config --libs` -lglibivy -DSTICK_DBG -apm_stick: apm_stick.c usb_stick.c +apm_stick: apm_stick.o usb_stick.o gcc -g -O2 -Wall `pkg-config glib-2.0 --cflags` -o $@ $^ `pkg-config glib-2.0 --libs` `pcre-config --libs` -lglibivy -xbox_stick: xbox_stick.c usb_stick.c +xbox_stick: xbox_stick.o usb_stick.o gcc -g -O2 -Wall `pkg-config glib-2.0 --cflags` -o $@ $^ `pkg-config glib-2.0 --libs` `pcre-config --libs` -lglibivy -attack3_stick: attack3_stick.c usb_stick.c +attack3_stick: attack3_stick.o usb_stick.o gcc -g -O2 -Wall `pkg-config glib-2.0 --cflags` -o $@ $^ `pkg-config glib-2.0 --libs` `pcre-config --libs` -lglibivy +input2ivy: usb_stick.o ml_usb_stick.o input2ivy.cmo + $(OCAMLC) $(OCAMLINCLUDES) -custom -o $@ unix.cma str.cma glibivy-ocaml.cma xml-light.cma lib-pprz.cma lablgtk.cma $(TOOLSDIR)/fp_syntax.cmo $(TOOLSDIR)/fp_lexer.cmo $(TOOLSDIR)/fp_parser.cmo $(TOOLSDIR)/fp_proc.cmo $^ + + +%.o : %.c + gcc -c -O2 -Wall `pkg-config glib-2.0 --cflags` $< + +%.cmo : %.ml + @echo OC $< + $(Q)$(OCAMLC) $(OCAMLINCLUDES) -c $< + clean: - rm -f *~ core *.o *.bak .depend main_stick main_stick_debug apm_stick xbox_stick attack3_stick + rm -f *~ core *.o *.bak .depend main_stick main_stick_debug apm_stick xbox_stick attack3_stick *.cmo *.cmi input2ivy diff --git a/sw/ground_segment/joystick/booz_fms.xml b/sw/ground_segment/joystick/attack3_booz_nav.xml similarity index 93% rename from sw/ground_segment/joystick/booz_fms.xml rename to sw/ground_segment/joystick/attack3_booz_nav.xml index 33f747fe8e..715f2c4293 100644 --- a/sw/ground_segment/joystick/booz_fms.xml +++ b/sw/ground_segment/joystick/attack3_booz_nav.xml @@ -11,7 +11,7 @@