mirror of
https://github.com/paparazzi/paparazzi.git
synced 2026-06-06 16:58:48 +08:00
*** empty log message ***
This commit is contained in:
@@ -49,13 +49,22 @@
|
||||
<define name="IR2" value="1"/>
|
||||
<define name="VSUPPLY" value="6"/>
|
||||
</section>
|
||||
|
||||
<servos min="0" neutral="0" max="0x3ff">
|
||||
<servo name="MOTOR_FRONT" no="0" min="0" neutral="0" max="0x3ff"/>
|
||||
<servo name="MOTOR_BACK" no="1" min="0" neutral="0" max="0x3ff"/>
|
||||
<servo name="MOTOR_LEFT" no="2" min="0" neutral="0" max="0x3ff"/>
|
||||
<servo name="MOTOR_RIGHT" no="3" min="0" neutral="0" max="0x3ff"/>
|
||||
</servos>
|
||||
<command>
|
||||
|
||||
<commands>
|
||||
<axis name="THROTTLE" failsafe_value="0"/>
|
||||
<axis name="ROLL" failsafe_value="0"/>
|
||||
<axis name="PITCH" failsafe_value="0"/>
|
||||
<axis name="YAW" failsafe_value="0"/>
|
||||
</commands>
|
||||
|
||||
<command_laws>
|
||||
<let var="roll" value="0.3 * @ROLL"/>
|
||||
<let var="pitch" value="0.3 * @PITCH"/>
|
||||
<let var="yaw" value="-0.4 * @YAW"/>
|
||||
@@ -64,7 +73,7 @@
|
||||
<set servo="MOTOR_BACK" value="$throttle - $pitch - $yaw"/>
|
||||
<set servo="MOTOR_RIGHT" value="$throttle + $roll + $yaw"/>
|
||||
<set servo="MOTOR_LEFT" value="$throttle - $roll + $yaw"/>
|
||||
</command>
|
||||
</command_laws>
|
||||
<section name="INFRARED" prefix="IR_">
|
||||
<define name="ADC_ROLL_NEUTRAL" value="0"/>
|
||||
<define name="ADC_PITCH_NEUTRAL" value="1024"/>
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
<airframe name="Microjet4">
|
||||
<!-- tiny test airframe -->
|
||||
|
||||
<!-- commands section -->
|
||||
<servos>
|
||||
<servo name="GAZ" no="0" min="1000" neutral="1000" max="2000"/>
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user