Browse Source

Adjust sample mixer configurations and documentation to match new syntax.

sbg
px4dev 13 years ago
parent
commit
a2116d2058
  1. 16
      ROMFS/mixers/FMU_AERT.mix
  2. 12
      ROMFS/mixers/FMU_AET.mix
  3. 12
      ROMFS/mixers/FMU_RET.mix
  4. 12
      ROMFS/mixers/FMU_delta.mix
  5. 16
      ROMFS/mixers/FMU_multirotor.mix
  6. 16
      ROMFS/mixers/FMU_pass.mix
  7. 66
      ROMFS/mixers/README

16
ROMFS/mixers/FMU_AERT.mix

@ -22,8 +22,8 @@ As there is only one output, if using two servos adjustments to compensate for @@ -22,8 +22,8 @@ As there is only one output, if using two servos adjustments to compensate for
differences between the servos must be made mechanically. To obtain the correct
motion using a Y cable, the servos can be positioned reversed from one another.
M: 2
S: 0 0 10000 10000 0 -10000 10000
M: 1
O: 10000 10000 0 -10000 10000
S: 0 0 10000 10000 0 -10000 10000
Elevator mixer
@ -35,8 +35,8 @@ depending on the actual configuration it may be necessary to reverse the scaling @@ -35,8 +35,8 @@ depending on the actual configuration it may be necessary to reverse the scaling
factors (to reverse the servo movement) and adjust the offset, scaling and
endpoints to suit.
M: 2
S: 0 0 10000 10000 0 -10000 10000
M: 1
O: 10000 10000 0 -10000 10000
S: 0 1 10000 10000 0 -10000 10000
Rudder mixer
@ -48,8 +48,8 @@ depending on the actual configuration it may be necessary to reverse the scaling @@ -48,8 +48,8 @@ depending on the actual configuration it may be necessary to reverse the scaling
factors (to reverse the servo movement) and adjust the offset, scaling and
endpoints to suit.
M: 2
S: 0 0 10000 10000 0 -10000 10000
M: 1
O: 10000 10000 0 -10000 10000
S: 0 2 10000 10000 0 -10000 10000
Motor speed mixer
@ -59,6 +59,6 @@ Two scalers total (output, thrust). @@ -59,6 +59,6 @@ Two scalers total (output, thrust).
This mixer generates a full-range output (-1 to 1) from an input in the (0 - 1)
range. Inputs below zero are treated as zero.
M: 2
S: 0 0 10000 10000 0 -10000 10000
M: 1
O: 10000 10000 0 -10000 10000
S: 0 3 0 20000 -10000 -10000 10000

12
ROMFS/mixers/FMU_AET.mix

@ -25,8 +25,8 @@ motion using a Y cable, the servos can be positioned reversed from one another. @@ -25,8 +25,8 @@ motion using a Y cable, the servos can be positioned reversed from one another.
Alternatively, output 2 could be used as a second aileron servo output with
separate mixing.
M: 2
S: 0 0 10000 10000 0 -10000 10000
M: 1
O: 10000 10000 0 -10000 10000
S: 0 0 10000 10000 0 -10000 10000
Elevator mixer
@ -38,8 +38,8 @@ depending on the actual configuration it may be necessary to reverse the scaling @@ -38,8 +38,8 @@ depending on the actual configuration it may be necessary to reverse the scaling
factors (to reverse the servo movement) and adjust the offset, scaling and
endpoints to suit.
M: 2
S: 0 0 10000 10000 0 -10000 10000
M: 1
O: 10000 10000 0 -10000 10000
S: 0 1 10000 10000 0 -10000 10000
Output 2
@ -55,6 +55,6 @@ Two scalers total (output, thrust). @@ -55,6 +55,6 @@ Two scalers total (output, thrust).
This mixer generates a full-range output (-1 to 1) from an input in the (0 - 1)
range. Inputs below zero are treated as zero.
M: 2
S: 0 0 10000 10000 0 -10000 10000
M: 1
O: 10000 10000 0 -10000 10000
S: 0 3 0 20000 -10000 -10000 10000

12
ROMFS/mixers/FMU_RET.mix

@ -18,8 +18,8 @@ depending on the actual configuration it may be necessary to reverse the scaling @@ -18,8 +18,8 @@ depending on the actual configuration it may be necessary to reverse the scaling
factors (to reverse the servo movement) and adjust the offset, scaling and
endpoints to suit.
M: 2
S: 0 0 10000 10000 0 -10000 10000
M: 1
O: 10000 10000 0 -10000 10000
S: 0 0 10000 10000 0 -10000 10000
Elevator mixer
@ -31,8 +31,8 @@ depending on the actual configuration it may be necessary to reverse the scaling @@ -31,8 +31,8 @@ depending on the actual configuration it may be necessary to reverse the scaling
factors (to reverse the servo movement) and adjust the offset, scaling and
endpoints to suit.
M: 2
S: 0 0 10000 10000 0 -10000 10000
M: 1
O: 10000 10000 0 -10000 10000
S: 0 1 10000 10000 0 -10000 10000
Output 2
@ -48,6 +48,6 @@ Two scalers total (output, thrust). @@ -48,6 +48,6 @@ Two scalers total (output, thrust).
This mixer generates a full-range output (-1 to 1) from an input in the (0 - 1)
range. Inputs below zero are treated as zero.
M: 2
S: 0 0 10000 10000 0 -10000 10000
M: 1
O: 10000 10000 0 -10000 10000
S: 0 3 0 20000 -10000 -10000 10000

12
ROMFS/mixers/FMU_delta.mix

@ -21,13 +21,13 @@ input is inverted between the two servos. @@ -21,13 +21,13 @@ input is inverted between the two servos.
The scaling factor for roll inputs is adjusted to implement differential travel
for the elevons.
M: 3
S: 0 0 10000 10000 0 -10000 10000
M: 2
O: 10000 10000 0 -10000 10000
S: 0 0 3000 5000 0 -10000 10000
S: 0 1 5000 5000 0 -10000 10000
M: 3
S: 0 0 10000 10000 0 -10000 10000
M: 2
O: 10000 10000 0 -10000 10000
S: 0 0 5000 3000 0 -10000 10000
S: 0 1 -5000 -5000 0 -10000 10000
@ -44,7 +44,7 @@ Two scalers total (output, thrust). @@ -44,7 +44,7 @@ Two scalers total (output, thrust).
This mixer generates a full-range output (-1 to 1) from an input in the (0 - 1)
range. Inputs below zero are treated as zero.
M: 2
S: 0 0 10000 10000 0 -10000 10000
M: 1
O: 10000 10000 0 -10000 10000
S: 0 3 0 20000 -10000 -10000 10000

16
ROMFS/mixers/FMU_multirotor.mix

@ -6,19 +6,19 @@ input range. @@ -6,19 +6,19 @@ input range.
Channel group 0, channels 0-3 values 0.0 - 1.0 are scaled to the full output range.
M: 2
S: 0 0 10000 10000 0 -10000 10000
M: 1
O: 10000 10000 0 -10000 10000
S: 0 0 0 20000 -10000 -10000 10000
M: 2
S: 0 0 10000 10000 0 -10000 10000
M: 1
O: 10000 10000 0 -10000 10000
S: 0 1 0 20000 -10000 -10000 10000
M: 2
S: 0 0 10000 10000 0 -10000 10000
M: 1
O: 10000 10000 0 -10000 10000
S: 0 2 0 20000 -10000 -10000 10000
M: 2
S: 0 0 10000 10000 0 -10000 10000
M: 1
O: 10000 10000 0 -10000 10000
S: 0 3 0 20000 -10000 -10000 10000

16
ROMFS/mixers/FMU_pass.mix

@ -5,19 +5,19 @@ This file defines passthrough mixers suitable for testing. @@ -5,19 +5,19 @@ This file defines passthrough mixers suitable for testing.
Channel group 0, channels 0-3 are passed directly through to the outputs.
M: 2
S: 0 0 10000 10000 0 -10000 10000
M: 1
O: 10000 10000 0 -10000 10000
S: 0 0 10000 10000 0 -10000 10000
M: 2
S: 0 0 10000 10000 0 -10000 10000
M: 1
O: 10000 10000 0 -10000 10000
S: 0 1 10000 10000 0 -10000 10000
M: 2
S: 0 0 10000 10000 0 -10000 10000
M: 1
O: 10000 10000 0 -10000 10000
S: 0 2 10000 10000 0 -10000 10000
M: 2
S: 0 0 10000 10000 0 -10000 10000
M: 1
O: 10000 10000 0 -10000 10000
S: 0 3 10000 10000 0 -10000 10000

66
ROMFS/mixers/README

@ -62,29 +62,67 @@ followed by a colon are significant. All other lines are ignored, meaning that @@ -62,29 +62,67 @@ followed by a colon are significant. All other lines are ignored, meaning that
explanatory text can be freely mixed with the definitions.
Each file may define more than one mixer; the allocation of mixers to actuators
is specific to the device reading the mixer definition.
is specific to the device reading the mixer definition, and the number of
actuator outputs generated by a mixer is specific to the mixer.
A mixer begins with a line of the form
M: <scaler count>
<tag>: <mixer arguments>
If the scaler count is zero, the mixer is a placeholder and the device will not
allocate a mixer for this position. Otherwise, this line is followed by scaler
definitions matching the given count.
The tag selects the mixer type; 'M' for a simple summing mixer, 'R' for a
multirotor mixer, etc.
A scaler definition is a line of the form:
Null Mixer
..........
S: <group> <index> <-ve scale> <+ve scale> <offset> <lower limit> <upper limit>
A null mixer consumes no controls and generates a single actuator output whose
value is always zero. Typically a null mixer is used as a placeholder in a
collection of mixers in order to achieve a specific pattern of actuator outputs.
The null mixer definition has the form:
Z:
Simple Mixer
............
The first scaler definition following the M: line configures the output scaler.
The <group> and <index> fields are ignored in this case.
A simple mixer combines zero or more control inputs into a single actuator
output. Inputs are scaled, and the mixing function sums the result before
applying an output scaler.
For the remaining scalers, the <group> value identifies the control group from
which the scaler will read. Control group 0 is the vehicle attitude control
group; other group numbers may be assigned for other purposes. The <index> value
selects the control within the group that will be scaled.
A simple mixer definition begins with:
The remaining fields on the line represent the scaler parameters as discussed
M: <control count>
O: <-ve scale> <+ve scale> <offset> <lower limit> <upper limit>
If <control count> is zero, the sum is effectively zero and the mixer will
output a fixed value that is <offset> constrained by <lower limit> and <upper
limit>.
The second line defines the output scaler with scaler parameters as discussed
above. Whilst the calculations are performed as floating-point operations, the
values stored in the definition file are scaled by a factor of 10000; i.e. an
offset of -0.5 is encoded as -5000.
The definition continues with <control count> entries describing the control
inputs and their scaling, in the form:
S: <group> <index> <-ve scale> <+ve scale> <offset> <lower limit> <upper limit>
The <group> value identifies the control group from which the scaler will read,
and the <index> value an offset within that group. These values are specific to
the device reading the mixer definition.
When used to mix vehicle controls, mixer group zero is the vehicle attitude
control group, and index values zero through three are normally roll, pitch,
yaw and thrust respectively.
The remaining fields on the line configure the control scaler with parameters as
discussed above. Whilst the calculations are performed as floating-point
operations, the values stored in the definition file are scaled by a factor of
10000; i.e. an offset of -0.5 is encoded as -5000.
Multirotor Mixer
................
The multirotor mixer is not yet defined.

Loading…
Cancel
Save