diff --git a/conf/Makefile.sim b/conf/Makefile.sim index 8097438bdf..b073cba04b 100644 --- a/conf/Makefile.sim +++ b/conf/Makefile.sim @@ -56,6 +56,7 @@ CFLAGS += $(INCLUDES) CFLAGS += $($(TARGET).CFLAGS) CFLAGS += $(LOCAL_CFLAGS) CFLAGS += -O2 +CFLAGS += -g ifneq ($(SIM_TYPE),JSBSIM) CFLAGS += -std=gnu99 @@ -63,9 +64,6 @@ endif LDFLAGS = -lm -ifeq ($(SIM_TYPE),BOOZ) -LDFLAGS += $($(TARGET).LDFLAGS) -endif ifeq ($(SIM_TYPE),JSBSIM) LDFLAGS += $($(TARGET).LDFLAGS) endif @@ -92,11 +90,6 @@ check_jsbsim: # fi -ifeq ($(SIM_TYPE),BOOZ) -$(OBJDIR)/simsitl : $($(TARGET).objs) - @echo LD $@ - $(Q)$(CC) -o $@ $($(TARGET).objs) $(LDFLAGS) -else ifeq ($(SIM_TYPE),JSBSIM) $(OBJDIR)/simsitl : $($(TARGET).objs) @echo LD $@ @@ -106,7 +99,6 @@ $(OBJDIR)/simsitl : $($(TARGET).objs) $(SITLCMA) $(SIMSITLML) @echo LD $@ $(Q)$(OCAMLC) -g -custom $(CAMLINCLUDES) -o $@ unix.cma str.cma xml-light.cma glibivy-ocaml.cma lib-pprz.cma lablgtk.cma $($(TARGET).objs) $(MYGTKINITCMO) $(SITLCMA) $(SIMSITLML) endif -endif # The id of the A/C is hardcoded in the code (to be improved with dynlink ?) @@ -140,9 +132,6 @@ $(OBJDIR)/%.o: %.cpp $(OBJDIR)/../Makefile.ac $(Q)test -d $(dir $@) || mkdir -p $(dir $@) $(Q)$(CC) $(CFLAGS) -c -o $@ $< -avr_clean: - rm -rf $(OBJDIR) - # # Dependencies diff --git a/conf/airframes/CDW/debug_i2c.xml b/conf/airframes/CDW/debug_i2c.xml index cbc48adfdb..09a56b24fc 100644 --- a/conf/airframes/CDW/debug_i2c.xml +++ b/conf/airframes/CDW/debug_i2c.xml @@ -2,7 +2,7 @@ - + diff --git a/conf/airframes/ENAC/quadrotor/blender.xml b/conf/airframes/ENAC/quadrotor/blender.xml index 5acec3639b..8001cd5ac6 100644 --- a/conf/airframes/ENAC/quadrotor/blender.xml +++ b/conf/airframes/ENAC/quadrotor/blender.xml @@ -35,7 +35,7 @@ - + diff --git a/conf/airframes/ENAC/quadrotor/booz2_g1.xml b/conf/airframes/ENAC/quadrotor/booz2_g1.xml index ed983ce12e..5c54678904 100644 --- a/conf/airframes/ENAC/quadrotor/booz2_g1.xml +++ b/conf/airframes/ENAC/quadrotor/booz2_g1.xml @@ -46,7 +46,7 @@ - + diff --git a/conf/airframes/ENAC/quadrotor/navgo.xml b/conf/airframes/ENAC/quadrotor/navgo.xml index e3774fe6d2..06f971bcc3 100644 --- a/conf/airframes/ENAC/quadrotor/navgo.xml +++ b/conf/airframes/ENAC/quadrotor/navgo.xml @@ -35,7 +35,7 @@ - + diff --git a/conf/airframes/NoVa_L.xml b/conf/airframes/NoVa_L.xml index 33cbbb872a..30125540d7 100644 --- a/conf/airframes/NoVa_L.xml +++ b/conf/airframes/NoVa_L.xml @@ -2,7 +2,7 @@ - + diff --git a/conf/airframes/Poine/booz2_a1.xml b/conf/airframes/Poine/booz2_a1.xml index 4fed1a2abe..08ca88b9d5 100644 --- a/conf/airframes/Poine/booz2_a1.xml +++ b/conf/airframes/Poine/booz2_a1.xml @@ -1,6 +1,6 @@ - + diff --git a/conf/airframes/Poine/booz2_a7.xml b/conf/airframes/Poine/booz2_a7.xml index 5be5972e59..33ad581dfe 100644 --- a/conf/airframes/Poine/booz2_a7.xml +++ b/conf/airframes/Poine/booz2_a7.xml @@ -2,7 +2,7 @@ - + diff --git a/conf/airframes/Poine/booz2_a8.xml b/conf/airframes/Poine/booz2_a8.xml index a9a9319dcd..fd9eba28f7 100644 --- a/conf/airframes/Poine/booz2_a8.xml +++ b/conf/airframes/Poine/booz2_a8.xml @@ -2,7 +2,7 @@ - + diff --git a/conf/airframes/TestHardware/LisaL_v1.1_aspirin_v1.5_overo_rc.xml b/conf/airframes/TestHardware/LisaL_v1.1_aspirin_v1.5_overo_rc.xml index a4c17e68b4..72a77e955e 100644 --- a/conf/airframes/TestHardware/LisaL_v1.1_aspirin_v1.5_overo_rc.xml +++ b/conf/airframes/TestHardware/LisaL_v1.1_aspirin_v1.5_overo_rc.xml @@ -70,7 +70,7 @@ --> - + diff --git a/conf/airframes/TestHardware/LisaL_v1.1_b2_v1.2_rc.xml b/conf/airframes/TestHardware/LisaL_v1.1_b2_v1.2_rc.xml index 8c35601169..da606215dd 100644 --- a/conf/airframes/TestHardware/LisaL_v1.1_b2_v1.2_rc.xml +++ b/conf/airframes/TestHardware/LisaL_v1.1_b2_v1.2_rc.xml @@ -88,7 +88,7 @@ --> - + diff --git a/conf/airframes/booz2_flixr.xml b/conf/airframes/booz2_flixr.xml index 3c2805605c..c8366f5b2f 100644 --- a/conf/airframes/booz2_flixr.xml +++ b/conf/airframes/booz2_flixr.xml @@ -1,3 +1,5 @@ + + diff --git a/conf/airframes/booz2_ppzuav.xml b/conf/airframes/booz2_ppzuav.xml index 602e744aa7..a2c3547006 100644 --- a/conf/airframes/booz2_ppzuav.xml +++ b/conf/airframes/booz2_ppzuav.xml @@ -8,7 +8,7 @@ Asctec Speed Controllers --> - + diff --git a/conf/airframes/esden/jt_lisam.xml b/conf/airframes/esden/jt_lisam.xml index 86b1693f8a..f01d75739c 100644 --- a/conf/airframes/esden/jt_lisam.xml +++ b/conf/airframes/esden/jt_lisam.xml @@ -2,7 +2,7 @@ - + diff --git a/conf/airframes/esden/lisa_asctec.xml b/conf/airframes/esden/lisa_asctec.xml index e45b1ba935..2742f97266 100644 --- a/conf/airframes/esden/lisa_asctec.xml +++ b/conf/airframes/esden/lisa_asctec.xml @@ -2,7 +2,7 @@ - + diff --git a/conf/airframes/esden/lisa_asctec_aspirin.xml b/conf/airframes/esden/lisa_asctec_aspirin.xml index 1fc084b7b0..353d779425 100644 --- a/conf/airframes/esden/lisa_asctec_aspirin.xml +++ b/conf/airframes/esden/lisa_asctec_aspirin.xml @@ -2,7 +2,7 @@ - + diff --git a/conf/airframes/esden/lisa_m_2_asp_2_pwm.xml b/conf/airframes/esden/lisa_m_2_asp_2_pwm.xml index 36c12fcb11..786b063e12 100644 --- a/conf/airframes/esden/lisa_m_2_asp_2_pwm.xml +++ b/conf/airframes/esden/lisa_m_2_asp_2_pwm.xml @@ -11,7 +11,7 @@ - + diff --git a/conf/airframes/esden/lisa_m_pwm.xml b/conf/airframes/esden/lisa_m_pwm.xml index cc03d8d52b..4cb95d11fe 100644 --- a/conf/airframes/esden/lisa_m_pwm.xml +++ b/conf/airframes/esden/lisa_m_pwm.xml @@ -2,7 +2,7 @@ - + diff --git a/conf/airframes/esden/lisa_pwm_aspirin.xml b/conf/airframes/esden/lisa_pwm_aspirin.xml index 8f1250065d..3367a22503 100644 --- a/conf/airframes/esden/lisa_pwm_aspirin.xml +++ b/conf/airframes/esden/lisa_pwm_aspirin.xml @@ -2,7 +2,7 @@ - + diff --git a/conf/airframes/esden/synerani_4B.xml b/conf/airframes/esden/synerani_4B.xml index fdd7b1a817..662721bc48 100644 --- a/conf/airframes/esden/synerani_4B.xml +++ b/conf/airframes/esden/synerani_4B.xml @@ -2,7 +2,7 @@ - + diff --git a/conf/airframes/examples/booz2.xml b/conf/airframes/examples/booz2.xml index 4fed1a2abe..08ca88b9d5 100644 --- a/conf/airframes/examples/booz2.xml +++ b/conf/airframes/examples/booz2.xml @@ -1,6 +1,6 @@ - + diff --git a/conf/airframes/examples/h_hex.xml b/conf/airframes/examples/h_hex.xml index c6c3678804..3e9af7aa92 100644 --- a/conf/airframes/examples/h_hex.xml +++ b/conf/airframes/examples/h_hex.xml @@ -1,7 +1,7 @@ - + diff --git a/conf/airframes/examples/lisa_asctec.xml b/conf/airframes/examples/lisa_asctec.xml index 83e0dc16b2..adaff15afd 100644 --- a/conf/airframes/examples/lisa_asctec.xml +++ b/conf/airframes/examples/lisa_asctec.xml @@ -2,7 +2,7 @@ - + diff --git a/conf/airframes/examples/quadrotor_lisa_m_2_pwm.xml b/conf/airframes/examples/quadrotor_lisa_m_2_pwm.xml index b25dff6d77..544acfcd12 100644 --- a/conf/airframes/examples/quadrotor_lisa_m_2_pwm.xml +++ b/conf/airframes/examples/quadrotor_lisa_m_2_pwm.xml @@ -1,4 +1,6 @@ - + + + @@ -21,7 +23,7 @@ - + @@ -178,7 +180,6 @@
- diff --git a/conf/airframes/examples/quadrotor_lisa_m_mkk.xml b/conf/airframes/examples/quadrotor_lisa_m_mkk.xml index 3f6a293d44..bc019c9eef 100644 --- a/conf/airframes/examples/quadrotor_lisa_m_mkk.xml +++ b/conf/airframes/examples/quadrotor_lisa_m_mkk.xml @@ -1,4 +1,6 @@ - + + + @@ -161,7 +163,6 @@
- diff --git a/conf/airframes/examples/setup_lisam2.xml b/conf/airframes/examples/setup_lisam2.xml index c4cb793b1e..640c0e72e5 100644 --- a/conf/airframes/examples/setup_lisam2.xml +++ b/conf/airframes/examples/setup_lisam2.xml @@ -7,7 +7,24 @@ - + + + + + + + + + + + + + + + + + + diff --git a/conf/airframes/flixr_discovery.xml b/conf/airframes/flixr_discovery.xml index 522c698a7f..894bed4499 100644 --- a/conf/airframes/flixr_discovery.xml +++ b/conf/airframes/flixr_discovery.xml @@ -1,10 +1,8 @@ diff --git a/conf/airframes/fraser_lisa_m_rotorcraft.xml b/conf/airframes/fraser_lisa_m_rotorcraft.xml index c835bcde0a..2fb4a52ad4 100644 --- a/conf/airframes/fraser_lisa_m_rotorcraft.xml +++ b/conf/airframes/fraser_lisa_m_rotorcraft.xml @@ -1,3 +1,5 @@ + + @@ -196,7 +198,7 @@
- + diff --git a/conf/airframes/mm/rotor/qmk1.xml b/conf/airframes/mm/rotor/qmk1.xml index eb3cf417e2..a764708ed5 100644 --- a/conf/airframes/mm/rotor/qmk1.xml +++ b/conf/airframes/mm/rotor/qmk1.xml @@ -2,7 +2,7 @@ - + diff --git a/conf/airframes/mm/rotor/quadrotor_lisa_m_1_pwm.xml b/conf/airframes/mm/rotor/quadrotor_lisa_m_1_pwm.xml index 612449f50e..049f24cde7 100644 --- a/conf/airframes/mm/rotor/quadrotor_lisa_m_1_pwm.xml +++ b/conf/airframes/mm/rotor/quadrotor_lisa_m_1_pwm.xml @@ -22,7 +22,7 @@ - + diff --git a/conf/airframes/mm/rotor/quadrotor_lisa_m_2_pwm.xml b/conf/airframes/mm/rotor/quadrotor_lisa_m_2_pwm.xml index 19c7aff428..60b9ba120c 100644 --- a/conf/airframes/mm/rotor/quadrotor_lisa_m_2_pwm.xml +++ b/conf/airframes/mm/rotor/quadrotor_lisa_m_2_pwm.xml @@ -21,7 +21,7 @@ - + diff --git a/conf/airframes/obsolete/ENAC/g1_vision.xml b/conf/airframes/obsolete/ENAC/g1_vision.xml index 26aa0861b3..89db3cc9de 100644 --- a/conf/airframes/obsolete/ENAC/g1_vision.xml +++ b/conf/airframes/obsolete/ENAC/g1_vision.xml @@ -9,7 +9,7 @@ - + diff --git a/conf/airframes/obsolete/ENAC/mkk1-vision.xml b/conf/airframes/obsolete/ENAC/mkk1-vision.xml index fdf6ba7762..841349147f 100644 --- a/conf/airframes/obsolete/ENAC/mkk1-vision.xml +++ b/conf/airframes/obsolete/ENAC/mkk1-vision.xml @@ -7,7 +7,7 @@ - + diff --git a/conf/airframes/obsolete/ENAC/mkk1.xml b/conf/airframes/obsolete/ENAC/mkk1.xml index 752a5d2aa5..994e7e1226 100644 --- a/conf/airframes/obsolete/ENAC/mkk1.xml +++ b/conf/airframes/obsolete/ENAC/mkk1.xml @@ -37,7 +37,7 @@ - + diff --git a/conf/airframes/obsolete/ENAC/nova1.xml b/conf/airframes/obsolete/ENAC/nova1.xml index 6b7a49cf36..21363acc60 100644 --- a/conf/airframes/obsolete/ENAC/nova1.xml +++ b/conf/airframes/obsolete/ENAC/nova1.xml @@ -29,7 +29,7 @@ - + diff --git a/conf/airframes/obsolete/PPZUAV/quadrotor/ppzuav_booz2_asctec_example.xml b/conf/airframes/obsolete/PPZUAV/quadrotor/ppzuav_booz2_asctec_example.xml index 0eb5cc0ca9..0c2cfe06c0 100644 --- a/conf/airframes/obsolete/PPZUAV/quadrotor/ppzuav_booz2_asctec_example.xml +++ b/conf/airframes/obsolete/PPZUAV/quadrotor/ppzuav_booz2_asctec_example.xml @@ -7,7 +7,7 @@ Datamodems configured for 57600 baud Asctec speed controllers--> - + diff --git a/conf/airframes/obsolete/PPZUAV/quadrotor/ppzuav_booz2_mkk_example.xml b/conf/airframes/obsolete/PPZUAV/quadrotor/ppzuav_booz2_mkk_example.xml index 1dd2032774..6d60135e55 100644 --- a/conf/airframes/obsolete/PPZUAV/quadrotor/ppzuav_booz2_mkk_example.xml +++ b/conf/airframes/obsolete/PPZUAV/quadrotor/ppzuav_booz2_mkk_example.xml @@ -7,7 +7,7 @@ Datamodems configured for 57600 baud MKK style speed controllers--> - + diff --git a/conf/airframes/obsolete/UofAdelaide/A1000_BOOZ.xml b/conf/airframes/obsolete/UofAdelaide/A1000_BOOZ.xml index 2c33369b80..6d8e3ac5ae 100644 --- a/conf/airframes/obsolete/UofAdelaide/A1000_BOOZ.xml +++ b/conf/airframes/obsolete/UofAdelaide/A1000_BOOZ.xml @@ -1,7 +1,7 @@ - + diff --git a/conf/airframes/obsolete/UofAdelaide/A1000_NOVA.xml b/conf/airframes/obsolete/UofAdelaide/A1000_NOVA.xml index 69b49feff9..3e94d127fe 100644 --- a/conf/airframes/obsolete/UofAdelaide/A1000_NOVA.xml +++ b/conf/airframes/obsolete/UofAdelaide/A1000_NOVA.xml @@ -8,7 +8,7 @@ ZEF100 Speed Controllers --> - + diff --git a/conf/airframes/obsolete/UofAdelaide/booz2_NoVa_001_1000.xml b/conf/airframes/obsolete/UofAdelaide/booz2_NoVa_001_1000.xml index a41cbbde0d..3328cc4b18 100644 --- a/conf/airframes/obsolete/UofAdelaide/booz2_NoVa_001_1000.xml +++ b/conf/airframes/obsolete/UofAdelaide/booz2_NoVa_001_1000.xml @@ -8,7 +8,7 @@ ZEF100 Speed Controllers --> - + diff --git a/conf/airframes/obsolete/UofAdelaide/booz2_a1000.xml b/conf/airframes/obsolete/UofAdelaide/booz2_a1000.xml index 7be1990714..06ea8ce8ad 100644 --- a/conf/airframes/obsolete/UofAdelaide/booz2_a1000.xml +++ b/conf/airframes/obsolete/UofAdelaide/booz2_a1000.xml @@ -1,6 +1,6 @@ - + diff --git a/conf/airframes/obsolete/UofAdelaide/lisa_a1000.xml b/conf/airframes/obsolete/UofAdelaide/lisa_a1000.xml index 3559a2d5f8..0cecb4fdb2 100644 --- a/conf/airframes/obsolete/UofAdelaide/lisa_a1000.xml +++ b/conf/airframes/obsolete/UofAdelaide/lisa_a1000.xml @@ -2,7 +2,7 @@ - + diff --git a/conf/airframes/obsolete/booz2_Aron.xml b/conf/airframes/obsolete/booz2_Aron.xml index 2fb26ce1b2..a5a48f5295 100644 --- a/conf/airframes/obsolete/booz2_Aron.xml +++ b/conf/airframes/obsolete/booz2_Aron.xml @@ -1,6 +1,6 @@ - + diff --git a/conf/airframes/obsolete/booz2_NoVa.xml b/conf/airframes/obsolete/booz2_NoVa.xml index 9fd40c6414..aa12a6dfdd 100644 --- a/conf/airframes/obsolete/booz2_NoVa.xml +++ b/conf/airframes/obsolete/booz2_NoVa.xml @@ -8,7 +8,7 @@ Modified 6A speed controllers --> - + diff --git a/conf/airframes/obsolete/booz2_NoVa_001.xml b/conf/airframes/obsolete/booz2_NoVa_001.xml index f3f53d4cfc..81c9021e83 100644 --- a/conf/airframes/obsolete/booz2_NoVa_001.xml +++ b/conf/airframes/obsolete/booz2_NoVa_001.xml @@ -8,7 +8,7 @@ ZEF100 Speed Controllers --> - + diff --git a/conf/airframes/obsolete/booz2_NoVa_002.xml b/conf/airframes/obsolete/booz2_NoVa_002.xml index 765e4edfc7..ed879fb742 100644 --- a/conf/airframes/obsolete/booz2_NoVa_002.xml +++ b/conf/airframes/obsolete/booz2_NoVa_002.xml @@ -8,7 +8,7 @@ ZEF100 Speed Controllers --> - + diff --git a/conf/airframes/obsolete/booz2_a1p.xml b/conf/airframes/obsolete/booz2_a1p.xml index 05b8e004b4..f5906c89d6 100644 --- a/conf/airframes/obsolete/booz2_a1p.xml +++ b/conf/airframes/obsolete/booz2_a1p.xml @@ -1,6 +1,6 @@ - + diff --git a/conf/airframes/obsolete/booz2_a2.xml b/conf/airframes/obsolete/booz2_a2.xml index 9667db16e1..d0f9361638 100644 --- a/conf/airframes/obsolete/booz2_a2.xml +++ b/conf/airframes/obsolete/booz2_a2.xml @@ -1,6 +1,6 @@ - + diff --git a/conf/airframes/obsolete/booz2_a3.xml b/conf/airframes/obsolete/booz2_a3.xml index c76407c73e..0635e3ce89 100644 --- a/conf/airframes/obsolete/booz2_a3.xml +++ b/conf/airframes/obsolete/booz2_a3.xml @@ -1,6 +1,6 @@ - + diff --git a/conf/airframes/obsolete/booz2_a4.xml b/conf/airframes/obsolete/booz2_a4.xml index 3abab57aa1..e9cc7ede69 100644 --- a/conf/airframes/obsolete/booz2_a4.xml +++ b/conf/airframes/obsolete/booz2_a4.xml @@ -1,6 +1,6 @@ - + diff --git a/conf/airframes/obsolete/booz2_a5.xml b/conf/airframes/obsolete/booz2_a5.xml index 77d54a35fb..6fc2fe07eb 100644 --- a/conf/airframes/obsolete/booz2_a5.xml +++ b/conf/airframes/obsolete/booz2_a5.xml @@ -1,6 +1,6 @@ - + diff --git a/conf/airframes/obsolete/booz2_s1.xml b/conf/airframes/obsolete/booz2_s1.xml index f01770f163..17b8eaf5b5 100644 --- a/conf/airframes/obsolete/booz2_s1.xml +++ b/conf/airframes/obsolete/booz2_s1.xml @@ -1,6 +1,6 @@ - + diff --git a/conf/airframes/obsolete/booz2_x1.xml b/conf/airframes/obsolete/booz2_x1.xml index 61650494e7..370920cd85 100644 --- a/conf/airframes/obsolete/booz2_x1.xml +++ b/conf/airframes/obsolete/booz2_x1.xml @@ -1,7 +1,7 @@ - + diff --git a/conf/airframes/obsolete/tl.xml b/conf/airframes/obsolete/tl.xml index 1a4c415dd5..c2b1e192d1 100644 --- a/conf/airframes/obsolete/tl.xml +++ b/conf/airframes/obsolete/tl.xml @@ -1,6 +1,6 @@ - + diff --git a/conf/firmwares/setup.makefile b/conf/firmwares/setup.makefile index be767eb5e0..ac28d42f49 100644 --- a/conf/firmwares/setup.makefile +++ b/conf/firmwares/setup.makefile @@ -86,7 +86,7 @@ ifeq ($(TARGET), setup_actuators) ifeq ($(BOARD),lisa_l) include $(CFG_SHARED)/actuators_direct.makefile endif - ifeq ($(BOARD),lisa_m) + ifeq ($(BOARD),lisa_m) include $(CFG_SHARED)/actuators_direct.makefile endif @@ -97,7 +97,6 @@ endif # a test program to setup actuators - setup_actuators.CFLAGS += -DFBW -DUSE_LED -DPERIPHERALS_AUTO_INIT setup_actuators.CFLAGS += $(SETUP_INC) -Ifirmwares/fixedwing setup_actuators.srcs += mcu.c $(SRC_ARCH)/mcu_arch.c @@ -109,7 +108,6 @@ setup_actuators.srcs += mcu_periph/uart.c $(SRC_ARCH)/mcu_periph/uart_arch.c setup_actuators.CFLAGS += -DDOWNLINK -DDOWNLINK_FBW_DEVICE=$(MODEM_PORT) -DDOWNLINK_AP_DEVICE=$(MODEM_PORT) -DPPRZ_UART=$(MODEM_PORT) setup_actuators.CFLAGS += -DDOWNLINK_TRANSPORT=PprzTransport -DDATALINK=PPRZ setup_actuators.srcs += subsystems/datalink/downlink.c subsystems/datalink/pprz_transport.c - ifneq ($(SYS_TIME_LED),none) setup_actuators.CFLAGS += -DSYS_TIME_LED=$(SYS_TIME_LED) endif @@ -120,4 +118,8 @@ setup_actuators.srcs += $(SRC_FIRMWARE)/setup_actuators.c firmwares/fixedwing/ ifeq ($(ARCH), lpc21) setup_actuators.srcs += $(SRC_ARCH)/armVIC.c +else ifeq ($(ARCH), stm32) +setup_actuators.ARCHDIR = $(ARCH) +setup_actuators.CFLAGS += -I$(ARCH) +setup_actuators.srcs += $(SRC_ARCH)/led_hw.c endif diff --git a/conf/flight_plans/flight_plan.dtd b/conf/flight_plans/flight_plan.dtd index a82e24a31a..c1f02400ea 100644 --- a/conf/flight_plans/flight_plan.dtd +++ b/conf/flight_plans/flight_plan.dtd @@ -186,6 +186,10 @@ until CDATA #IMPLIED> center CDATA #REQUIRED turn_around CDATA #REQUIRED alt CDATA #IMPLIED +vmode CDATA #IMPLIED +climb CDATA #IMPLIED +pitch CDATA #IMPLIED +throttle CDATA #IMPLIED until CDATA #IMPLIED radius CDATA #REQUIRED> @@ -198,6 +202,10 @@ pitch CDATA #IMPLIED throttle CDATA #IMPLIED radius CDATA #REQUIRED alt CDATA #IMPLIED +vmode CDATA #IMPLIED +climb CDATA #IMPLIED +pitch CDATA #IMPLIED +throttle CDATA #IMPLIED until CDATA #IMPLIED> - + diff --git a/conf/settings/control/rotorcraft_guidance.xml b/conf/settings/control/rotorcraft_guidance.xml index f0da714698..73e03f6d80 100644 --- a/conf/settings/control/rotorcraft_guidance.xml +++ b/conf/settings/control/rotorcraft_guidance.xml @@ -19,7 +19,6 @@ - diff --git a/sw/airborne/arch/sim/mcu_periph/i2c_arch.c b/sw/airborne/arch/sim/mcu_periph/i2c_arch.c index 9252eae18f..d2cf90baf8 100644 --- a/sw/airborne/arch/sim/mcu_periph/i2c_arch.c +++ b/sw/airborne/arch/sim/mcu_periph/i2c_arch.c @@ -1,11 +1,34 @@ #include "mcu_periph/i2c.h" -void i2c_hw_init ( void ) {} 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;} void i2c_event(void) { } void i2c2_setbitrate(int bitrate __attribute__ ((unused))) { } -void i2c1_er_isr(void) {} -void i2c2_er_isr(void) {} +#ifdef USE_I2C0 +struct i2c_errors i2c0_errors; + +void i2c0_hw_init(void) { + i2c0.errors = &i2c0_errors; + ZEROS_ERR_COUNTER(i2c0_errors); +} +#endif + +#ifdef USE_I2C1 +struct i2c_errors i2c1_errors; + +void i2c1_hw_init(void) { + i2c1.errors = &i2c1_errors; + ZEROS_ERR_COUNTER(i2c1_errors); +} +#endif + +#ifdef USE_I2C2 +struct i2c_errors i2c2_errors; + +void i2c2_hw_init(void) { + i2c2.errors = &i2c2_errors; + ZEROS_ERR_COUNTER(i2c2_errors); +} +#endif diff --git a/sw/airborne/arch/sim/mcu_periph/i2c_arch.h b/sw/airborne/arch/sim/mcu_periph/i2c_arch.h index 5e3bee40f7..6f48a369e7 100644 --- a/sw/airborne/arch/sim/mcu_periph/i2c_arch.h +++ b/sw/airborne/arch/sim/mcu_periph/i2c_arch.h @@ -1,21 +1,36 @@ #ifndef SIM_MCU_PERIPH_I2C_ARCH_H #define SIM_MCU_PERIPH_I2C_ARCH_H +#include "mcu_periph/i2c.h" + #define I2cSendStart() {} -//extern void i2c_hw_init(void); -#define i2c0_hw_init() {} -#define i2c1_hw_init() {} -#define i2c2_hw_init() {} -#define I2c0SendStart() {} -#define I2c1SendStart() {} -#define I2c2SendStart() {} +#ifdef USE_I2C0 -#define i2c1_ev_irq_handler() {} -#define i2c1_er_irq_handler() {}; +extern void i2c0_hw_init(void); +#define i2c0_ev_isr() {} +#define i2c0_er_isr() {} + +#endif /* USE_I2C0 */ + + +#ifdef USE_I2C1 + +extern void i2c1_hw_init(void); +#define i2c1_ev_isr() {} +#define i2c1_er_isr() {} + +#endif /* USE_I2C1 */ + + +#ifdef USE_I2C2 + +extern void i2c2_hw_init(void); +#define i2c2_ev_isr() {} +#define i2c2_er_isr() {} + +#endif /* USE_I2C2 */ -#define i2c2_ev_irq_handler() {} -#define i2c2_er_irq_handler() {}; #endif /* SIM_MCU_PERIPH_I2C_ARCH_H */ diff --git a/sw/airborne/boards/lisa_l/test_baro.c b/sw/airborne/boards/lisa_l/test_baro.c index 7acc75d542..124e9d2945 100644 --- a/sw/airborne/boards/lisa_l/test_baro.c +++ b/sw/airborne/boards/lisa_l/test_baro.c @@ -78,16 +78,25 @@ static inline void main_periodic_task( void ) { RunOnceEvery(256, {DOWNLINK_SEND_ALIVE(DefaultChannel, DefaultDevice, 16, MD5SUM);}); RunOnceEvery(256, { + uint16_t i2c2_ack_fail_cnt = i2c2.errors->ack_fail_cnt; + uint16_t i2c2_miss_start_stop_cnt = i2c2.errors->miss_start_stop_cnt; + uint16_t i2c2_arb_lost_cnt = i2c2.errors->arb_lost_cnt; + uint16_t i2c2_over_under_cnt = i2c2.errors->over_under_cnt; + uint16_t i2c2_pec_recep_cnt = i2c2.errors->pec_recep_cnt; + uint16_t i2c2_timeout_tlow_cnt = i2c2.errors->timeout_tlow_cnt; + uint16_t i2c2_smbus_alert_cnt = i2c2.errors->smbus_alert_cnt; + uint16_t i2c2_unexpected_event_cnt = i2c2.errors->unexpected_event_cnt; + uint32_t i2c2_last_unexpected_event = i2c2.errors->last_unexpected_event; DOWNLINK_SEND_I2C_ERRORS(DefaultChannel, DefaultDevice, - &i2c2.errors->ack_fail_cnt, - &i2c2.errors->miss_start_stop_cnt, - &i2c2.errors->arb_lost_cnt, - &i2c2.errors->over_under_cnt, - &i2c2.errors->pec_recep_cnt, - &i2c2.errors->timeout_tlow_cnt, - &i2c2.errors->smbus_alert_cnt, - &i2c2.errors->unexpected_event_cnt, - &i2c2.errors->last_unexpected_event); + &i2c2_ack_fail_cnt, + &i2c2_miss_start_stop_cnt, + &i2c2_arb_lost_cnt, + &i2c2_over_under_cnt, + &i2c2_pec_recep_cnt, + &i2c2_timeout_tlow_cnt, + &i2c2_smbus_alert_cnt, + &i2c2_unexpected_event_cnt, + &i2c2_last_unexpected_event); }); } diff --git a/sw/airborne/boards/lisa_m/test_baro.c b/sw/airborne/boards/lisa_m/test_baro.c index 60fee68726..e77efaaed2 100644 --- a/sw/airborne/boards/lisa_m/test_baro.c +++ b/sw/airborne/boards/lisa_m/test_baro.c @@ -79,16 +79,25 @@ static inline void main_periodic_task( void ) { RunOnceEvery(256, {DOWNLINK_SEND_ALIVE(DefaultChannel, DefaultDevice, 16, MD5SUM);}); RunOnceEvery(256, { + uint16_t i2c2_ack_fail_cnt = i2c2.errors->ack_fail_cnt; + uint16_t i2c2_miss_start_stop_cnt = i2c2.errors->miss_start_stop_cnt; + uint16_t i2c2_arb_lost_cnt = i2c2.errors->arb_lost_cnt; + uint16_t i2c2_over_under_cnt = i2c2.errors->over_under_cnt; + uint16_t i2c2_pec_recep_cnt = i2c2.errors->pec_recep_cnt; + uint16_t i2c2_timeout_tlow_cnt = i2c2.errors->timeout_tlow_cnt; + uint16_t i2c2_smbus_alert_cnt = i2c2.errors->smbus_alert_cnt; + uint16_t i2c2_unexpected_event_cnt = i2c2.errors->unexpected_event_cnt; + uint32_t i2c2_last_unexpected_event = i2c2.errors->last_unexpected_event; DOWNLINK_SEND_I2C_ERRORS(DefaultChannel, DefaultDevice, - &i2c2.errors->ack_fail_cnt, - &i2c2.errors->miss_start_stop_cnt, - &i2c2.errors->arb_lost_cnt, - &i2c2.errors->over_under_cnt, - &i2c2.errors->pec_recep_cnt, - &i2c2.errors->timeout_tlow_cnt, - &i2c2.errors->smbus_alert_cnt, - &i2c2.errors->unexpected_event_cnt, - &i2c2.errors->last_unexpected_event); + &i2c2_ack_fail_cnt, + &i2c2_miss_start_stop_cnt, + &i2c2_arb_lost_cnt, + &i2c2_over_under_cnt, + &i2c2_pec_recep_cnt, + &i2c2_timeout_tlow_cnt, + &i2c2_smbus_alert_cnt, + &i2c2_unexpected_event_cnt, + &i2c2_last_unexpected_event); }); } diff --git a/sw/airborne/firmwares/rotorcraft/guidance/guidance_h.c b/sw/airborne/firmwares/rotorcraft/guidance/guidance_h.c index 4ec8178dc4..df5a66fcde 100644 --- a/sw/airborne/firmwares/rotorcraft/guidance/guidance_h.c +++ b/sw/airborne/firmwares/rotorcraft/guidance/guidance_h.c @@ -39,7 +39,6 @@ uint8_t guidance_h_mode; struct Int32Vect2 guidance_h_pos_sp; -int32_t guidance_h_psi_sp; struct Int32Vect2 guidance_h_pos_ref; struct Int32Vect2 guidance_h_speed_ref; struct Int32Vect2 guidance_h_accel_ref; @@ -95,7 +94,6 @@ static inline void guidance_h_nav_enter(void); void guidance_h_init(void) { guidance_h_mode = GUIDANCE_H_MODE_KILL; - guidance_h_psi_sp = 0; INT_VECT2_ZERO(guidance_h_pos_sp); INT_VECT2_ZERO(guidance_h_pos_err_sum); INT_EULERS_ZERO(guidance_h_rc_sp); @@ -165,7 +163,6 @@ void guidance_h_read_rc(bool_t in_flight) { case GUIDANCE_H_MODE_NAV: if (radio_control.status == RC_OK) { stabilization_attitude_read_rc_setpoint_eulers(&guidance_h_rc_sp, in_flight); - guidance_h_rc_sp.psi = 0; } else { INT_EULERS_ZERO(guidance_h_rc_sp); @@ -195,7 +192,12 @@ void guidance_h_run(bool_t in_flight) { case GUIDANCE_H_MODE_HOVER: guidance_h_update_reference(FALSE); + + /* set psi command */ + guidance_h_command_body.psi = guidance_h_rc_sp.psi; + /* compute roll and pitch commands and set final attitude setpoint */ guidance_h_traj_run(in_flight); + stabilization_attitude_run(in_flight); break; @@ -206,6 +208,8 @@ void guidance_h_run(bool_t in_flight) { if (horizontal_mode == HORIZONTAL_MODE_ATTITUDE) { stab_att_sp_euler.phi = nav_roll; stab_att_sp_euler.theta = nav_pitch; + /* FIXME: heading can't be set via attitude block yet, use current heading for now */ + stab_att_sp_euler.psi = ahrs.ltp_to_body_euler.psi; #ifdef STABILISATION_ATTITUDE_TYPE_QUAT INT32_QUAT_OF_EULERS(stab_att_sp_quat, stab_att_sp_euler); INT32_QUAT_WRAP_SHORTEST(stab_att_sp_quat); @@ -214,9 +218,14 @@ void guidance_h_run(bool_t in_flight) { else { INT32_VECT2_NED_OF_ENU(guidance_h_pos_sp, navigation_carrot); +#if GUIDANCE_H_USE_REF guidance_h_update_reference(TRUE); - - guidance_h_psi_sp = nav_heading; +#else + guidance_h_update_reference(FALSE); +#endif + /* set psi command */ + guidance_h_command_body.psi = nav_heading; + /* compute roll and pitch commands and set final attitude setpoint */ guidance_h_traj_run(in_flight); } stabilization_attitude_run(in_flight); @@ -230,7 +239,6 @@ void guidance_h_run(bool_t in_flight) { static inline void guidance_h_update_reference(bool_t use_ref) { /* convert our reference to generic representation */ -#if GUIDANCE_H_USE_REF if (use_ref) { b2_gh_update_ref_from_pos_sp(guidance_h_pos_sp); INT32_VECT2_RSHIFT(guidance_h_pos_ref, b2_gh_pos_ref, (B2_GH_POS_REF_FRAC - INT32_POS_FRAC)); @@ -241,12 +249,6 @@ static inline void guidance_h_update_reference(bool_t use_ref) { INT_VECT2_ZERO(guidance_h_speed_ref); INT_VECT2_ZERO(guidance_h_accel_ref); } -#else - if (use_ref) {;} // we don't have a reference... just to avoid the unused arg warning in that case - VECT2_COPY(guidance_h_pos_ref, guidance_h_pos_sp); - INT_VECT2_ZERO(guidance_h_speed_ref); - INT_VECT2_ZERO(guidance_h_accel_ref); -#endif } @@ -307,12 +309,10 @@ static inline void guidance_h_traj_run(bool_t in_flight) { guidance_h_command_body.theta = - ( c_psi * guidance_h_command_earth.x + s_psi * guidance_h_command_earth.y) >> INT32_TRIG_FRAC; - guidance_h_command_body.psi = guidance_h_psi_sp; - /* Add RC setpoint */ - EULERS_ADD(guidance_h_command_body, guidance_h_rc_sp); - - INT32_ANGLE_NORMALIZE(guidance_h_command_body.psi); + /* Add RC roll and pitch setpoints for emergency corrections */ + guidance_h_command_body.phi += guidance_h_rc_sp.phi; + guidance_h_command_body.theta += guidance_h_rc_sp.theta; /* Set attitude setpoint in eulers and as quaternion */ EULERS_COPY(stab_att_sp_euler, guidance_h_command_body); @@ -346,13 +346,7 @@ static inline void guidance_h_nav_enter(void) { /* reset psi reference, set psi setpoint to current psi */ reset_psi_ref_from_body(); - guidance_h_rc_sp.psi = ahrs.ltp_to_body_euler.psi; - guidance_h_psi_sp = ahrs.ltp_to_body_euler.psi; - nav_heading = guidance_h_psi_sp; - - /* set RC heading setpoint to zero, - * since that is added to guidance_h_psi_sp later */ - guidance_h_rc_sp.psi = 0; + nav_heading = ahrs.ltp_to_body_euler.psi; INT_VECT2_ZERO(guidance_h_pos_err_sum); diff --git a/sw/airborne/firmwares/rotorcraft/guidance/guidance_h.h b/sw/airborne/firmwares/rotorcraft/guidance/guidance_h.h index fce55121db..7bd8bfee43 100644 --- a/sw/airborne/firmwares/rotorcraft/guidance/guidance_h.h +++ b/sw/airborne/firmwares/rotorcraft/guidance/guidance_h.h @@ -48,7 +48,6 @@ extern uint8_t guidance_h_mode; */ extern struct Int32Vect2 guidance_h_pos_sp; -extern int32_t guidance_h_psi_sp; ///< with #INT32_ANGLE_FRAC extern struct Int32Vect2 guidance_h_pos_ref; extern struct Int32Vect2 guidance_h_speed_ref; extern struct Int32Vect2 guidance_h_accel_ref; diff --git a/sw/airborne/firmwares/rotorcraft/telemetry.h b/sw/airborne/firmwares/rotorcraft/telemetry.h index abd2b233e5..b5adf02c09 100644 --- a/sw/airborne/firmwares/rotorcraft/telemetry.h +++ b/sw/airborne/firmwares/rotorcraft/telemetry.h @@ -817,11 +817,15 @@ #define PERIODIC_SEND_I2C2_ERRORS(_trans, _dev) {} #endif +#ifndef SITL #define PERIODIC_SEND_I2C_ERRORS(_trans, _dev) { \ PERIODIC_SEND_I2C0_ERRORS(_trans, _dev); \ PERIODIC_SEND_I2C1_ERRORS(_trans, _dev); \ PERIODIC_SEND_I2C2_ERRORS(_trans, _dev); \ } +#else +#define PERIODIC_SEND_I2C_ERRORS(_trans, _dev) {} +#endif // FIXME: still used?? or replace by EXTRA_ADC #define PERIODIC_SEND_BOOZ2_SONAR(_trans, _dev) {} diff --git a/sw/simulator/nps/nps_ivy.c b/sw/simulator/nps/nps_ivy.c index 58409262a0..06dbafbd3c 100644 --- a/sw/simulator/nps/nps_ivy.c +++ b/sw/simulator/nps/nps_ivy.c @@ -9,6 +9,7 @@ #include "nps_autopilot.h" #include "nps_fdm.h" #include "nps_sensors.h" +#include "subsystems/ins.h" #include "firmwares/rotorcraft/navigation.h" #include NPS_SENSORS_PARAMS