mirror of
https://github.com/paparazzi/paparazzi.git
synced 2026-06-05 23:49:00 +08:00
Merge pull request #306 from paparazzi/actuators
generic and more flexible actuators
This commit is contained in:
@@ -106,7 +106,6 @@
|
||||
<section name="MISC">
|
||||
<define name="NOMINAL_AIRSPEED" value="13." unit="m/s"/>
|
||||
<define name="CARROT" value="5." unit="s"/>
|
||||
<define name="CONTROL_RATE" value="60" unit="Hz"/>
|
||||
|
||||
<define name="ALT_KALMAN_ENABLED" value="TRUE"/>
|
||||
|
||||
@@ -265,7 +264,7 @@
|
||||
<subsystem name="radio_control" type="ppm"/>
|
||||
|
||||
<!-- split of ap/fbw specific subsystems for fbw -->
|
||||
<subsystem name="actuators" type="direct"/>
|
||||
<subsystem name="actuators" type="pwm"/>
|
||||
<subsystem name="intermcu" type="uart">
|
||||
<configure name="INTERMCU_PORT_NR" value="2"/>
|
||||
</subsystem>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
<airframe name="TwinStarXSens">
|
||||
|
||||
<servos>
|
||||
<servos driver="Ppm">
|
||||
<servo name="THROTTLE_LEFT" no="1" min="1100" neutral="1100" max="1900"/>
|
||||
<servo name="THROTTLE_RIGHT" no="0" min="1100" neutral="1100" max="1900"/>
|
||||
<servo name="AILERON_RIGHT" no="2" min="2300" neutral="1550" max="700"/>
|
||||
|
||||
@@ -79,7 +79,6 @@
|
||||
<section name="MISC">
|
||||
<define name="NOMINAL_AIRSPEED" value="13." unit="m/s"/>
|
||||
<define name="CARROT" value="5." unit="s"/>
|
||||
<define name="CONTROL_RATE" value="60" unit="Hz"/>
|
||||
<!-- <define name="XBEE_INIT" value=""ATPL2\rATRN5\rATTT80\r""/>
|
||||
<define name="NO_XBEE_API_INIT" value="TRUE"/> -->
|
||||
<define name="ALT_KALMAN_ENABLED" value="TRUE"/>
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
<!DOCTYPE airframe SYSTEM "../../airframe.dtd">
|
||||
|
||||
<airframe name="Blender">
|
||||
|
||||
<modules main_freq="512">
|
||||
<load name="booz_pwm.xml">
|
||||
<define name="USE_PWM0"/>
|
||||
</load>
|
||||
<load name="booz_drop.xml"/>
|
||||
<load name="booz_cam.xml"/>
|
||||
<load name="sonar_maxbotix_booz.xml"/>
|
||||
<load name="servo_switch.xml"/>
|
||||
<load name="rotorcraft_cam.xml"/>
|
||||
<!--load name="sonar_maxbotix_booz.xml"/-->
|
||||
<!--load name="adc_generic.xml">
|
||||
<configure name="ADC_CHANNEL_GENERIC1" value="ADC_0"/>
|
||||
</load-->
|
||||
@@ -30,21 +29,40 @@
|
||||
<subsystem name="actuators" type="skiron">
|
||||
<define name="SKIRON_I2C_SCL_TIME" value="25"/>
|
||||
</subsystem>
|
||||
<subsystem name="motor_mixing"/>
|
||||
<subsystem name="actuators" type="pwm">
|
||||
<define name="USE_PWM0"/>
|
||||
</subsystem>
|
||||
<subsystem name="imu" type="navgo"/>
|
||||
<subsystem name="gps" type="ublox">
|
||||
<configure name="GPS_BAUD" value="B57600"/>
|
||||
</subsystem>
|
||||
<subsystem name="stabilization" type="euler"/>
|
||||
<subsystem name="ahrs" type="int_cmpl_quat"/>
|
||||
<subsystem name="ins" type="extended"/>
|
||||
<subsystem name="ins" type="hff"/>
|
||||
</firmware>
|
||||
|
||||
<servos>
|
||||
<servo name="FRONT" no="0" min="0" neutral="0" max="255"/>
|
||||
<servo name="BACK" no="2" min="0" neutral="0" max="255"/>
|
||||
<servo name="RIGHT" no="1" min="0" neutral="0" max="255"/>
|
||||
<servo name="LEFT" no="3" min="0" neutral="0" max="255"/>
|
||||
<section name="MIXING" prefix="MOTOR_MIXING_">
|
||||
<define name="TRIM_ROLL" value="-50"/>
|
||||
<define name="TRIM_PITCH" value="-150"/>
|
||||
<define name="TRIM_YAW" value="-100"/>
|
||||
<define name="NB_MOTOR" value="4"/>
|
||||
<define name="SCALE" value="256"/>
|
||||
<define name="ROLL_COEF" value="{ 0, -256, 0, 256}"/>
|
||||
<define name="PITCH_COEF" value="{ 256, 0, -256, 0}"/>
|
||||
<define name="YAW_COEF" value="{ -256, 256, -256, 256}"/>
|
||||
<define name="THRUST_COEF" value="{ 256, 256, 256, 256}"/>
|
||||
</section>
|
||||
|
||||
<servos driver="Skiron">
|
||||
<servo name="FRONT" no="0" min="0" neutral="20" max="255"/>
|
||||
<servo name="RIGHT" no="1" min="0" neutral="20" max="255"/>
|
||||
<servo name="BACK" no="2" min="0" neutral="20" max="255"/>
|
||||
<servo name="LEFT" no="3" min="0" neutral="20" max="255"/>
|
||||
</servos>
|
||||
|
||||
<servos driver="Pwm">
|
||||
<servo name="DROP" no="0" min="1000" neutral="1500" max="2000"/>
|
||||
</servos>
|
||||
|
||||
<commands>
|
||||
@@ -54,24 +72,13 @@
|
||||
<axis name="THRUST" failsafe_value="0"/>
|
||||
</commands>
|
||||
|
||||
<section name="ACTUATORS_SKIRON" prefix="ACTUATORS_SKIRON_">
|
||||
<define name="NB" value="4"/>
|
||||
<define name="IDX" value="{ SERVO_FRONT, SERVO_BACK, SERVO_RIGHT, SERVO_LEFT }"/>
|
||||
</section>
|
||||
|
||||
<section name="SUPERVISION" prefix="SUPERVISION_">
|
||||
<define name="MIN_MOTOR" value="20"/>
|
||||
<define name="MAX_MOTOR" value="255"/>
|
||||
<define name="TRIM_A" value="-50"/>
|
||||
<define name="TRIM_E" value="-150"/>
|
||||
<define name="TRIM_R" value="-100"/>
|
||||
<define name="NB_MOTOR" value="4"/>
|
||||
<define name="SCALE" value="256"/>
|
||||
<define name="ROLL_COEF" value="{ 0, 0, -256, 256}"/>
|
||||
<define name="PITCH_COEF" value="{ 256, -256, 0, 0}"/>
|
||||
<define name="YAW_COEF" value="{ -256, -256, 256, 256}"/>
|
||||
<define name="THRUST_COEF" value="{ 256, 256, 256, 256}"/>
|
||||
</section>
|
||||
<command_laws>
|
||||
<call fun="motor_mixing_run(autopilot_motors_on,FALSE,values)"/>
|
||||
<set servo="FRONT" value="motor_mixing.commands[SERVO_FRONT]"/>
|
||||
<set servo="BACK" value="motor_mixing.commands[SERVO_BACK]"/>
|
||||
<set servo="RIGHT" value="motor_mixing.commands[SERVO_RIGHT]"/>
|
||||
<set servo="LEFT" value="motor_mixing.commands[SERVO_LEFT]"/>
|
||||
</command_laws>
|
||||
|
||||
<section name="IMU" prefix="IMU_">
|
||||
|
||||
@@ -250,25 +257,18 @@
|
||||
<define name="BOOZ_FMS_TIMEOUT" value="0"/>
|
||||
</section>
|
||||
|
||||
<section name="CAM" prefix="BOOZ_CAM_">
|
||||
<!--define name="TILT_NEUTRAL" value="1500"/>
|
||||
<define name="TILT_MIN" value="1060"/>
|
||||
<define name="TILT_MAX" value="2250"/>
|
||||
<define name="TILT_ANGLE_MIN" value="-90." unit="deg"/>
|
||||
<define name="TILT_ANGLE_MAX" value=" 0." unit="deg"/-->
|
||||
<define name="PAN_NEUTRAL" value="0"/>
|
||||
<define name="PAN_MIN" value="0"/>
|
||||
<define name="PAN_MAX" value="25736"/> <!-- 360 deg (2^12) -->
|
||||
<define name="DEFAULT_MODE" value="BOOZ_CAM_MODE_MANUAL"/>
|
||||
<section name="CAM" prefix="ROTORCRAFT_CAM_">
|
||||
<define name="DEFAULT_MODE" value="ROTORCRAFT_CAM_MODE_MANUAL"/>
|
||||
<define name="ON" value="{}"/>
|
||||
<define name="OFF" value="{}"/>
|
||||
<!--define name="SetPwm(_v)" value="Booz2SetPwm1Value(_v)"/-->
|
||||
</section>
|
||||
|
||||
<section name="DROP">
|
||||
<define name="DROP_SERVO_CLOSED" value="2000"/>
|
||||
<define name="DROP_SERVO_OPEN" value="1000"/>
|
||||
<define name="BoozDropPwm(_v)" value="BoozSetPwm0Value(_v)"/>
|
||||
<section name="SERVO_SWITCH">
|
||||
<define name="SERVO_SWITCH_SERVO" value="DROP"/>
|
||||
<define name="SERVO_SWITCH_ON_VALUE" value="SERVO_DROP_MIN"/>
|
||||
<define name="SERVO_SWITCH_OFF_VALUE" value="SERVO_DROP_MAX"/>
|
||||
<define name="DropOpen()" value="ServoSwitchOn()"/>
|
||||
<define name="DropClose()" value="ServoSwitchOff()"/>
|
||||
</section>
|
||||
|
||||
<section name="MISC">
|
||||
|
||||
@@ -1,11 +1,8 @@
|
||||
<airframe name="BOOZ2_G1">
|
||||
|
||||
<modules main_freq="512">
|
||||
<load name="booz_pwm.xml">
|
||||
<define name="USE_PWM1"/>
|
||||
</load>
|
||||
<load name="booz_drop.xml"/>
|
||||
<load name="booz_cam.xml"/>
|
||||
<load name="servo_switch.xml"/>
|
||||
<load name="rotorcraft_cam.xml"/>
|
||||
<!--load name="sonar_maxbotix_booz.xml"/-->
|
||||
<!--load name="adc_generic_booz.xml"/-->
|
||||
<!--load name="sys_mon.xml"/-->
|
||||
@@ -27,28 +24,29 @@
|
||||
<subsystem name="radio_control" type="ppm"/>
|
||||
<subsystem name="telemetry" type="transparent"/>
|
||||
<subsystem name="actuators" type="asctec"/>
|
||||
<subsystem name="actuators" type="pwm">
|
||||
<define name="USE_PWM0"/>
|
||||
<define name="USE_PWM1"/>
|
||||
</subsystem>
|
||||
<subsystem name="imu" type="b2_v1.1"/>
|
||||
<subsystem name="gps" type="ublox">
|
||||
<configure name="GPS_BAUD" value="B57600"/>
|
||||
</subsystem>
|
||||
<subsystem name="stabilization" type="euler"/>
|
||||
<subsystem name="ahrs" type="int_cmpl_euler"/>
|
||||
<subsystem name="ins"/>
|
||||
<subsystem name="ins" type="hff"/>
|
||||
</firmware>
|
||||
|
||||
<firmware name="booz_test_progs">
|
||||
<target name="test_telemetry" board="booz_1.0"/>
|
||||
<target name="test_baro" board="booz_1.0"/>
|
||||
<target name="test_rc_spektrum" board="booz_1.0"/>
|
||||
<target name="test_rc_ppm" board="booz_1.0"/>
|
||||
</firmware>
|
||||
<servos driver="Asctec">
|
||||
<servo name="PITCH" no="0" min="-100" neutral="0" max="100"/>
|
||||
<servo name="ROLL" no="1" min="-100" neutral="0" max="100"/>
|
||||
<servo name="YAW" no="2" min="-100" neutral="0" max="100"/>
|
||||
<servo name="THRUST" no="3" min="0" neutral="0" max="200"/>
|
||||
</servos>
|
||||
|
||||
<servos>
|
||||
<servo name="PITCH" no="0" min="0" neutral="0" max="255"/>
|
||||
<servo name="ROLL" no="1" min="0" neutral="0" max="255"/>
|
||||
<servo name="YAW" no="2" min="0" neutral="0" max="255"/>
|
||||
<servo name="THRUST" no="3" min="0" neutral="0" max="255"/>
|
||||
<servos driver="Pwm">
|
||||
<servo name="SWITCH" no="0" min="1060" neutral="1500" max="2120"/>
|
||||
<servo name="CAM" no="1" min="1000" neutral="1500" max="2300"/>
|
||||
</servos>
|
||||
|
||||
<commands>
|
||||
@@ -58,12 +56,19 @@
|
||||
<axis name="THRUST" failsafe_value="0"/>
|
||||
</commands>
|
||||
|
||||
<section name="SUPERVISION" prefix="SUPERVISION_">
|
||||
<define name="TRIM_A" value="0"/>
|
||||
<define name="TRIM_E" value="6"/>
|
||||
<define name="TRIM_R" value="0"/>
|
||||
<section name="TRIM">
|
||||
<define name="TRIM_ROLL" value="0"/>
|
||||
<define name="TRIM_PITCH" value="6"/>
|
||||
<define name="TRIM_YAW" value="0"/>
|
||||
</section>
|
||||
|
||||
<command_laws>
|
||||
<set servo="PITCH" value="@PITCH - TRIM_PITCH"/>
|
||||
<set servo="ROLL" value="@ROLL - TRIM_ROLL"/>
|
||||
<set servo="YAW" value="@YAW - TRIM_YAW"/>
|
||||
<set servo="THRUST" value="@THRUST"/>
|
||||
</command_laws>
|
||||
|
||||
<section name="IMU" prefix="IMU_">
|
||||
|
||||
<define name="GYRO_P_NEUTRAL" value="32238"/>
|
||||
@@ -208,24 +213,19 @@
|
||||
<define name="BOOZ_FMS_TIMEOUT" value="0"/>
|
||||
</section>
|
||||
|
||||
<section name="CAM" prefix="BOOZ_CAM_">
|
||||
<section name="CAM" prefix="ROTORCRAFT_CAM_">
|
||||
<define name="ON" value="LED_ON(CAM_SWITCH_LED)"/>
|
||||
<define name="OFF" value="LED_OFF(CAM_SWITCH_LED)"/>
|
||||
<define name="TILT_NEUTRAL" value="1500"/>
|
||||
<define name="TILT_MAX" value="1000"/>
|
||||
<define name="TILT_MIN" value="2300"/>
|
||||
<define name="TILT_ANGLE_MIN" value="-90." unit="deg"/>
|
||||
<define name="TILT_ANGLE_MAX" value=" 10." unit="deg"/>
|
||||
<define name="PAN_NEUTRAL" value="0"/>
|
||||
<define name="PAN_MIN" value="0"/>
|
||||
<define name="PAN_MAX" value="25736"/> <!-- 360 deg (2^12) -->
|
||||
<define name="SetPwm(_v)" value="BoozSetPwm1Value(_v)"/>
|
||||
<define name="TILT_SERVO" value="CAM"/>
|
||||
<define name="TILT_ANGLE_MAX" value="-90." unit="deg"/>
|
||||
<define name="TILT_ANGLE_MIN" value=" 10." unit="deg"/>
|
||||
</section>
|
||||
|
||||
<section name="DROP">
|
||||
<define name="DROP_SERVO_CLOSED" value="2120"/>
|
||||
<define name="DROP_SERVO_OPEN" value="1060"/>
|
||||
<!--define name="BoozDropPwm(_v)" value="BoozSetPwm0Value(_v)"/-->
|
||||
<section name="SERVO_SWITCH">
|
||||
<define name="SERVO_SWITCH_ON_VALUE" value="SERVO_SWITCH_MIN"/>
|
||||
<define name="SERVO_SWITCH_OFF_VALUE" value="SERVO_SWITCH_MAX"/>
|
||||
<define name="DropOpen()" value="ServoSwitchOn()"/>
|
||||
<define name="DropClose()" value="ServoSwitchOff()"/>
|
||||
</section>
|
||||
|
||||
<section name="MISC">
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
<subsystem name="telemetry" type="xbee_api">
|
||||
<configure name="MODEM_BAUD" value="B38400"/>
|
||||
</subsystem>
|
||||
<subsystem name="motor_mixing"/>
|
||||
<subsystem name="actuators" type="mkk"/>
|
||||
<subsystem name="imu" type="aspirin_v1.5"/>
|
||||
<subsystem name="gps" type="ublox">
|
||||
@@ -70,11 +71,16 @@
|
||||
</firmware>
|
||||
-->
|
||||
|
||||
<servos>
|
||||
<servo name="FRONT" no="0" min="0" neutral="0" max="255"/>
|
||||
<servo name="BACK" no="1" min="0" neutral="0" max="255"/>
|
||||
<servo name="RIGHT" no="2" min="0" neutral="0" max="255"/>
|
||||
<servo name="LEFT" no="3" min="0" neutral="0" max="255"/>
|
||||
<section name="ACTUATORS_MKK" prefix="ACTUATORS_MKK_">
|
||||
<define name="NB" value="4"/>
|
||||
<define name="ADDR" value="{ 0x52, 0x54, 0x56, 0x58 }"/>
|
||||
</section>
|
||||
|
||||
<servos driver="Mkk">
|
||||
<servo name="FRONT" no="0" min="0" neutral="2" max="210"/>
|
||||
<servo name="BACK" no="1" min="0" neutral="2" max="210"/>
|
||||
<servo name="RIGHT" no="2" min="0" neutral="2" max="210"/>
|
||||
<servo name="LEFT" no="3" min="0" neutral="2" max="210"/>
|
||||
</servos>
|
||||
|
||||
<commands>
|
||||
@@ -84,17 +90,10 @@
|
||||
<axis name="THRUST" failsafe_value="0"/>
|
||||
</commands>
|
||||
|
||||
<section name="ACTUATORS_MKK" prefix="ACTUATORS_MKK_">
|
||||
<define name="NB" value="4"/>
|
||||
<define name="ADDR" value="{ 0x52, 0x54, 0x56, 0x58 }"/>
|
||||
</section>
|
||||
|
||||
<section name="SUPERVISION" prefix="SUPERVISION_">
|
||||
<define name="MIN_MOTOR" value="2"/>
|
||||
<define name="MAX_MOTOR" value="210"/>
|
||||
<define name="TRIM_A" value="0"/>
|
||||
<define name="TRIM_E" value="0"/>
|
||||
<define name="TRIM_R" value="0"/>
|
||||
<section name="MIXING" prefix="MOTOR_MIXING_">
|
||||
<define name="TRIM_ROLL" value="0"/>
|
||||
<define name="TRIM_PITCH" value="0"/>
|
||||
<define name="TRIM_YAW" value="0"/>
|
||||
<define name="NB_MOTOR" value="4"/>
|
||||
<define name="SCALE" value="256"/>
|
||||
<define name="ROLL_COEF" value="{ 0, 0, -256, 256 }"/>
|
||||
@@ -103,6 +102,14 @@
|
||||
<define name="THRUST_COEF" value="{ 256, 256, 256, 256 }"/>
|
||||
</section>
|
||||
|
||||
<command_laws>
|
||||
<call fun="motor_mixing_run(autopilot_motors_on,FALSE,values)"/>
|
||||
<set servo="FRONT" value="motor_mixing.commands[SERVO_FRONT]"/>
|
||||
<set servo="BACK" value="motor_mixing.commands[SERVO_BACK]"/>
|
||||
<set servo="RIGHT" value="motor_mixing.commands[SERVO_RIGHT]"/>
|
||||
<set servo="LEFT" value="motor_mixing.commands[SERVO_LEFT]"/>
|
||||
</command_laws>
|
||||
|
||||
<section name="IMU" prefix="IMU_">
|
||||
<define name="GYRO_P_NEUTRAL" value="32581"/>
|
||||
<define name="GYRO_Q_NEUTRAL" value="32008"/>
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
<subsystem name="radio_control" type="ppm"/>
|
||||
</target>
|
||||
|
||||
<subsystem name="motor_mixing"/>
|
||||
<subsystem name="actuators" type="mkk"/>
|
||||
<subsystem name="telemetry" type="transparent"/>
|
||||
<subsystem name="imu" type="b2_v1.2"/>
|
||||
@@ -70,11 +71,16 @@
|
||||
</firmware>
|
||||
-->
|
||||
|
||||
<servos>
|
||||
<servo name="FRONT" no="0" min="0" neutral="0" max="255"/>
|
||||
<servo name="BACK" no="1" min="0" neutral="0" max="255"/>
|
||||
<servo name="RIGHT" no="2" min="0" neutral="0" max="255"/>
|
||||
<servo name="LEFT" no="3" min="0" neutral="0" max="255"/>
|
||||
<section name="ACTUATORS_MKK" prefix="ACTUATORS_MKK_">
|
||||
<define name="NB" value="4"/>
|
||||
<define name="ADDR" value="{ 0x52, 0x54, 0x56, 0x58 }"/>
|
||||
</section>
|
||||
|
||||
<servos driver="Mkk">
|
||||
<servo name="FRONT" no="0" min="0" neutral="2" max="210"/>
|
||||
<servo name="BACK" no="1" min="0" neutral="2" max="210"/>
|
||||
<servo name="RIGHT" no="2" min="0" neutral="2" max="210"/>
|
||||
<servo name="LEFT" no="3" min="0" neutral="2" max="210"/>
|
||||
</servos>
|
||||
|
||||
<commands>
|
||||
@@ -84,19 +90,10 @@
|
||||
<axis name="THRUST" failsafe_value="0"/>
|
||||
</commands>
|
||||
|
||||
<!-- for the sim -->
|
||||
<section name="ACTUATORS_MKK" prefix="ACTUATORS_MKK_">
|
||||
<define name="NB" value="4"/>
|
||||
<define name="ADDR" value="{ 0x52, 0x54, 0x56, 0x58 }"/>
|
||||
</section>
|
||||
|
||||
|
||||
<section name="SUPERVISION" prefix="SUPERVISION_">
|
||||
<define name="MIN_MOTOR" value="2"/>
|
||||
<define name="MAX_MOTOR" value="210"/>
|
||||
<define name="TRIM_A" value="0"/>
|
||||
<define name="TRIM_E" value="0"/>
|
||||
<define name="TRIM_R" value="0"/>
|
||||
<section name="MIXING" prefix="MOTOR_MIXING_">
|
||||
<define name="TRIM_ROLL" value="0"/>
|
||||
<define name="TRIM_PITCH" value="0"/>
|
||||
<define name="TRIM_YAW" value="0"/>
|
||||
<define name="NB_MOTOR" value="4"/>
|
||||
<define name="SCALE" value="256"/>
|
||||
<define name="ROLL_COEF" value="{ 0, 0, -256, 256 }"/>
|
||||
@@ -105,6 +102,14 @@
|
||||
<define name="THRUST_COEF" value="{ 256, 256, 256, 256 }"/>
|
||||
</section>
|
||||
|
||||
<command_laws>
|
||||
<call fun="motor_mixing_run(autopilot_motors_on,FALSE,values)"/>
|
||||
<set servo="FRONT" value="motor_mixing.commands[SERVO_FRONT]"/>
|
||||
<set servo="BACK" value="motor_mixing.commands[SERVO_BACK]"/>
|
||||
<set servo="RIGHT" value="motor_mixing.commands[SERVO_RIGHT]"/>
|
||||
<set servo="LEFT" value="motor_mixing.commands[SERVO_LEFT]"/>
|
||||
</command_laws>
|
||||
|
||||
<section name="IMU" prefix="IMU_">
|
||||
<define name="GYRO_P_NEUTRAL" value="32581"/>
|
||||
<define name="GYRO_Q_NEUTRAL" value="32008"/>
|
||||
|
||||
@@ -1,21 +1,18 @@
|
||||
<!-- Paparazzi airframe DTD -->
|
||||
|
||||
<!ELEMENT airframe (include|servos|commands|csc_boards|rc_commands|auto_rc_commands|ap_only_commands|command_laws|section|makefile|modules|firmware)*>
|
||||
<!ELEMENT airframe (include|servos|commands|rc_commands|auto_rc_commands|ap_only_commands|command_laws|section|makefile|modules|firmware)*>
|
||||
<!ELEMENT include EMPTY>
|
||||
<!ELEMENT servos (servo)*>
|
||||
<!ELEMENT commands (axis)*>
|
||||
<!ELEMENT csc_boards (board)*>
|
||||
<!ELEMENT board (msg)*>
|
||||
<!ELEMENT msg (field_map)*>
|
||||
<!ELEMENT field_map EMPTY>
|
||||
<!ELEMENT rc_commands (set)*>
|
||||
<!ELEMENT auto_rc_commands (set)*>
|
||||
<!ELEMENT ap_only_commands (copy)*>
|
||||
<!ELEMENT command_laws (let|set|ratelimit)*>
|
||||
<!ELEMENT command_laws (let|set|call|ratelimit)*>
|
||||
<!ELEMENT section (define|linear)*>
|
||||
<!ELEMENT servo EMPTY>
|
||||
<!ELEMENT axis EMPTY>
|
||||
<!ELEMENT set EMPTY>
|
||||
<!ELEMENT call EMPTY>
|
||||
<!ELEMENT ratelimit EMPTY>
|
||||
<!ELEMENT copy EMPTY>
|
||||
<!ELEMENT let EMPTY>
|
||||
@@ -54,7 +51,6 @@ driver CDATA #IMPLIED>
|
||||
<!ATTLIST rc_commands>
|
||||
<!ATTLIST ap_only_commands>
|
||||
<!ATTLIST command_laws>
|
||||
<!ATTLIST csc_boards>
|
||||
|
||||
<!ATTLIST section
|
||||
name CDATA #IMPLIED
|
||||
@@ -67,17 +63,6 @@ min CDATA #REQUIRED
|
||||
neutral CDATA #REQUIRED
|
||||
max CDATA #REQUIRED>
|
||||
|
||||
<!ATTLIST board
|
||||
id CDATA #REQUIRED>
|
||||
|
||||
<!ATTLIST msg
|
||||
id CDATA #REQUIRED
|
||||
type CDATA #REQUIRED>
|
||||
|
||||
<!ATTLIST field_map
|
||||
field CDATA #REQUIRED
|
||||
servo_id CDATA #REQUIRED>
|
||||
|
||||
<!ATTLIST axis
|
||||
name CDATA #REQUIRED
|
||||
failsafe_value CDATA #REQUIRED>
|
||||
@@ -87,6 +72,9 @@ value CDATA #REQUIRED
|
||||
command CDATA #IMPLIED
|
||||
servo CDATA #IMPLIED>
|
||||
|
||||
<!ATTLIST call
|
||||
fun CDATA #REQUIRED>
|
||||
|
||||
<!ATTLIST copy
|
||||
command CDATA #REQUIRED>
|
||||
|
||||
|
||||
@@ -1,10 +1,17 @@
|
||||
<!DOCTYPE airframe SYSTEM "../airframe.dtd">
|
||||
|
||||
<airframe name="BOOZ2_a1">
|
||||
|
||||
<servos>
|
||||
<servo name="FRONT" no="0" min="0" neutral="0" max="255"/>
|
||||
<servo name="BACK" no="1" min="0" neutral="0" max="255"/>
|
||||
<servo name="RIGHT" no="2" min="0" neutral="0" max="255"/>
|
||||
<servo name="LEFT" no="3" min="0" neutral="0" max="255"/>
|
||||
<section name="ACTUATORS_MKK" prefix="ACTUATORS_MKK_">
|
||||
<define name="NB" value="4"/>
|
||||
<define name="ADDR" value="{ 0x52, 0x54, 0x56, 0x58 }"/>
|
||||
</section>
|
||||
|
||||
<servos driver="Mkk">
|
||||
<servo name="FRONT" no="0" min="0" neutral="2" max="210"/>
|
||||
<servo name="BACK" no="1" min="0" neutral="2" max="210"/>
|
||||
<servo name="RIGHT" no="2" min="0" neutral="2" max="210"/>
|
||||
<servo name="LEFT" no="3" min="0" neutral="2" max="210"/>
|
||||
</servos>
|
||||
|
||||
<commands>
|
||||
@@ -14,17 +21,10 @@
|
||||
<axis name="THRUST" failsafe_value="0"/>
|
||||
</commands>
|
||||
|
||||
<section name="ACTUATORS_MKK" prefix="ACTUATORS_MKK_">
|
||||
<define name="NB" value="4"/>
|
||||
<define name="ADDR" value="{ 0x52, 0x54, 0x56, 0x58 }"/>
|
||||
</section>
|
||||
|
||||
<section name="SUPERVISION" prefix="SUPERVISION_">
|
||||
<define name="MIN_MOTOR" value="2"/>
|
||||
<define name="MAX_MOTOR" value="210"/>
|
||||
<define name="TRIM_A" value="0"/>
|
||||
<define name="TRIM_E" value="0"/>
|
||||
<define name="TRIM_R" value="0"/>
|
||||
<section name="MIXING" prefix="MOTOR_MIXING_">
|
||||
<define name="TRIM_ROLL" value="0"/>
|
||||
<define name="TRIM_PITCH" value="0"/>
|
||||
<define name="TRIM_YAW" value="0"/>
|
||||
<define name="NB_MOTOR" value="4"/>
|
||||
<define name="SCALE" value="256"/>
|
||||
<define name="ROLL_COEF" value="{ 0, 0, -256, 256}"/>
|
||||
@@ -33,6 +33,14 @@
|
||||
<define name="THRUST_COEF" value="{ 256, 256, 256, 256}"/>
|
||||
</section>
|
||||
|
||||
<command_laws>
|
||||
<call fun="motor_mixing_run(autopilot_motors_on,FALSE,values)"/>
|
||||
<set servo="FRONT" value="motor_mixing.commands[SERVO_FRONT]"/>
|
||||
<set servo="BACK" value="motor_mixing.commands[SERVO_BACK]"/>
|
||||
<set servo="RIGHT" value="motor_mixing.commands[SERVO_RIGHT]"/>
|
||||
<set servo="LEFT" value="motor_mixing.commands[SERVO_LEFT]"/>
|
||||
</command_laws>
|
||||
|
||||
<section name="IMU" prefix="IMU_">
|
||||
|
||||
<define name="GYRO_P_NEUTRAL" value="33924"/>
|
||||
@@ -199,6 +207,7 @@
|
||||
</target>
|
||||
<subsystem name="radio_control" type="ppm"/>
|
||||
<subsystem name="telemetry" type="transparent"/>
|
||||
<subsystem name="motor_mixing"/>
|
||||
<subsystem name="actuators" type="mkk"/>
|
||||
<subsystem name="imu" type="b2_v1.0"/>
|
||||
<subsystem name="gps" type="ublox"/>
|
||||
|
||||
@@ -1,13 +1,20 @@
|
||||
<!DOCTYPE airframe SYSTEM "../airframe.dtd">
|
||||
|
||||
<!-- this is a custom hexa Lisa/L#3 and mikrokopter controllers -->
|
||||
<airframe name="booz2_a6">
|
||||
|
||||
<servos>
|
||||
<servo name="BACK_RIGHT" no="0" min="0" neutral="0" max="255"/>
|
||||
<servo name="BACK_LEFT" no="1" min="0" neutral="0" max="255"/>
|
||||
<servo name="CENTER_RIGHT" no="2" min="0" neutral="0" max="255"/>
|
||||
<servo name="CENTER_LEFT" no="3" min="0" neutral="0" max="255"/>
|
||||
<servo name="FRONT_RIGHT" no="4" min="0" neutral="0" max="255"/>
|
||||
<servo name="FRONT_LEFT" no="5" min="0" neutral="0" max="255"/>
|
||||
<section name="ACTUATORS_MKK" prefix="ACTUATORS_MKK_">
|
||||
<define name="NB" value="6"/>
|
||||
<define name="ADDR" value="{ 0x52, 0x54, 0x56, 0x58, 0x5A, 0X5C }"/>
|
||||
</section>
|
||||
|
||||
<servos driver="Mkk">
|
||||
<servo name="BACK_RIGHT" no="0" min="0" neutral="2" max="210"/>
|
||||
<servo name="BACK_LEFT" no="1" min="0" neutral="2" max="210"/>
|
||||
<servo name="CENTER_RIGHT" no="2" min="0" neutral="2" max="210"/>
|
||||
<servo name="CENTER_LEFT" no="3" min="0" neutral="2" max="210"/>
|
||||
<servo name="FRONT_RIGHT" no="4" min="0" neutral="2" max="210"/>
|
||||
<servo name="FRONT_LEFT" no="5" min="0" neutral="2" max="210"/>
|
||||
</servos>
|
||||
|
||||
<commands>
|
||||
@@ -17,17 +24,10 @@
|
||||
<axis name="THRUST" failsafe_value="0"/>
|
||||
</commands>
|
||||
|
||||
<section name="ACTUATORS_MKK" prefix="ACTUATORS_MKK_">
|
||||
<define name="NB" value="6"/>
|
||||
<define name="ADDR" value="{ 0x52, 0x54, 0x56, 0x58, 0x5A, 0X5C }"/>
|
||||
</section>
|
||||
|
||||
<section name="SUPERVISION" prefix="SUPERVISION_">
|
||||
<define name="MIN_MOTOR" value="2"/>
|
||||
<define name="MAX_MOTOR" value="210"/>
|
||||
<define name="TRIM_A" value="0"/>
|
||||
<define name="TRIM_E" value="0"/>
|
||||
<define name="TRIM_R" value="0"/>
|
||||
<section name="MIXING" prefix="MOTOR_MIXING_">
|
||||
<define name="TRIM_ROLL" value="0"/>
|
||||
<define name="TRIM_PITCH" value="0"/>
|
||||
<define name="TRIM_YAW" value="0"/>
|
||||
<define name="NB_MOTOR" value="6"/>
|
||||
<define name="SCALE" value="256"/>
|
||||
<define name="ROLL_COEF" value="{ -69, 69, -256, 256, -186, 186 }"/>
|
||||
@@ -36,6 +36,16 @@
|
||||
<define name="THRUST_COEF" value="{ 256, 256, 256, 256, 256, 256 }"/>
|
||||
</section>
|
||||
|
||||
<command_laws>
|
||||
<call fun="motor_mixing_run(autopilot_motors_on,FALSE,values)"/>
|
||||
<set servo="BACK_RIGHT" value="motor_mixing.commands[SERVO_BACK_RIGHT]"/>
|
||||
<set servo="BACK_LEFT" value="motor_mixing.commands[SERVO_BACK_LEFT]"/>
|
||||
<set servo="CENTER_RIGHT" value="motor_mixing.commands[SERVO_CENTER_RIGHT]"/>
|
||||
<set servo="CENTER_LEFT" value="motor_mixing.commands[SERVO_CENTER_LEFT]"/>
|
||||
<set servo="FRONT_RIGHT" value="motor_mixing.commands[SERVO_FRONT_RIGHT]"/>
|
||||
<set servo="FRONT_LEFT" value="motor_mixing.commands[SERVO_FRONT_LEFT]"/>
|
||||
</command_laws>
|
||||
|
||||
<section name="IMU" prefix="IMU_">
|
||||
|
||||
<define name="GYRO_P_NEUTRAL" value="31948"/>
|
||||
@@ -172,6 +182,7 @@
|
||||
<target name="ap" board="lisa_l_1.0">
|
||||
<!-- <define name="ACTUATORS_START_DELAY" value="1"/> -->
|
||||
<subsystem name="radio_control" type="spektrum"/>
|
||||
<subsystem name="motor_mixing"/>
|
||||
<subsystem name="actuators" type="mkk"/>
|
||||
</target>
|
||||
<subsystem name="telemetry" type="transparent"/>
|
||||
@@ -200,8 +211,8 @@
|
||||
<target name="test_adxl345" board="lisa_l_1.0"/>
|
||||
<target name="test_esc_mkk_simple" board="lisa_l_1.0"/>
|
||||
<target name="test_esc_asctecv1_simple" board="lisa_l_1.0"/>
|
||||
<target name="test_actuators_mkk" board="lisa_l_1.0"/>
|
||||
<target name="test_actuators_asctecv1" board="lisa_l_1.0"/>
|
||||
<!--target name="test_actuators_mkk" board="lisa_l_1.0"/>
|
||||
<target name="test_actuators_asctecv1" board="lisa_l_1.0"/-->
|
||||
</firmware>
|
||||
|
||||
</airframe>
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
<!DOCTYPE airframe SYSTEM "../airframe.dtd">
|
||||
|
||||
<!-- this is an asctec frame equiped with Lisa/L#3 and asctec V2 controllers -->
|
||||
|
||||
<airframe name="lisa_asctec">
|
||||
|
||||
<servos>
|
||||
<servo name="FRONT" no="0" min="0" neutral="0" max="255"/>
|
||||
<servo name="BACK" no="1" min="0" neutral="0" max="255"/>
|
||||
<servo name="LEFT" no="2" min="0" neutral="0" max="255"/>
|
||||
<servo name="RIGHT" no="3" min="0" neutral="0" max="255"/>
|
||||
<servos driver="Asctec">
|
||||
<servo name="FRONT" no="0" min="0" neutral="3" max="200"/>
|
||||
<servo name="BACK" no="1" min="0" neutral="3" max="200"/>
|
||||
<servo name="LEFT" no="2" min="0" neutral="3" max="200"/>
|
||||
<servo name="RIGHT" no="3" min="0" neutral="3" max="200"/>
|
||||
</servos>
|
||||
|
||||
<commands>
|
||||
@@ -22,13 +24,10 @@
|
||||
<define name="ADDR" value="{ 0x52, 0x54, 0x56, 0x58 }"/>
|
||||
</section>
|
||||
|
||||
|
||||
<section name="SUPERVISION" prefix="SUPERVISION_">
|
||||
<define name="MIN_MOTOR" value="3"/>
|
||||
<define name="MAX_MOTOR" value="200"/>
|
||||
<define name="TRIM_A" value="0"/>
|
||||
<define name="TRIM_E" value="0"/>
|
||||
<define name="TRIM_R" value="0"/>
|
||||
<section name="MIXING" prefix="MOTOR_MIXING_">
|
||||
<define name="TRIM_ROLL" value="0"/>
|
||||
<define name="TRIM_PITCH" value="0"/>
|
||||
<define name="TRIM_YAW" value="0"/>
|
||||
<define name="NB_MOTOR" value="4"/>
|
||||
<define name="SCALE" value="256"/>
|
||||
<define name="ROLL_COEF" value="{ 0 , 0, 256, -256 }"/>
|
||||
@@ -37,6 +36,14 @@
|
||||
<define name="THRUST_COEF" value="{ 256, 256, 256, 256 }"/>
|
||||
</section>
|
||||
|
||||
<command_laws>
|
||||
<call fun="motor_mixing_run(autopilot_motors_on,FALSE,values)"/>
|
||||
<set servo="FRONT" value="motor_mixing.commands[SERVO_FRONT]"/>
|
||||
<set servo="BACK" value="motor_mixing.commands[SERVO_BACK]"/>
|
||||
<set servo="RIGHT" value="motor_mixing.commands[SERVO_RIGHT]"/>
|
||||
<set servo="LEFT" value="motor_mixing.commands[SERVO_LEFT]"/>
|
||||
</command_laws>
|
||||
|
||||
<section name="IMU" prefix="IMU_">
|
||||
<define name="GYRO_P_NEUTRAL" value="32276"/>
|
||||
<define name="GYRO_Q_NEUTRAL" value="33987"/>
|
||||
@@ -183,6 +190,7 @@
|
||||
<target name="ap" board="lisa_l_1.1">
|
||||
<!-- <define name="ACTUATORS_START_DELAY" value="1"/> -->
|
||||
<subsystem name="radio_control" type="spektrum"/>
|
||||
<subsystem name="motor_mixing"/>
|
||||
<subsystem name="actuators" type="asctec_v2"/>
|
||||
<subsystem name="telemetry" type="transparent"/>
|
||||
<define name="RADIO_MODE" value="RADIO_AUX2"/>
|
||||
@@ -192,6 +200,7 @@
|
||||
<target name="sim" board="pc">
|
||||
<subsystem name="fdm" type="jsbsim"/>
|
||||
<subsystem name="radio_control" type="ppm"/>
|
||||
<subsystem name="motor_mixing"/>
|
||||
<subsystem name="actuators" type="mkk"/>
|
||||
</target>
|
||||
|
||||
@@ -219,8 +228,8 @@
|
||||
<target name="test_adxl345" board="lisa_l_1.1"/>
|
||||
<target name="test_esc_mkk_simple" board="lisa_l_1.1"/>
|
||||
<target name="test_esc_asctecv1_simple" board="lisa_l_1.1"/>
|
||||
<target name="test_actuators_mkk" board="lisa_l_1.1"/>
|
||||
<target name="test_actuators_asctecv1" board="lisa_l_1.1"/>
|
||||
<!--target name="test_actuators_mkk" board="lisa_l_1.1"/>
|
||||
<target name="test_actuators_asctecv1" board="lisa_l_1.1"/-->
|
||||
</firmware>
|
||||
|
||||
|
||||
|
||||
@@ -25,7 +25,8 @@
|
||||
<subsystem name="radio_control" type="ppm"/>
|
||||
</target>
|
||||
|
||||
<subsystem name="actuators" type="pwm_supervision">
|
||||
<subsystem name="motor_mixing"/>
|
||||
<subsystem name="actuators" type="pwm">
|
||||
<define name="SERVO_HZ" value="400"/>
|
||||
<define name="USE_SERVOS_7AND8"/>
|
||||
</subsystem>
|
||||
@@ -38,11 +39,11 @@
|
||||
<subsystem name="ins"/>
|
||||
</firmware>
|
||||
|
||||
<servos>
|
||||
<servo name="FRONT" no="0" min="1000" neutral="1000" max="2000"/>
|
||||
<servo name="BACK" no="1" min="1000" neutral="1000" max="2000"/>
|
||||
<servo name="RIGHT" no="2" min="1000" neutral="1000" max="2000"/>
|
||||
<servo name="LEFT" no="3" min="1000" neutral="1000" max="2000"/>
|
||||
<servos driver="Pwm">
|
||||
<servo name="FRONT" no="0" min="1000" neutral="1100" max="1900"/>
|
||||
<servo name="BACK" no="1" min="1000" neutral="1100" max="1900"/>
|
||||
<servo name="RIGHT" no="2" min="1000" neutral="1100" max="1900"/>
|
||||
<servo name="LEFT" no="3" min="1000" neutral="1100" max="1900"/>
|
||||
</servos>
|
||||
|
||||
<commands>
|
||||
@@ -52,18 +53,10 @@
|
||||
<axis name="THRUST" failsafe_value="0"/>
|
||||
</commands>
|
||||
|
||||
<command_laws>
|
||||
<!-- command_laws is needed for pwm_supervision -->
|
||||
<!-- but can be empty if no additional servos are used -->
|
||||
</command_laws>
|
||||
|
||||
<section name="SUPERVISION" prefix="SUPERVISION_">
|
||||
<define name="STOP_MOTOR" value="1000"/>
|
||||
<define name="MIN_MOTOR" value="1100"/>
|
||||
<define name="MAX_MOTOR" value="1900"/>
|
||||
<define name="TRIM_A" value="0"/>
|
||||
<define name="TRIM_E" value="0"/>
|
||||
<define name="TRIM_R" value="0"/>
|
||||
<section name="MIXING" prefix="MOTOR_MIXING_">
|
||||
<define name="TRIM_ROLL" value="0"/>
|
||||
<define name="TRIM_PITCH" value="0"/>
|
||||
<define name="TRIM_YAW" value="0"/>
|
||||
<define name="NB_MOTOR" value="4"/>
|
||||
<define name="SCALE" value="256"/>
|
||||
<!-- front/back turning CW, right/left CCW -->
|
||||
@@ -73,6 +66,14 @@
|
||||
<define name="THRUST_COEF" value="{ 256, 256, 256, 256 }"/>
|
||||
</section>
|
||||
|
||||
<command_laws>
|
||||
<call fun="motor_mixing_run(autopilot_motors_on,FALSE,values)"/>
|
||||
<set servo="FRONT" value="motor_mixing.commands[SERVO_FRONT]"/>
|
||||
<set servo="BACK" value="motor_mixing.commands[SERVO_BACK]"/>
|
||||
<set servo="RIGHT" value="motor_mixing.commands[SERVO_RIGHT]"/>
|
||||
<set servo="LEFT" value="motor_mixing.commands[SERVO_LEFT]"/>
|
||||
</command_laws>
|
||||
|
||||
<section name="IMU" prefix="IMU_">
|
||||
<define name="ACCEL_X_NEUTRAL" value="11"/>
|
||||
<define name="ACCEL_Y_NEUTRAL" value="11"/>
|
||||
|
||||
@@ -25,7 +25,8 @@
|
||||
<subsystem name="radio_control" type="ppm"/>
|
||||
</target>
|
||||
|
||||
<subsystem name="actuators" type="pwm_supervision">
|
||||
<subsystem name="motor_mixing"/>
|
||||
<subsystem name="actuators" type="pwm">
|
||||
<define name="SERVO_HZ" value="400"/>
|
||||
<define name="USE_SERVOS_7AND8"/>
|
||||
</subsystem>
|
||||
@@ -43,11 +44,11 @@
|
||||
<load name="geo_mag.xml"/>
|
||||
</modules>
|
||||
|
||||
<servos>
|
||||
<servo name="FRONT" no="0" min="1000" neutral="1000" max="2000"/>
|
||||
<servo name="BACK" no="1" min="1000" neutral="1000" max="2000"/>
|
||||
<servo name="RIGHT" no="2" min="1000" neutral="1000" max="2000"/>
|
||||
<servo name="LEFT" no="3" min="1000" neutral="1000" max="2000"/>
|
||||
<servos driver="Pwm">
|
||||
<servo name="FRONT" no="0" min="1000" neutral="1100" max="1900"/>
|
||||
<servo name="BACK" no="1" min="1000" neutral="1100" max="1900"/>
|
||||
<servo name="RIGHT" no="2" min="1000" neutral="1100" max="1900"/>
|
||||
<servo name="LEFT" no="3" min="1000" neutral="1100" max="1900"/>
|
||||
</servos>
|
||||
|
||||
<commands>
|
||||
@@ -62,13 +63,10 @@
|
||||
<!-- but can be empty if no additional servos are used -->
|
||||
</command_laws>
|
||||
|
||||
<section name="SUPERVISION" prefix="SUPERVISION_">
|
||||
<define name="STOP_MOTOR" value="1000"/>
|
||||
<define name="MIN_MOTOR" value="1100"/>
|
||||
<define name="MAX_MOTOR" value="1900"/>
|
||||
<define name="TRIM_A" value="0"/>
|
||||
<define name="TRIM_E" value="0"/>
|
||||
<define name="TRIM_R" value="0"/>
|
||||
<section name="MIXING" prefix="MOTOR_MIXING_">
|
||||
<define name="TRIM_ROLL" value="0"/>
|
||||
<define name="TRIM_PITCH" value="0"/>
|
||||
<define name="TRIM_YAW" value="0"/>
|
||||
<define name="NB_MOTOR" value="4"/>
|
||||
<define name="SCALE" value="256"/>
|
||||
<!-- front/back turning CW, right/left CCW -->
|
||||
@@ -78,6 +76,14 @@
|
||||
<define name="THRUST_COEF" value="{ 256, 256, 256, 256 }"/>
|
||||
</section>
|
||||
|
||||
<command_laws>
|
||||
<call fun="motor_mixing_run(autopilot_motors_on,FALSE,values)"/>
|
||||
<set servo="FRONT" value="motor_mixing.commands[SERVO_FRONT]"/>
|
||||
<set servo="BACK" value="motor_mixing.commands[SERVO_BACK]"/>
|
||||
<set servo="RIGHT" value="motor_mixing.commands[SERVO_RIGHT]"/>
|
||||
<set servo="LEFT" value="motor_mixing.commands[SERVO_LEFT]"/>
|
||||
</command_laws>
|
||||
|
||||
<section name="IMU" prefix="IMU_">
|
||||
<define name="ACCEL_X_NEUTRAL" value="11"/>
|
||||
<define name="ACCEL_Y_NEUTRAL" value="11"/>
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
|
||||
<subsystem name="radio_control" type="ppm"/>
|
||||
<subsystem name="telemetry" type="transparent"/>
|
||||
<subsystem name="motor_mixing"/>
|
||||
<subsystem name="actuators" type="mkk"/>
|
||||
<subsystem name="imu" type="aspirin_v1.5"/>
|
||||
<subsystem name="gps" type="ublox"/>
|
||||
@@ -28,6 +29,19 @@
|
||||
<subsystem name="ins"/>
|
||||
</firmware>
|
||||
|
||||
<section name="ACTUATORS_MKK" prefix="ACTUATORS_MKK_">
|
||||
<define name="NB" value="4"/>
|
||||
<!-- FRONT, BACK, RIGHT, LEFT -->
|
||||
<define name="ADDR" value="{ 0x52, 0x54, 0x56, 0x58 }"/>
|
||||
</section>
|
||||
|
||||
<servos driver="Mkk">
|
||||
<servo name="FRONT" no="0" min="0" neutral="2" max="200"/>
|
||||
<servo name="BACK" no="1" min="0" neutral="2" max="200"/>
|
||||
<servo name="RIGHT" no="2" min="0" neutral="2" max="200"/>
|
||||
<servo name="LEFT" no="3" min="0" neutral="2" max="200"/>
|
||||
</servos>
|
||||
|
||||
<commands>
|
||||
<axis name="ROLL" failsafe_value="0"/>
|
||||
<axis name="PITCH" failsafe_value="0"/>
|
||||
@@ -35,18 +49,10 @@
|
||||
<axis name="THRUST" failsafe_value="0"/>
|
||||
</commands>
|
||||
|
||||
<section name="ACTUATORS_MKK" prefix="ACTUATORS_MKK_">
|
||||
<define name="NB" value="4"/>
|
||||
<!-- FRONT, BACK, RIGHT, LEFT -->
|
||||
<define name="ADDR" value="{ 0x52, 0x54, 0x56, 0x58 }"/>
|
||||
</section>
|
||||
|
||||
<section name="SUPERVISION" prefix="SUPERVISION_">
|
||||
<define name="MIN_MOTOR" value="2"/>
|
||||
<define name="MAX_MOTOR" value="200"/>
|
||||
<define name="TRIM_A" value="0"/>
|
||||
<define name="TRIM_E" value="0"/>
|
||||
<define name="TRIM_R" value="0"/>
|
||||
<section name="MIXING" prefix="MOTOR_MIXING_">
|
||||
<define name="TRIM_ROLL" value="0"/>
|
||||
<define name="TRIM_PITCH" value="0"/>
|
||||
<define name="TRIM_YAW" value="0"/>
|
||||
<define name="NB_MOTOR" value="4"/>
|
||||
<define name="SCALE" value="256"/>
|
||||
<!-- front/back turning CW, left/right CCW -->
|
||||
@@ -56,6 +62,14 @@
|
||||
<define name="THRUST_COEF" value="{ 256, 256, 256, 256 }"/>
|
||||
</section>
|
||||
|
||||
<command_laws>
|
||||
<call fun="motor_mixing_run(autopilot_motors_on,FALSE,values)"/>
|
||||
<set servo="FRONT" value="motor_mixing.commands[SERVO_FRONT]"/>
|
||||
<set servo="BACK" value="motor_mixing.commands[SERVO_BACK]"/>
|
||||
<set servo="RIGHT" value="motor_mixing.commands[SERVO_RIGHT]"/>
|
||||
<set servo="LEFT" value="motor_mixing.commands[SERVO_LEFT]"/>
|
||||
</command_laws>
|
||||
|
||||
<section name="IMU" prefix="IMU_">
|
||||
<define name="ACCEL_X_NEUTRAL" value="11"/>
|
||||
<define name="ACCEL_Y_NEUTRAL" value="11"/>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
<firmware name="setup">
|
||||
<target name="tunnel" board="lisa_m_2.0"/>
|
||||
<target name="setup_actuators" board="lisa_m_2.0"/>
|
||||
<!--target name="setup_actuators" board="lisa_m_2.0"/-->
|
||||
</firmware>
|
||||
|
||||
<firmware name="lisa_test_progs">
|
||||
|
||||
@@ -55,5 +55,13 @@ ifndef SYS_TIME_LED
|
||||
SYS_TIME_LED = none
|
||||
endif
|
||||
|
||||
#
|
||||
# you can use different actuators by adding a configure option to your firmware section
|
||||
# e.g. <configure name="ACTUATORS" value="actuators_ppm/>
|
||||
#
|
||||
ifndef ACTUATORS
|
||||
ACTUATORS = actuators_pwm
|
||||
endif
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -86,6 +86,16 @@ ifndef GPS_BAUD
|
||||
GPS_BAUD=B38400
|
||||
endif
|
||||
|
||||
#
|
||||
# default actuator configuration
|
||||
#
|
||||
# you can use different actuators by adding a configure option to your firmware section
|
||||
# e.g. <configure name="ACTUATORS" value="actuators_ppm/>
|
||||
#
|
||||
ifndef ACTUATORS
|
||||
ACTUATORS = actuators_pwm
|
||||
endif
|
||||
|
||||
#
|
||||
# this is the DRDY pin of a max1168 on a booz IMU
|
||||
#
|
||||
|
||||
@@ -89,6 +89,16 @@ ifndef GPS_BAUD
|
||||
GPS_BAUD=B38400
|
||||
endif
|
||||
|
||||
#
|
||||
# default actuator configuration
|
||||
#
|
||||
# you can use different actuators by adding a configure option to your firmware section
|
||||
# e.g. <configure name="ACTUATORS" value="actuators_ppm/>
|
||||
#
|
||||
ifndef ACTUATORS
|
||||
ACTUATORS = actuators_pwm
|
||||
endif
|
||||
|
||||
#
|
||||
# this is the DRDY pin of a max1168 on a booz IMU
|
||||
#
|
||||
|
||||
@@ -83,6 +83,16 @@ GPS_BAUD=B38400
|
||||
endif
|
||||
|
||||
|
||||
#
|
||||
# default actuator configuration
|
||||
#
|
||||
# you can use different actuators by adding a configure option to your firmware section
|
||||
# e.g. <configure name="ACTUATORS" value="actuators_ppm/>
|
||||
#
|
||||
ifndef ACTUATORS
|
||||
ACTUATORS = actuators_pwm
|
||||
endif
|
||||
|
||||
|
||||
ifndef ADC_IR1
|
||||
ADC_IR1 = 1
|
||||
|
||||
@@ -86,6 +86,16 @@ GPS_BAUD=B38400
|
||||
endif
|
||||
|
||||
|
||||
#
|
||||
# default actuator configuration
|
||||
#
|
||||
# you can use different actuators by adding a configure option to your firmware section
|
||||
# e.g. <configure name="ACTUATORS" value="actuators_ppm/>
|
||||
#
|
||||
ifndef ACTUATORS
|
||||
ACTUATORS = actuators_pwm
|
||||
endif
|
||||
|
||||
|
||||
ifndef ADC_IR1
|
||||
ADC_IR1 = 1
|
||||
|
||||
@@ -34,16 +34,7 @@ endif
|
||||
|
||||
ifeq ($(TARGET),$(ACTUATOR_TARGET))
|
||||
|
||||
ifeq ($(ACTUATORS),)
|
||||
|
||||
ifeq ($(BOARD),lisa_l)
|
||||
include $(CFG_SHARED)/actuators_direct.makefile
|
||||
endif
|
||||
ifeq ($(BOARD),lisa_m)
|
||||
include $(CFG_SHARED)/actuators_direct.makefile
|
||||
endif
|
||||
|
||||
else
|
||||
ifneq ($(ACTUATORS),)
|
||||
include $(CFG_SHARED)/$(ACTUATORS).makefile
|
||||
endif
|
||||
|
||||
|
||||
@@ -60,7 +60,7 @@ stm_passthrough.srcs += $(SRC_LISA)/lisa_overo_link.c \
|
||||
stm_passthrough.srcs += math/pprz_trig_int.c
|
||||
stm_passthrough.srcs += lisa/plug_sys.c
|
||||
|
||||
stm_passthrough.srcs += $(SRC_FIRMWARE)/commands.c
|
||||
stm_passthrough.srcs += subsystems/commands.c
|
||||
|
||||
# Radio control
|
||||
#
|
||||
|
||||
@@ -140,7 +140,6 @@ test_servos.srcs = $(COMMON_TEST_SRCS)
|
||||
test_servos.CFLAGS += -I$(SRC_LISA)
|
||||
test_servos.LDFLAGS += -lm
|
||||
test_servos.srcs += $(SRC_LISA)/test_servos.c
|
||||
test_servos.srcs += subsystems/actuators/actuators_pwm.c
|
||||
test_servos.srcs += $(SRC_ARCH)/subsystems/actuators/actuators_pwm_arch.c
|
||||
ifeq ($(BOARD), lisa_m)
|
||||
test_servos.CFLAGS += -DUSE_SERVOS_7AND8
|
||||
@@ -509,7 +508,7 @@ test_actuators_mkk.CFLAGS += $(COMMON_TELEMETRY_CFLAGS)
|
||||
test_actuators_mkk.srcs += $(COMMON_TELEMETRY_SRCS)
|
||||
|
||||
test_actuators_mkk.srcs += test/test_actuators.c
|
||||
test_actuators_mkk.srcs += $(SRC_FIRMWARE)/commands.c
|
||||
test_actuators_mkk.srcs += subsystems/commands.c
|
||||
test_actuators_mkk.srcs += $(SRC_FIRMWARE)/actuators/actuators_mkk.c
|
||||
test_actuators_mkk.CFLAGS += -DACTUATORS_MKK_DEVICE=i2c1
|
||||
test_actuators_mkk.srcs += $(SRC_FIRMWARE)/actuators/supervision.c
|
||||
@@ -527,7 +526,7 @@ test_actuators_asctecv1.CFLAGS += $(COMMON_TELEMETRY_CFLAGS)
|
||||
test_actuators_asctecv1.srcs += $(COMMON_TELEMETRY_SRCS)
|
||||
|
||||
test_actuators_asctecv1.srcs += test/test_actuators.c
|
||||
test_actuators_asctecv1.srcs += $(SRC_FIRMWARE)/commands.c
|
||||
test_actuators_asctecv1.srcs += subsystems/commands.c
|
||||
test_actuators_asctecv1.CFLAGS += -DACTUATORS_ASCTEC_DEVICE=i2c1
|
||||
test_actuators_asctecv1.srcs += $(SRC_FIRMWARE)/actuators/actuators_asctec.c
|
||||
test_actuators_asctecv1.CFLAGS += -DUSE_I2C1
|
||||
@@ -561,7 +560,7 @@ test_actuators_asctecv1.srcs += mcu_periph/i2c.c $(SRC_ARCH)/mcu_periph/i2c_ar
|
||||
#test_manual.srcs += $(COMMON_TELEMETRY_SRCS)
|
||||
#
|
||||
#test_manual.srcs += test/test_manual.c
|
||||
#test_manual.srcs += $(SRC_FIRMWARE)/commands.c
|
||||
#test_manual.srcs += subsystems/commands.c
|
||||
##test_manual.srcs += subsystems/actuators/actuators_pwm.c
|
||||
#test_manual.srcs += $(SRC_ARCH)/subsystems/actuators/actuators_pwm_arch.c
|
||||
#
|
||||
|
||||
@@ -104,7 +104,8 @@ ifeq ($(TARGET), ap)
|
||||
include $(CFG_SHARED)/i2c_select.makefile
|
||||
endif
|
||||
|
||||
ap.srcs += $(SRC_FIRMWARE)/commands.c
|
||||
ap.srcs += subsystems/commands.c
|
||||
ap.srcs += subsystems/actuators.c
|
||||
|
||||
#
|
||||
# Radio control choice
|
||||
|
||||
@@ -84,10 +84,10 @@ ifeq ($(TARGET), setup_actuators)
|
||||
endif
|
||||
|
||||
ifeq ($(BOARD),lisa_l)
|
||||
include $(CFG_SHARED)/actuators_direct.makefile
|
||||
include $(CFG_SHARED)/actuators_pwm.makefile
|
||||
endif
|
||||
ifeq ($(BOARD),lisa_m)
|
||||
include $(CFG_SHARED)/actuators_direct.makefile
|
||||
ifeq ($(BOARD),lisa_m)
|
||||
include $(CFG_SHARED)/actuators_pwm.makefile
|
||||
endif
|
||||
|
||||
else
|
||||
|
||||
@@ -152,7 +152,8 @@ endif
|
||||
fbw_CFLAGS += -DFBW
|
||||
fbw_srcs += $(SRC_FIRMWARE)/main_fbw.c
|
||||
fbw_srcs += subsystems/electrical.c
|
||||
fbw_srcs += $(SRC_FIXEDWING)/commands.c
|
||||
fbw_srcs += subsystems/commands.c
|
||||
fbw_srcs += subsystems/actuators.c
|
||||
fbw_srcs += $(SRC_FIRMWARE)/fbw_downlink.c
|
||||
|
||||
######################################################################
|
||||
@@ -162,6 +163,7 @@ fbw_srcs += $(SRC_FIRMWARE)/fbw_downlink.c
|
||||
|
||||
ap_CFLAGS += -DAP
|
||||
ap_srcs += $(SRC_FIRMWARE)/main_ap.c
|
||||
ap_srcs += $(SRC_FIRMWARE)/autopilot.c
|
||||
ap_srcs += $(SRC_FIRMWARE)/ap_downlink.c
|
||||
ap_srcs += state.c
|
||||
|
||||
|
||||
@@ -1,36 +0,0 @@
|
||||
# asctec controllers v2
|
||||
#
|
||||
# <section name="SUPERVISION" prefix="SUPERVISION_">
|
||||
# <define name="MIN_MOTOR" value="2"/>
|
||||
# <define name="MAX_MOTOR" value="210"/>
|
||||
# <define name="TRIM_A" value="2"/>
|
||||
# <define name="TRIM_E" value="-1"/>
|
||||
# <define name="TRIM_R" value="3"/>
|
||||
# <define name="NB_MOTOR" value="4"/>
|
||||
# <define name="SCALE" value="256"/>
|
||||
# <define name="ROLL_COEF" value="{ 0, 0, -256, 256}"/>
|
||||
# <define name="PITCH_COEF" value="{ 256, -256, 0, 0}"/>
|
||||
# <define name="YAW_COEF" value="{-256, -256, 256, 256}"/>
|
||||
# <define name="THRUST_COEF" value="{ 256, 256, 256, 256}"/>
|
||||
# </section>
|
||||
#
|
||||
#
|
||||
|
||||
ap.srcs += $(SRC_FIRMWARE)/actuators/supervision.c
|
||||
ap.CFLAGS += -DACTUATORS_ASCTEC_V2_PROTOCOL
|
||||
ap.srcs += $(SRC_FIRMWARE)/actuators/actuators_asctec.c
|
||||
|
||||
ifeq ($(ARCH), lpc21)
|
||||
ap.CFLAGS += -DACTUATORS_ASCTEC_DEVICE=i2c0
|
||||
ap.CFLAGS += -DUSE_I2C0 -DI2C0_SCLL=150 -DI2C0_SCLH=150 -DI2C0_VIC_SLOT=11
|
||||
endif
|
||||
|
||||
ifeq ($(ARCH), stm32)
|
||||
ap.CFLAGS += -DACTUATORS_ASCTEC_DEVICE=i2c1
|
||||
ap.CFLAGS += -DUSE_I2C1
|
||||
endif
|
||||
|
||||
# Simulator
|
||||
nps.srcs += $(SRC_FIRMWARE)/actuators/supervision.c
|
||||
nps.srcs += $(SRC_FIRMWARE)/actuators/actuators_asctec.c
|
||||
nps.CFLAGS += -DUSE_I2C0 -DACTUATORS_ASCTEC_DEVICE=i2c0
|
||||
@@ -1,5 +0,0 @@
|
||||
#
|
||||
# empty dummy actuators for testing
|
||||
#
|
||||
|
||||
ap.srcs += $(SRC_FIRMWARE)/actuators/actuators_dummy.c
|
||||
@@ -1,3 +0,0 @@
|
||||
|
||||
ap.srcs += $(SRC_FIRMWARE)/actuators/actuators_heli.c
|
||||
ap.srcs += $(SRC_ARCH)/subsystems/actuators/actuators_pwm_arch.c
|
||||
@@ -1,9 +0,0 @@
|
||||
|
||||
ap.srcs += $(SRC_FIRMWARE)/actuators/supervision.c
|
||||
ap.srcs += $(SRC_FIRMWARE)/actuators/actuators_pwm_supervision.c
|
||||
ap.srcs += $(SRC_ARCH)/subsystems/actuators/actuators_pwm_arch.c
|
||||
|
||||
# Simulator
|
||||
nps.srcs += $(SRC_FIRMWARE)/actuators/supervision.c
|
||||
nps.srcs += $(SRC_FIRMWARE)/actuators/actuators_pwm_supervision.c
|
||||
nps.srcs += $(SRC_ARCH)/subsystems/actuators/actuators_pwm_arch.c
|
||||
@@ -1,53 +0,0 @@
|
||||
#
|
||||
# Skiron Actuators
|
||||
#
|
||||
# enable the subsystem for your firmware:
|
||||
# <firmware name="rotorcraft">
|
||||
# ...
|
||||
# <subsystem name="actuators" type="skiron">
|
||||
# <configure name="SKIRON_I2C_SCL_TIME" value="50"/> <!-- this is optional, 150 is default -->
|
||||
# </subsystem>
|
||||
# ...
|
||||
# </firmware>
|
||||
#
|
||||
#
|
||||
# required xml configuration:
|
||||
# <section name="ACTUATORS_SKIRON" prefix="ACTUATORS_SKIRON_">
|
||||
# <define name="NB" value="4"/>
|
||||
# <define name="IDX" value="{ 0, 1, 2, 3 }"/>
|
||||
# </section>
|
||||
#
|
||||
# <section name="SUPERVISION" prefix="SUPERVISION_">
|
||||
# <define name="MIN_MOTOR" value="20"/>
|
||||
# <define name="MAX_MOTOR" value="255"/>
|
||||
# <define name="TRIM_A" value="0"/>
|
||||
# <define name="TRIM_E" value="0"/>
|
||||
# <define name="TRIM_R" value="0"/>
|
||||
# <define name="NB_MOTOR" value="4"/>
|
||||
# <define name="SCALE" value="256"/>
|
||||
# <define name="ROLL_COEF" value="{ 0, 0, -256, 256}"/>
|
||||
# <define name="PITCH_COEF" value="{ 256, -256, 0, 0}"/>
|
||||
# <define name="YAW_COEF" value="{ -256, -256, 256, 256}"/>
|
||||
# <define name="THRUST_COEF" value="{ 256, 256, 256, 256}"/>
|
||||
# </section>
|
||||
#
|
||||
#
|
||||
|
||||
# set default i2c timing if not already configured
|
||||
ifeq ($(SKIRON_I2C_SCL_TIME), )
|
||||
SKIRON_I2C_SCL_TIME=150
|
||||
endif
|
||||
|
||||
ap.srcs += $(SRC_FIRMWARE)/actuators/supervision.c
|
||||
ap.srcs += $(SRC_FIRMWARE)/actuators/actuators_skiron.c
|
||||
|
||||
ifeq ($(ARCH), lpc21)
|
||||
ap.CFLAGS += -DACTUATORS_SKIRON_DEVICE=i2c0
|
||||
ap.CFLAGS += -DUSE_I2C0 -DI2C0_SCLL=$(SKIRON_I2C_SCL_TIME) -DI2C0_SCLH=$(SKIRON_I2C_SCL_TIME) -DI2C0_VIC_SLOT=10
|
||||
endif
|
||||
|
||||
# Simulator
|
||||
nps.srcs += $(SRC_FIRMWARE)/actuators/supervision.c
|
||||
nps.srcs += $(SRC_FIRMWARE)/actuators/actuators_skiron.c
|
||||
nps.CFLAGS += -DUSE_I2C0 -DI2C0_SCLL=$(SKIRON_I2C_SCL_TIME) -DI2C0_SCLH=$(SKIRON_I2C_SCL_TIME) -DI2C0_VIC_SLOT=10 -DACTUATORS_MKK_DEVICE=i2c0
|
||||
|
||||
@@ -82,7 +82,8 @@ nps.srcs += $(SRC_FIRMWARE)/telemetry.c \
|
||||
subsystems/datalink/downlink.c \
|
||||
$(SRC_ARCH)/ivy_transport.c
|
||||
|
||||
nps.srcs += $(SRC_FIRMWARE)/commands.c
|
||||
nps.srcs += subsystems/actuators.c
|
||||
nps.srcs += subsystems/commands.c
|
||||
|
||||
nps.srcs += $(SRC_FIRMWARE)/datalink.c
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# for Tiny v1.1
|
||||
|
||||
$(TARGET).CFLAGS += -DACTUATORS=\"servos_4015_MAT_hw.h\" -DSERVOS_4015_MAT
|
||||
$(TARGET).srcs += $(SRC_ARCH)/servos_4015_MAT_hw.c actuators.c
|
||||
$(TARGET).CFLAGS += -DACTUATORS -DSERVOS_4015_MAT
|
||||
$(TARGET).srcs += $(SRC_ARCH)/subsystems/actuators/servos_4015_MAT_hw.c
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# for Tiny v2 or Twog v1
|
||||
|
||||
$(TARGET).CFLAGS += -DACTUATORS=\"servos_4017_hw.h\" -DSERVOS_4017
|
||||
$(TARGET).srcs += $(SRC_ARCH)/servos_4017_hw.c actuators.c
|
||||
$(TARGET).CFLAGS += -DACTUATORS -DSERVOS_4017
|
||||
$(TARGET).srcs += $(SRC_ARCH)/subsystems/actuators/servos_4017_hw.c
|
||||
|
||||
+3
-2
@@ -1,5 +1,6 @@
|
||||
# asctec controllers
|
||||
ap.srcs += $(SRC_FIRMWARE)/actuators/actuators_asctec.c
|
||||
$(TARGET).CFLAGS += -DACTUATORS
|
||||
ap.srcs += subsystems/actuators/actuators_asctec.c
|
||||
|
||||
ifeq ($(ARCH), lpc21)
|
||||
ap.CFLAGS += -DACTUATORS_ASCTEC_DEVICE=i2c0
|
||||
@@ -13,6 +14,6 @@ endif
|
||||
|
||||
|
||||
# Simulator
|
||||
nps.srcs += $(SRC_FIRMWARE)/actuators/actuators_asctec.c
|
||||
nps.srcs += subsystems/actuators/actuators_asctec.c
|
||||
nps.CFLAGS += -DUSE_I2C0 -DACTUATORS_ASCTEC_DEVICE=i2c0
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
# asctec controllers v2
|
||||
#
|
||||
# required xml configuration:
|
||||
#
|
||||
# servo section with driver="Asctec"
|
||||
# command_laws section to map motor_mixing commands to servos
|
||||
#
|
||||
|
||||
$(TARGET).CFLAGS += -DACTUATORS
|
||||
ap.CFLAGS += -DACTUATORS_ASCTEC_V2_PROTOCOL
|
||||
ap.srcs += subsystems/actuators/actuators_asctec.c
|
||||
|
||||
ifeq ($(ARCH), lpc21)
|
||||
ap.CFLAGS += -DACTUATORS_ASCTEC_DEVICE=i2c0
|
||||
ap.CFLAGS += -DUSE_I2C0 -DI2C0_SCLL=150 -DI2C0_SCLH=150 -DI2C0_VIC_SLOT=11
|
||||
endif
|
||||
|
||||
ifeq ($(ARCH), stm32)
|
||||
ap.CFLAGS += -DACTUATORS_ASCTEC_DEVICE=i2c1
|
||||
ap.CFLAGS += -DUSE_I2C1
|
||||
endif
|
||||
|
||||
# Simulator
|
||||
nps.srcs += subsystems/actuators/actuators_asctec.c
|
||||
nps.CFLAGS += -DUSE_I2C0 -DACTUATORS_ASCTEC_DEVICE=i2c0
|
||||
@@ -1,5 +0,0 @@
|
||||
|
||||
|
||||
$(TARGET).CFLAGS += -DACTUATORS=\"subsystems/actuators/actuators_pwm.h\" -DSERVOS_DIRECT
|
||||
$(TARGET).srcs += subsystems/actuators/actuators_pwm.c actuators.c
|
||||
$(TARGET).srcs += $(SRC_ARCH)/subsystems/actuators/actuators_pwm_arch.c
|
||||
+5
-18
@@ -17,24 +17,12 @@
|
||||
# <define name="ADDR" value="{ 0x52, 0x54, 0x56, 0x58 }"/>
|
||||
# </section>
|
||||
#
|
||||
# <section name="SUPERVISION" prefix="SUPERVISION_">
|
||||
# <define name="MIN_MOTOR" value="2"/>
|
||||
# <define name="MAX_MOTOR" value="210"/>
|
||||
# <define name="TRIM_A" value="2"/>
|
||||
# <define name="TRIM_E" value="-1"/>
|
||||
# <define name="TRIM_R" value="3"/>
|
||||
# <define name="NB_MOTOR" value="4"/>
|
||||
# <define name="SCALE" value="256"/>
|
||||
# <define name="ROLL_COEF" value="{ 0, 0, -256, 256}"/>
|
||||
# <define name="PITCH_COEF" value="{ 256, -256, 0, 0}"/>
|
||||
# <define name="YAW_COEF" value="{ -256, -256, 256, 256}"/>
|
||||
# <define name="THRUST_COEF" value="{ 256, 256, 256, 256}"/>
|
||||
# </section>
|
||||
#
|
||||
# servo section with driver="Mkk"
|
||||
# command_laws section to map motor_mixing commands to servos
|
||||
#
|
||||
|
||||
ap.srcs += $(SRC_FIRMWARE)/actuators/supervision.c
|
||||
ap.srcs += $(SRC_FIRMWARE)/actuators/actuators_mkk.c
|
||||
$(TARGET).CFLAGS += -DACTUATORS
|
||||
ap.srcs += subsystems/actuators/actuators_mkk.c
|
||||
|
||||
ifeq ($(ARCH), lpc21)
|
||||
|
||||
@@ -52,6 +40,5 @@ ap.CFLAGS += -DUSE_I2C1
|
||||
endif
|
||||
|
||||
# Simulator
|
||||
nps.srcs += $(SRC_FIRMWARE)/actuators/supervision.c
|
||||
nps.srcs += $(SRC_FIRMWARE)/actuators/actuators_mkk.c
|
||||
nps.srcs += subsystems/actuators/actuators_mkk.c
|
||||
nps.CFLAGS += -DUSE_I2C0 -DACTUATORS_MKK_DEVICE=i2c0
|
||||
@@ -5,6 +5,6 @@
|
||||
# The PPM is output on the SERV_CLK pin. The PPM frame rate, pulse width, and number of channels
|
||||
# can be adjusted in the "servos_ppm_hw.h" file to suit your particular receiver.
|
||||
|
||||
$(TARGET).CFLAGS += -DACTUATORS=\"servos_ppm_hw.h\" -DSERVOS_PPM_MAT
|
||||
$(TARGET).srcs += $(SRC_ARCH)/servos_ppm_hw.c actuators.c
|
||||
$(TARGET).CFLAGS += -DACTUATORS -DSERVOS_PPM_MAT
|
||||
$(TARGET).srcs += $(SRC_ARCH)/subsystems/actuators/servos_ppm_hw.c
|
||||
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
|
||||
|
||||
$(TARGET).CFLAGS += -DACTUATORS
|
||||
$(TARGET).srcs += $(SRC_ARCH)/subsystems/actuators/actuators_pwm_arch.c
|
||||
@@ -0,0 +1,36 @@
|
||||
#
|
||||
# Skiron Actuators
|
||||
#
|
||||
# enable the subsystem for your firmware:
|
||||
# <firmware name="rotorcraft">
|
||||
# ...
|
||||
# <subsystem name="actuators" type="skiron">
|
||||
# <configure name="SKIRON_I2C_SCL_TIME" value="50"/> <!-- this is optional, 150 is default -->
|
||||
# </subsystem>
|
||||
# ...
|
||||
# </firmware>
|
||||
#
|
||||
#
|
||||
# required xml configuration:
|
||||
#
|
||||
# servo section with driver="Skiron"
|
||||
# command_laws section to map motor_mixing commands to servos
|
||||
#
|
||||
|
||||
# set default i2c timing if not already configured
|
||||
ifeq ($(SKIRON_I2C_SCL_TIME), )
|
||||
SKIRON_I2C_SCL_TIME=150
|
||||
endif
|
||||
|
||||
$(TARGET).CFLAGS += -DACTUATORS
|
||||
ap.srcs += subsystems/actuators/actuators_skiron.c
|
||||
|
||||
ifeq ($(ARCH), lpc21)
|
||||
ap.CFLAGS += -DACTUATORS_SKIRON_DEVICE=i2c0
|
||||
ap.CFLAGS += -DUSE_I2C0 -DI2C0_SCLL=$(SKIRON_I2C_SCL_TIME) -DI2C0_SCLH=$(SKIRON_I2C_SCL_TIME) -DI2C0_VIC_SLOT=10
|
||||
endif
|
||||
|
||||
# Simulator
|
||||
nps.srcs += subsystems/actuators/actuators_skiron.c
|
||||
nps.CFLAGS += -DUSE_I2C0 -DI2C0_SCLL=$(SKIRON_I2C_SCL_TIME) -DI2C0_SCLH=$(SKIRON_I2C_SCL_TIME) -DI2C0_VIC_SLOT=10 -DACTUATORS_SKIRON_DEVICE=i2c0
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
# Motor Mixing
|
||||
#
|
||||
# <section name="MIXING" prefix="MOTOR_MIXING_">
|
||||
# <define name="TRIM_ROLL" value="2"/>
|
||||
# <define name="TRIM_PITCH" value="-1"/>
|
||||
# <define name="TRIM_YAW" value="3"/>
|
||||
# <define name="NB_MOTOR" value="4"/>
|
||||
# <define name="SCALE" value="256"/>
|
||||
# <define name="ROLL_COEF" value="{ 0, 0, -256, 256}"/>
|
||||
# <define name="PITCH_COEF" value="{ 256, -256, 0, 0}"/>
|
||||
# <define name="YAW_COEF" value="{-256, -256, 256, 256}"/>
|
||||
# <define name="THRUST_COEF" value="{ 256, 256, 256, 256}"/>
|
||||
# </section>
|
||||
#
|
||||
#
|
||||
|
||||
$(TARGET).CFLAGS += -DUSE_MOTOR_MIXING
|
||||
$(TARGET).srcs += subsystems/actuators/motor_mixing.c
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<axis index="7" name="tilt"/>
|
||||
</input>
|
||||
<messages period="0.1">
|
||||
<message class="datalink" name="BOOZ_CAM_STICK">
|
||||
<message class="datalink" name="ROTORCRAFT_CAM_STICK">
|
||||
<field name="tilt" value="-tilt"/>
|
||||
<field name="pan" value="pan"/>
|
||||
</message>
|
||||
+4
-4
@@ -737,7 +737,7 @@
|
||||
</message>
|
||||
|
||||
<message name="ACTUATORS" id="105">
|
||||
<field name="values" type="uint16[]" unit="none"/>
|
||||
<field name="values" type="int16[]" unit="none"/>
|
||||
</message>
|
||||
|
||||
<message name="BETH" id="106">
|
||||
@@ -1394,8 +1394,8 @@
|
||||
<field name="var" type="float"/>
|
||||
</message>
|
||||
|
||||
<message name="BOOZ2_CAM" id="168">
|
||||
<field name="tilt" type="int16" unit="us"/>
|
||||
<message name="ROTORCRAFT_CAM" id="168">
|
||||
<field name="tilt" type="int16" unit="2^12rad" alt_unit="deg" alt_unit_coef="0.0139882"/>
|
||||
<field name="pan" type="int16" unit="2^12rad" alt_unit="deg" alt_unit_coef="0.0139882"/>
|
||||
</message>
|
||||
|
||||
@@ -2177,7 +2177,7 @@
|
||||
<field name="yd" type="float" unit="m"/>
|
||||
</message>
|
||||
|
||||
<message name="BOOZ_CAM_STICK" id="152" link="forwarded">
|
||||
<message name="ROTORCRAFT_CAM_STICK" id="152" link="forwarded">
|
||||
<field name="ac_id" type="uint8"/>
|
||||
<field name="tilt" type="int8"/>
|
||||
<field name="pan" type="int8"/>
|
||||
|
||||
@@ -1,19 +0,0 @@
|
||||
<!DOCTYPE module SYSTEM "module.dtd">
|
||||
|
||||
<module name="booz_cam" dir="cam_control">
|
||||
<doc>
|
||||
<description>Camera control for BOOZ board</description>
|
||||
</doc>
|
||||
<!-- depend require="booz_pwm|led" -->
|
||||
<header>
|
||||
<file name="booz_cam.h"/>
|
||||
</header>
|
||||
<init fun="booz_cam_init()"/>
|
||||
<periodic fun="booz_cam_periodic()" freq="10."/>
|
||||
<datalink message="BOOZ_CAM_STICK" fun="BOOZ_CAM_STICK_PARSE(dl_buffer)"/>
|
||||
<makefile>
|
||||
<define name="USE_CAM"/>
|
||||
<file name="booz_cam.c"/>
|
||||
</makefile>
|
||||
</module>
|
||||
|
||||
@@ -1,24 +0,0 @@
|
||||
<!DOCTYPE module SYSTEM "module.dtd">
|
||||
<!--
|
||||
DROP_SERVO_CLOSED and DROP_SERVO_OPEN can be redefined in airframe file
|
||||
units: PWM width in us
|
||||
-->
|
||||
|
||||
<module name="drop">
|
||||
<doc>
|
||||
<description>Drop control for BOOZ board</description>
|
||||
<define name="DROP_SERVO_OPEN" value="pwm" description="PWM value when servo is in open position in us (optional)"/>
|
||||
<define name="DROP_SERVO_CLOSED" value="pwm" description="PWM value when servo is in closed position in us (optional)"/>
|
||||
</doc>
|
||||
<!-- depend require="booz_pwm" -->
|
||||
<header>
|
||||
<file name="booz_drop.h"/>
|
||||
</header>
|
||||
<init fun="booz_drop_init()"/>
|
||||
<periodic fun="booz_drop_periodic()" freq="10."/>
|
||||
<makefile>
|
||||
<define name="USE_DROP"/>
|
||||
<file name="booz_drop.c"/>
|
||||
</makefile>
|
||||
</module>
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
<!DOCTYPE module SYSTEM "module.dtd">
|
||||
|
||||
<!--
|
||||
Allow to use PWM output on booz boards
|
||||
PWM0 is activated by default (PWM5 on lpc21 output)
|
||||
PWM1 can be activated with USE_PWM1 flag (PWM2 on lpc21 output)
|
||||
-->
|
||||
|
||||
<module name="booz_pwm" dir="core">
|
||||
<doc>
|
||||
<description>Allow to use PWM output on booz boards, PWM0 is activated by default (PWM5 on lpc21 output)</description>
|
||||
<define name="USE_PWM1" description="flag to activate with USE_PWM1 flag (PWM2 on lpc21 output)"/>
|
||||
</doc>
|
||||
<header>
|
||||
<file name="booz_pwm_arch.h"/>
|
||||
</header>
|
||||
<init fun="booz_pwm_init_arch()"/>
|
||||
<makefile target="ap">
|
||||
<file_arch name="booz_pwm_arch.c"/>
|
||||
</makefile>
|
||||
</module>
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
<!DOCTYPE module SYSTEM "module.dtd">
|
||||
|
||||
<module name="rotorcraft_cam" dir="cam_control">
|
||||
<doc>
|
||||
<description>
|
||||
Camera control for rotorcraft.
|
||||
The camera is controled by the heading of the vehicle for pan and can be controlled by a servo for tilt if defined.
|
||||
</description>
|
||||
<section name="CAM" prefix="ROTORCRAFT_CAM_">
|
||||
<define name="DEFAULT_MODE" value="MODE_NONE|MODE_MANUAL|MODE_HEADING|MODE_WP" description="Select default mode (default: MODE_NONE)"/>
|
||||
<define name="CAM_ON" value="handler" description="Handler to power on the camera ({} to disable)"/>
|
||||
<define name="CAM_OFF" value="handler" description="Handler to power off the camera ({} to disable)"/>
|
||||
<define name="TILT_SERVO" value="name" description="Servo name for tilt control (no tilt control if not defined)"/>
|
||||
<define name="TILT_ANGLE_MIN" value="angle" description="Tilt angle corresponding to the servo min position"/>
|
||||
<define name="TILT_ANGLE_MAX" value="angle" description="Tilt angle corresponding to the servo max position"/>
|
||||
<define name="USE_PAN" value="TRUE|FALSE" description="Enable pan control with heading (default: TRUE)"/>
|
||||
<define name="TRACK_WP" value="WP_XXX" description="Enable waypoint tracking mode on the selected WP (default: enable if waypoint CAM is defined)"/>
|
||||
<define name="STICK_TILT_INC" value="angle/stick_input" description="Sensitivity of the datalink stick tilt control (default: 10 deg)"/>
|
||||
<define name="STICK_PAN_INC" value="angle/stick_input" description="Sensitivity of the datalink stick pan control (default: 20 deg)"/>
|
||||
</section>
|
||||
</doc>
|
||||
<header>
|
||||
<file name="rotorcraft_cam.h"/>
|
||||
</header>
|
||||
<init fun="rotorcraft_cam_init()"/>
|
||||
<periodic fun="rotorcraft_cam_periodic()" freq="10."/>
|
||||
<datalink message="ROTORCRAFT_CAM_STICK" fun="ROTORCRAFT_CAM_STICK_PARSE(dl_buffer)"/>
|
||||
<makefile>
|
||||
<define name="USE_CAM"/>
|
||||
<file name="rotorcraft_cam.c"/>
|
||||
</makefile>
|
||||
</module>
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<description>Servo switch</description>
|
||||
<define name="SERVO_SWITCH_ON_VALUE" value="pwm" description="servo value in usec"/>
|
||||
<define name="SERVO_SWITCH_OFF_VALUE" value="pwm" description="servo value in usec"/>
|
||||
<define name="SERVO_SWITCH_SERVO" value="nb" description="Id of the servo to use"/>
|
||||
<define name="SERVO_SWITCH_SERVO" value="nb" description="Id of the servo (default: SWITCH)"/>
|
||||
</doc>
|
||||
<header>
|
||||
<file name="servo_switch.h"/>
|
||||
@@ -19,8 +19,10 @@
|
||||
<load name="servo_switch.xml">
|
||||
<define name="SERVO_SWITCH_ON_VALUE" value="2000"/>
|
||||
<define name="SERVO_SWITCH_OFF_VALUE" value="1000"/>
|
||||
<define name="SERVO_SWITCH_SERVO" value="SERVO_SWITCH"/>
|
||||
<define name="SERVO_SWITCH_SERVO" value="SWITCH"/>
|
||||
</load>
|
||||
|
||||
The servo will not exceed the min and max positions defined in the servo section
|
||||
-->
|
||||
|
||||
<file name="servo_switch.c"/>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<dl_settings>
|
||||
|
||||
<dl_settings NAME="CAM">
|
||||
<dl_setting var="booz_cam_mode" MIN="0" STEP="1" MAX="3" module="cam_control/booz_cam" shortname="mode" values="NONE|MAN|HEADING|WP" handler="SetCamMode">
|
||||
<dl_setting var="rotorcraft_cam_mode" MIN="0" STEP="1" MAX="3" module="cam_control/rotorcraft_cam" shortname="mode" values="NONE|MAN|HEADING|WP" handler="SetCamMode">
|
||||
<strip_button name="CN" value="0" group="cam_mode1"/>
|
||||
<strip_button name="CM" value="1" group="cam_mode1"/>
|
||||
<strip_button name="CH" value="2" group="cam_mode2"/>
|
||||
@@ -10,12 +10,12 @@
|
||||
<key_press key="F1" value="0"/>
|
||||
<key_press key="F2" value="1"/>
|
||||
</dl_setting>
|
||||
<dl_setting var="booz_cam_tilt_pwm" min="1000" step="1" max="2500" shortname="tilt_pwm"/>
|
||||
<dl_setting var="booz_cam_tilt" min="-90" step="1" max="0" shortname="tilt" alt_unit="deg" alt_unit_coef="0.0139882">
|
||||
<dl_setting var="rotorcraft_cam_tilt_pwm" min="1000" step="1" max="2500" shortname="tilt_pwm"/>
|
||||
<dl_setting var="rotorcraft_cam_tilt" min="-90" step="1" max="0" shortname="tilt" alt_unit="deg" alt_unit_coef="0.0139882">
|
||||
<strip_button name="Look Foreward" icon="lookfore.png" value="0" group="cam_look"/>
|
||||
<strip_button name="Look Down" icon="lookdown.png" value="-6434" group="cam_look"/>
|
||||
</dl_setting>
|
||||
<dl_setting var="booz_cam_pan" MIN="0" STEP="1" MAX="360" shortname="pan" unit="1/2^12r" alt_unit="deg" alt_unit_coef="0.0139882"/>
|
||||
<dl_setting var="rotorcraft_cam_pan" MIN="0" STEP="1" MAX="360" shortname="pan" unit="1/2^12r" alt_unit="deg" alt_unit_coef="0.0139882"/>
|
||||
</dl_settings>
|
||||
|
||||
</dl_settings>
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user