*** empty log message ***

This commit is contained in:
Antoine Drouin
2006-03-21 19:43:34 +00:00
parent 544e050e16
commit 15c9119150
5 changed files with 22 additions and 11 deletions
+12 -3
View File
@@ -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
View File
@@ -1,5 +1,6 @@
<airframe name="Microjet4">
<!-- tiny test airframe -->
<!-- commands section -->
<servos>
<servo name="GAZ" no="0" min="1000" neutral="1000" max="2000"/>
+2 -1
View File
@@ -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
+1 -1
View File
@@ -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
+6 -6
View File
@@ -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;