diff --git a/conf/airframes/gorrazoptere_esc_3DMG.xml b/conf/airframes/gorrazoptere_esc_3DMG.xml
index b5740a7696..a0031e051f 100644
--- a/conf/airframes/gorrazoptere_esc_3DMG.xml
+++ b/conf/airframes/gorrazoptere_esc_3DMG.xml
@@ -49,13 +49,22 @@
+
-
+
+
+
+
+
+
+
+
+
@@ -64,7 +73,7 @@
-
+
@@ -116,7 +125,7 @@ include $(PAPARAZZI_SRC)/conf/autopilot/disc_board.makefile
LOCAL_CFLAGS += -DIMU_3DMG
ap.CFLAGS += -DRATE_LOOP
-ap.EXTRA_SRCS += control.c imu.c 3dmg.c
+ap.EXTRA_SRCS += control_grz.c imu.c 3dmg.c
ap.CFLAGS += -DIMU_RESET_ON_BOOT
ap.CFLAGS += -DTIMER1_TOP=0x400
diff --git a/conf/airframes/microjet4.xml b/conf/airframes/microjet4.xml
index ea886f4192..0087f176dd 100644
--- a/conf/airframes/microjet4.xml
+++ b/conf/airframes/microjet4.xml
@@ -1,5 +1,6 @@
+
diff --git a/conf/autopilot/disc_board.makefile b/conf/autopilot/disc_board.makefile
index 1d70bda4a2..825b0bd23d 100644
--- a/conf/autopilot/disc_board.makefile
+++ b/conf/autopilot/disc_board.makefile
@@ -9,4 +9,5 @@ ap.HIGH_FUSE = 99
ap.EXT_FUSE = ff
ap.LOCK_FUSE = ff
ap.CFLAGS += -DAP -DFBW -DCONFIG=\"config_discboard.h\"
-ap.srcs = sys_time.c main_fbw_2.c main_ap_2.c main.c
+# ap.srcs = sys_time.c main_fbw_2.c main_ap_2.c main.c
+ap.srcs = $(SRC_ARCH)/ppm_hw.c $(SRC_ARCH)/adc_ap.c $(SRC_ARCH)/uart_ap.c $(SRC_ARCH)/servos_esc_hw.c main_fbw.c inter_mcu.c pid.c estimator.c if_calib.c nav.c main_ap.c mainloop.c main.c
\ No newline at end of file
diff --git a/sw/tools/gen_airframe.ml b/sw/tools/gen_airframe.ml
index 305b0ee1c3..0e0dec6b00 100644
--- a/sw/tools/gen_airframe.ml
+++ b/sw/tools/gen_airframe.ml
@@ -96,7 +96,7 @@ let parse_command_laws = fun command ->
printf " command_value = %s;\\\n" v;
printf " command_value *= command_value>0 ? SERVO_%s_TRAVEL_UP : SERVO_%s_TRAVEL_DOWN;\\\n" servo servo;
printf " servo_value = SERVO_%s_NEUTRAL + (int16_t)(command_value);\\\n" servo;
- printf " COMMAND(SERVO_%s) = SERVOS_TICS_OF_USEC(Chop(servo_value, SERVO_%s_MIN, SERVO_%s_MAX));\\\n\\\n" servo servo servo
+ printf " COMMAND(SERVO_%s) = SERVOS_TICS_OF_USEC(ChopServo(servo_value, SERVO_%s_MIN, SERVO_%s_MAX));\\\n\\\n" servo servo servo
| "let" ->
let var = a "var"
and value = a "value" in
diff --git a/sw/tools/gen_radio.ml b/sw/tools/gen_radio.ml
index 72b3a4b3a1..dc6a53d791 100644
--- a/sw/tools/gen_radio.ml
+++ b/sw/tools/gen_radio.ml
@@ -82,10 +82,10 @@ let gen_normalize_ppm = fun channels ->
else
sprintf "tmp_radio * (tmp_radio >=0 ? (MAX_PPRZ/%s/(float)(SIGNED_SYS_TICS_OF_USEC(%d-%d))) : (MIN_PPRZ/%s/(float)(SIGNED_SYS_TICS_OF_USEC(%d-%d))))" period c.max c.neutral period c.min c.neutral, "MIN_PPRZ" in
if c.averaged then begin
- printf " avg_rc_values[COMMAND_%s] += %s;\\\n" c.name value
+ printf " avg_rc_values[RADIO_%s] += %s;\\\n" c.name value
end else begin
- printf " rc_values[COMMAND_%s] = %s;\\\n" c.name value;
- printf " if (rc_values[COMMAND_%s] > MAX_PPRZ) rc_values[COMMAND_%s] = MAX_PPRZ;\\\n else if (rc_values[COMMAND_%s] < %s) rc_values[COMMAND_%s] = %s; \\\n\\\n" c.name c.name c.name min_pprz c.name min_pprz;
+ printf " rc_values[RADIO_%s] = %s;\\\n" c.name value;
+ printf " if (rc_values[RADIO_%s] > MAX_PPRZ) rc_values[RADIO_%s] = MAX_PPRZ;\\\n else if (rc_values[RADIO_%s] < %s) rc_values[RADIO_%s] = %s; \\\n\\\n" c.name c.name c.name min_pprz c.name min_pprz;
end
)
channels;
@@ -95,9 +95,9 @@ let gen_normalize_ppm = fun channels ->
List.iter
(fun c ->
if c.averaged then begin
- printf " rc_values[COMMAND_%s] = avg_rc_values[COMMAND_%s];\\\n" c.name c.name;
- printf " avg_rc_values[COMMAND_%s] = 0;\\\n" c.name;
- printf " if (rc_values[COMMAND_%s] > MAX_PPRZ) rc_values[COMMAND_%s] = MAX_PPRZ;\\\n else if (rc_values[COMMAND_%s] < MIN_PPRZ) rc_values[COMMAND_%s] = MIN_PPRZ; \\\n\\\n" c.name c.name c.name c.name;
+ printf " rc_values[RADIO_%s] = avg_rc_values[RADIO_%s];\\\n" c.name c.name;
+ printf " avg_rc_values[RADIO_%s] = 0;\\\n" c.name;
+ printf " if (rc_values[RADIO_%s] > MAX_PPRZ) rc_values[RADIO_%s] = MAX_PPRZ;\\\n else if (rc_values[RADIO_%s] < MIN_PPRZ) rc_values[RADIO_%s] = MIN_PPRZ; \\\n\\\n" c.name c.name c.name c.name;
end
)
channels;