simple mixer: make output scalers O: optional and use default values instead

Reduces FLASH usage by about 4KB

Command to replace:
for i in *.mix; do sed -r -i '/O: +10000 +10000 +0 +-10000 +10000/d' $i; done
This commit is contained in:
Beat Küng
2018-05-24 14:57:06 +02:00
parent a9275d6c5b
commit c9d179676e
42 changed files with 53 additions and 147 deletions

View File

@@ -19,12 +19,10 @@ factors (to reverse the servo movement) and adjust the offset, scaling and
endpoints to suit. endpoints to suit.
M: 2 M: 2
O: 10000 10000 0 -10000 10000
S: 0 0 10000 10000 0 -10000 10000 S: 0 0 10000 10000 0 -10000 10000
S: 0 6 10000 10000 0 -10000 10000 S: 0 6 10000 10000 0 -10000 10000
M: 2 M: 2
O: 10000 10000 0 -10000 10000
S: 0 0 10000 10000 0 -10000 10000 S: 0 0 10000 10000 0 -10000 10000
S: 0 6 -10000 -10000 0 -10000 10000 S: 0 6 -10000 -10000 0 -10000 10000
@@ -38,7 +36,6 @@ factors (to reverse the servo movement) and adjust the offset, scaling and
endpoints to suit. endpoints to suit.
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 0 1 -10000 -10000 0 -10000 10000 S: 0 1 -10000 -10000 0 -10000 10000
Rudder mixer Rudder mixer
@@ -51,7 +48,6 @@ factors (to reverse the servo movement) and adjust the offset, scaling and
endpoints to suit. endpoints to suit.
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 0 2 10000 10000 0 -10000 10000 S: 0 2 10000 10000 0 -10000 10000
Motor speed mixer Motor speed mixer
@@ -62,7 +58,6 @@ 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. range. Inputs below zero are treated as zero.
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 0 3 0 20000 -10000 -10000 10000 S: 0 3 0 20000 -10000 -10000 10000
Wheel mixer Wheel mixer
@@ -75,7 +70,6 @@ factors (to reverse the servo movement) and adjust the offset, scaling and
endpoints to suit. endpoints to suit.
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 0 2 10000 10000 0 -10000 10000 S: 0 2 10000 10000 0 -10000 10000
@@ -84,13 +78,10 @@ using the payload control group
----------------------------------------------------- -----------------------------------------------------
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 0 4 10000 10000 0 -10000 10000 S: 0 4 10000 10000 0 -10000 10000
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 2 0 10000 10000 0 -10000 10000 S: 2 0 10000 10000 0 -10000 10000
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 2 2 10000 10000 0 -10000 10000 S: 2 2 10000 10000 0 -10000 10000

View File

@@ -20,12 +20,10 @@ factors (to reverse the servo movement) and adjust the offset, scaling and
endpoints to suit. endpoints to suit.
M: 2 M: 2
O: 10000 10000 0 -10000 10000
S: 0 0 10000 10000 0 -10000 10000 S: 0 0 10000 10000 0 -10000 10000
S: 0 6 10000 10000 0 -10000 10000 S: 0 6 10000 10000 0 -10000 10000
M: 2 M: 2
O: 10000 10000 0 -10000 10000
S: 0 0 10000 10000 0 -10000 10000 S: 0 0 10000 10000 0 -10000 10000
S: 0 6 -10000 -10000 0 -10000 10000 S: 0 6 -10000 -10000 0 -10000 10000
@@ -37,12 +35,10 @@ On the assumption that the two tail servos are physically reversed, the pitch
input is inverted between the two servos. input is inverted between the two servos.
M: 2 M: 2
O: 10000 10000 0 -10000 10000
S: 0 2 -7000 -7000 0 -10000 10000 S: 0 2 -7000 -7000 0 -10000 10000
S: 0 1 -8000 -8000 0 -10000 10000 S: 0 1 -8000 -8000 0 -10000 10000
M: 2 M: 2
O: 10000 10000 0 -10000 10000
S: 0 2 -7000 -7000 0 -10000 10000 S: 0 2 -7000 -7000 0 -10000 10000
S: 0 1 8000 8000 0 -10000 10000 S: 0 1 8000 8000 0 -10000 10000
@@ -54,7 +50,6 @@ 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. range. Inputs below zero are treated as zero.
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 0 3 0 20000 -10000 -10000 10000 S: 0 3 0 20000 -10000 -10000 10000
Wheel mixer Wheel mixer
@@ -67,7 +62,6 @@ factors (to reverse the servo movement) and adjust the offset, scaling and
endpoints to suit. endpoints to suit.
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 0 2 -10000 -10000 0 -10000 10000 S: 0 2 -10000 -10000 0 -10000 10000
Flaps mixer Flaps mixer
@@ -75,10 +69,8 @@ Flaps mixer
Flap servos are physically reversed. Flap servos are physically reversed.
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 0 4 0 5000 -10000 -10000 10000 S: 0 4 0 5000 -10000 -10000 10000
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 0 4 0 -5000 10000 -10000 10000 S: 0 4 0 -5000 10000 -10000 10000

View File

@@ -23,7 +23,6 @@ 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. motion using a Y cable, the servos can be positioned reversed from one another.
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 0 0 10000 10000 0 -10000 10000 S: 0 0 10000 10000 0 -10000 10000
CH2: Elevator mixer CH2: Elevator mixer
@@ -36,7 +35,6 @@ factors (to reverse the servo movement) and adjust the offset, scaling and
endpoints to suit. endpoints to suit.
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 0 1 -10000 -10000 0 -10000 10000 S: 0 1 -10000 -10000 0 -10000 10000
CH3: Rudder mixer CH3: Rudder mixer
@@ -49,7 +47,6 @@ factors (to reverse the servo movement) and adjust the offset, scaling and
endpoints to suit. endpoints to suit.
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 0 2 10000 10000 0 -10000 10000 S: 0 2 10000 10000 0 -10000 10000
CH4: Motor speed mixer CH4: Motor speed mixer
@@ -60,7 +57,6 @@ 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. range. Inputs below zero are treated as zero.
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 0 3 0 20000 -10000 -10000 10000 S: 0 3 0 20000 -10000 -10000 10000
CH5: Flaps mixer CH5: Flaps mixer
@@ -77,5 +73,4 @@ Ch6: Landing gear mixer
By default pass-through of gear switch By default pass-through of gear switch
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 3 5 10000 10000 0 -10000 10000 S: 3 5 10000 10000 0 -10000 10000

View File

@@ -23,7 +23,6 @@ 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. motion using a Y cable, the servos can be positioned reversed from one another.
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 0 0 10000 10000 0 -10000 10000 S: 0 0 10000 10000 0 -10000 10000
CH2: Elevator mixer CH2: Elevator mixer
@@ -36,7 +35,6 @@ factors (to reverse the servo movement) and adjust the offset, scaling and
endpoints to suit. endpoints to suit.
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 0 1 -10000 -10000 0 -10000 10000 S: 0 1 -10000 -10000 0 -10000 10000
CH3: Motor speed mixer CH3: Motor speed mixer
@@ -47,7 +45,6 @@ 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. range. Inputs below zero are treated as zero.
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 0 3 0 20000 -10000 -10000 10000 S: 0 3 0 20000 -10000 -10000 10000
CH4: Rudder mixer CH4: Rudder mixer
@@ -60,7 +57,6 @@ factors (to reverse the servo movement) and adjust the offset, scaling and
endpoints to suit. endpoints to suit.
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 0 2 10000 10000 0 -10000 10000 S: 0 2 10000 10000 0 -10000 10000
CH5: Flaps mixer CH5: Flaps mixer
@@ -77,5 +73,4 @@ CH6: Landing gear mixer
By default pass-through of gear switch By default pass-through of gear switch
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 3 5 10000 10000 0 -10000 10000 S: 3 5 10000 10000 0 -10000 10000

View File

@@ -8,7 +8,6 @@ Output 0 - Rear Servo Mixer
Rear Servo = Collective (Thrust - 3) + Elevator (Pitch - 1) Rear Servo = Collective (Thrust - 3) + Elevator (Pitch - 1)
M: 2 M: 2
O: 10000 10000 0 -10000 10000
S: 0 3 10000 10000 0 -10000 10000 S: 0 3 10000 10000 0 -10000 10000
S: 0 1 10000 10000 0 -10000 10000 S: 0 1 10000 10000 0 -10000 10000
@@ -18,7 +17,6 @@ Output 1 - Left Servo Mixer
Left Servo = Collective (Thurst - 3) - 0.5 * Elevator (Pitch - 1) + 0.866 * Aileron (Roll - 0) Left Servo = Collective (Thurst - 3) - 0.5 * Elevator (Pitch - 1) + 0.866 * Aileron (Roll - 0)
M: 3 M: 3
O: 10000 10000 0 -10000 10000
S: 0 3 -10000 -10000 0 -10000 10000 S: 0 3 -10000 -10000 0 -10000 10000
S: 0 1 -5000 -5000 0 -10000 10000 S: 0 1 -5000 -5000 0 -10000 10000
S: 0 0 8660 8660 0 -10000 10000 S: 0 0 8660 8660 0 -10000 10000
@@ -30,7 +28,6 @@ Right Servo = Collective (Thurst - 3) - 0.5 * Elevator (Pitch - 1) - 0.866 * Ail
M: 3 M: 3
O: 10000 10000 0 -10000 10000
S: 0 3 -10000 -10000 0 -10000 10000 S: 0 3 -10000 -10000 0 -10000 10000
S: 0 1 -5000 -5000 0 -10000 10000 S: 0 1 -5000 -5000 0 -10000 10000
S: 0 0 -8660 -8660 0 -10000 10000 S: 0 0 -8660 -8660 0 -10000 10000
@@ -40,7 +37,6 @@ Output 3 - Tail Servo Mixer
Tail Servo = Yaw (control index = 2) Tail Servo = Yaw (control index = 2)
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 0 2 10000 10000 0 -10000 10000 S: 0 2 10000 10000 0 -10000 10000
@@ -49,5 +45,4 @@ Output 4 - Motor speed mixer
This would be the motor speed control output from governor power demand- not sure what index to use here? This would be the motor speed control output from governor power demand- not sure what index to use here?
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 0 4 0 20000 -10000 -10000 10000 S: 0 4 0 20000 -10000 -10000 10000

View File

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

View File

@@ -26,12 +26,10 @@ The scaling factor for roll inputs is adjusted to implement differential travel
for the elevons. for the elevons.
M: 2 M: 2
O: 10000 10000 0 -10000 10000
S: 0 0 8500 8500 0 -10000 10000 S: 0 0 8500 8500 0 -10000 10000
S: 0 1 9500 9500 0 -10000 10000 S: 0 1 9500 9500 0 -10000 10000
M: 2 M: 2
O: 10000 10000 0 -10000 10000
S: 0 0 8500 8500 0 -10000 10000 S: 0 0 8500 8500 0 -10000 10000
S: 0 1 -9500 -9500 0 -10000 10000 S: 0 1 -9500 -9500 0 -10000 10000
@@ -49,5 +47,4 @@ 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. range. Inputs below zero are treated as zero.
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 0 3 0 20000 -10000 -10000 10000 S: 0 3 0 20000 -10000 -10000 10000

View File

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

View File

@@ -26,12 +26,10 @@ The scaling factor for roll inputs is adjusted to implement differential travel
for the elevons. for the elevons.
M: 2 M: 2
O: 10000 10000 0 -10000 10000
S: 0 0 7500 7500 0 -10000 10000 S: 0 0 7500 7500 0 -10000 10000
S: 0 1 8000 8000 0 -10000 10000 S: 0 1 8000 8000 0 -10000 10000
M: 2 M: 2
O: 10000 10000 0 -10000 10000
S: 0 0 7500 7500 0 -10000 10000 S: 0 0 7500 7500 0 -10000 10000
S: 0 1 -8000 -8000 0 -10000 10000 S: 0 1 -8000 -8000 0 -10000 10000
@@ -49,7 +47,6 @@ 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. range. Inputs below zero are treated as zero.
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 0 3 0 20000 -10000 -10000 10000 S: 0 3 0 20000 -10000 -10000 10000
Inputs to the mixer come from channel group 2 (payload), channels 0 Inputs to the mixer come from channel group 2 (payload), channels 0
@@ -57,15 +54,12 @@ Inputs to the mixer come from channel group 2 (payload), channels 0
----------------------------------------------------- -----------------------------------------------------
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 2 0 10000 10000 0 -10000 10000 S: 2 0 10000 10000 0 -10000 10000
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 2 1 10000 10000 0 -10000 10000 S: 2 1 10000 10000 0 -10000 10000
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 2 2 -8000 -8000 0 -10000 10000 S: 2 2 -8000 -8000 0 -10000 10000

View File

@@ -12,5 +12,4 @@ S: 220 13054 10000 0 -8000 8000
# Tail servo: # Tail servo:
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 0 2 10000 10000 0 -10000 10000 S: 0 2 10000 10000 0 -10000 10000

View File

@@ -24,12 +24,10 @@ The scaling factor for roll inputs is adjusted to implement differential travel
for the elevons. for the elevons.
M: 2 M: 2
O: 10000 10000 0 -10000 10000
S: 0 0 8000 8000 0 -10000 10000 S: 0 0 8000 8000 0 -10000 10000
S: 0 1 9000 9000 0 -10000 10000 S: 0 1 9000 9000 0 -10000 10000
M: 2 M: 2
O: 10000 10000 0 -10000 10000
S: 0 0 8000 8000 0 -10000 10000 S: 0 0 8000 8000 0 -10000 10000
S: 0 1 -9000 -9000 0 -10000 10000 S: 0 1 -9000 -9000 0 -10000 10000
@@ -47,5 +45,4 @@ 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. range. Inputs below zero are treated as zero.
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 0 3 0 20000 -10000 -10000 10000 S: 0 3 0 20000 -10000 -10000 10000

View File

@@ -9,7 +9,6 @@ Tilt mechanism servo mixer
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 1 4 10000 10000 0 -10000 10000 S: 1 4 10000 10000 0 -10000 10000
@@ -21,11 +20,9 @@ Elevon mixers
M: 2 M: 2
O: 10000 10000 0 -10000 10000
S: 1 0 -7500 -7500 0 -10000 10000 S: 1 0 -7500 -7500 0 -10000 10000
S: 1 1 7500 7500 0 -10000 10000 S: 1 1 7500 7500 0 -10000 10000
M: 2 M: 2
O: 10000 10000 0 -10000 10000
S: 1 0 -7500 -7500 0 -10000 10000 S: 1 0 -7500 -7500 0 -10000 10000
S: 1 1 -7500 -7500 0 -10000 10000 S: 1 1 -7500 -7500 0 -10000 10000

View File

@@ -7,20 +7,17 @@ Coaxial helicopter mixer
Left swashplate servomotor, pitch axis Left swashplate servomotor, pitch axis
------------- -------------
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 0 1 -10000 -10000 0 -10000 10000 S: 0 1 -10000 -10000 0 -10000 10000
Right swashplate servomotor, roll axis Right swashplate servomotor, roll axis
------------- -------------
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 0 0 10000 10000 0 -10000 10000 S: 0 0 10000 10000 0 -10000 10000
Upper rotor (CCW) Upper rotor (CCW)
Mixing between yaw and thrust Mixing between yaw and thrust
------------- -------------
M: 2 M: 2
O: 10000 10000 0 -10000 10000
S: 0 2 10000 10000 0 -10000 10000 S: 0 2 10000 10000 0 -10000 10000
S: 0 3 0 20000 -10000 -10000 10000 S: 0 3 0 20000 -10000 -10000 10000
@@ -28,6 +25,5 @@ Lower rotor (CW)
Mixing between yaw and thrust Mixing between yaw and thrust
------------- -------------
M: 2 M: 2
O: 10000 10000 0 -10000 10000
S: 0 2 -10000 -10000 0 -10000 10000 S: 0 2 -10000 -10000 0 -10000 10000
S: 0 3 0 20000 -10000 -10000 10000 S: 0 3 0 20000 -10000 -10000 10000

View File

@@ -22,12 +22,10 @@ The scaling factor for roll inputs is adjusted to implement differential travel
for the elevons. for the elevons.
M: 2 M: 2
O: 10000 10000 0 -10000 10000
S: 0 0 3000 5000 0 -10000 10000 S: 0 0 3000 5000 0 -10000 10000
S: 0 1 5000 5000 0 -10000 10000 S: 0 1 5000 5000 0 -10000 10000
M: 2 M: 2
O: 10000 10000 0 -10000 10000
S: 0 0 5000 3000 0 -10000 10000 S: 0 0 5000 3000 0 -10000 10000
S: 0 1 -5000 -5000 0 -10000 10000 S: 0 1 -5000 -5000 0 -10000 10000
@@ -45,5 +43,4 @@ 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. range. Inputs below zero are treated as zero.
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 0 3 0 20000 -10000 -10000 10000 S: 0 3 0 20000 -10000 -10000 10000

View File

@@ -18,7 +18,6 @@ input is inverted between the two servos.
------------- -------------
M: 2 M: 2
O: 10000 10000 0 -10000 10000
S: 1 0 -8000 -8000 0 -10000 10000 S: 1 0 -8000 -8000 0 -10000 10000
S: 1 1 8000 8000 0 -10000 10000 S: 1 1 8000 8000 0 -10000 10000
@@ -26,7 +25,6 @@ S: 1 1 8000 8000 0 -10000 10000
------------- -------------
M: 2 M: 2
O: 10000 10000 0 -10000 10000
S: 1 0 -8000 -8000 0 -10000 10000 S: 1 0 -8000 -8000 0 -10000 10000
S: 1 1 -8000 -8000 0 -10000 10000 S: 1 1 -8000 -8000 0 -10000 10000
@@ -39,12 +37,10 @@ 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. range. Inputs below zero are treated as zero.
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 1 3 0 20000 -10000 -10000 10000 S: 1 3 0 20000 -10000 -10000 10000
8: Reverse thrust (brake) mixer 8: Reverse thrust (brake) mixer
----------------- -----------------
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 1 6 0 20000 -9000 -10000 10000 S: 1 6 0 20000 -9000 -10000 10000

View File

@@ -4,23 +4,19 @@
Tilt mechanism servo mixer Tilt mechanism servo mixer
--------------------------- ---------------------------
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 1 4 0 20000 -10000 -10000 10000 S: 1 4 0 20000 -10000 -10000 10000
Elevon mixers Elevon mixers
------------- -------------
M: 2 M: 2
O: 10000 10000 0 -10000 10000
S: 1 0 -7500 -7500 0 -10000 10000 S: 1 0 -7500 -7500 0 -10000 10000
S: 1 1 8000 8000 0 -10000 10000 S: 1 1 8000 8000 0 -10000 10000
M: 2 M: 2
O: 10000 10000 0 -10000 10000
S: 1 0 -7500 -7500 0 -10000 10000 S: 1 0 -7500 -7500 0 -10000 10000
S: 1 1 -8000 -8000 0 -10000 10000 S: 1 1 -8000 -8000 0 -10000 10000
Landing gear mixer Landing gear mixer
------------------ ------------------
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 3 6 10000 10000 0 -10000 10000 S: 3 6 10000 10000 0 -10000 10000

View File

@@ -22,12 +22,10 @@ The scaling factor for roll inputs is adjusted to implement differential travel
for the elevons. for the elevons.
M: 2 M: 2
O: 10000 10000 0 -10000 10000
S: 0 0 -8000 -8000 0 -10000 10000 S: 0 0 -8000 -8000 0 -10000 10000
S: 0 1 6000 6000 0 -10000 10000 S: 0 1 6000 6000 0 -10000 10000
M: 2 M: 2
O: 10000 10000 0 -10000 10000
S: 0 0 -8000 -8000 0 -10000 10000 S: 0 0 -8000 -8000 0 -10000 10000
S: 0 1 -6000 -6000 0 -10000 10000 S: 0 1 -6000 -6000 0 -10000 10000
@@ -45,5 +43,4 @@ 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. range. Inputs below zero are treated as zero.
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 0 3 0 20000 -10000 -10000 10000 S: 0 3 0 20000 -10000 -10000 10000

View File

@@ -3,21 +3,17 @@
# pitch # pitch
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 2 1 10000 10000 0 -10000 10000 S: 2 1 10000 10000 0 -10000 10000
# roll # roll
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 2 0 10000 10000 0 -10000 10000 S: 2 0 10000 10000 0 -10000 10000
# yaw # yaw
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 2 2 10000 10000 0 -10000 10000 S: 2 2 10000 10000 0 -10000 10000
# Shutter/retract # Shutter/retract
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 2 3 10000 10000 0 -10000 10000 S: 2 3 10000 10000 0 -10000 10000

View File

@@ -1,27 +1,22 @@
# Roll channel for mount # Roll channel for mount
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 2 0 10000 10000 0 -10000 10000 S: 2 0 10000 10000 0 -10000 10000
# Pitch channel for mount # Pitch channel for mount
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 2 1 10000 10000 0 -10000 10000 S: 2 1 10000 10000 0 -10000 10000
# Yaw channel for mount # Yaw channel for mount
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 2 2 10000 10000 0 -10000 10000 S: 2 2 10000 10000 0 -10000 10000
# mixer for left leg # mixer for left leg
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 0 7 0 20000 -10000 -10000 10000 S: 0 7 0 20000 -10000 -10000 10000
# mixer for right leg # mixer for right leg
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 0 7 0 20000 -10000 -10000 10000 S: 0 7 0 20000 -10000 -10000 10000

View File

@@ -2,20 +2,16 @@
# AUX1 channel (select RC channel with RC_MAP_AUX1 param) # AUX1 channel (select RC channel with RC_MAP_AUX1 param)
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 3 5 10000 10000 0 -10000 10000 S: 3 5 10000 10000 0 -10000 10000
# AUX2 channel (select RC channel with RC_MAP_AUX2 param) # AUX2 channel (select RC channel with RC_MAP_AUX2 param)
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 3 6 10000 10000 0 -10000 10000 S: 3 6 10000 10000 0 -10000 10000
# AUX3 channel (select RC channel with RC_MAP_AUX3 param) # AUX3 channel (select RC channel with RC_MAP_AUX3 param)
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 3 7 10000 10000 0 -10000 10000 S: 3 7 10000 10000 0 -10000 10000
# FLAPS channel (select RC channel with RC_MAP_FLAPS param) # FLAPS channel (select RC channel with RC_MAP_FLAPS param)
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 3 4 10000 10000 0 -10000 10000 S: 3 4 10000 10000 0 -10000 10000

View File

@@ -21,12 +21,10 @@ input is inverted between the two servos.
The scaling factor are set so that pitch will have more travel than roll. The scaling factor are set so that pitch will have more travel than roll.
M: 2 M: 2
O: 10000 10000 0 -10000 10000
S: 0 0 -6000 -6000 0 -10000 10000 S: 0 0 -6000 -6000 0 -10000 10000
S: 0 1 6500 6500 0 -10000 10000 S: 0 1 6500 6500 0 -10000 10000
M: 2 M: 2
O: 10000 10000 0 -10000 10000
S: 0 0 -6000 -6000 0 -10000 10000 S: 0 0 -6000 -6000 0 -10000 10000
S: 0 1 -6500 -6500 0 -10000 10000 S: 0 1 -6500 -6500 0 -10000 10000
@@ -44,5 +42,4 @@ 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. range. Inputs below zero are treated as zero.
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 0 3 0 20000 -10000 -10000 10000 S: 0 3 0 20000 -10000 -10000 10000

View File

@@ -10,9 +10,7 @@ Gimbal / payload mixer for last two channels
----------------------------------------------------- -----------------------------------------------------
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 3 5 10000 10000 0 -10000 10000 S: 3 5 10000 10000 0 -10000 10000
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 3 6 10000 10000 0 -10000 10000 S: 3 6 10000 10000 0 -10000 10000

View File

@@ -8,21 +8,17 @@ R: 4+ 10000 10000 10000 0
# mixer for the elevons # mixer for the elevons
M: 2 M: 2
O: 10000 10000 0 -10000 10000
S: 1 0 10000 10000 0 -10000 10000 S: 1 0 10000 10000 0 -10000 10000
S: 1 1 10000 10000 0 -10000 10000 S: 1 1 10000 10000 0 -10000 10000
M: 2 M: 2
O: 10000 10000 0 -10000 10000
S: 1 0 10000 10000 0 -10000 10000 S: 1 0 10000 10000 0 -10000 10000
S: 1 1 -10000 -10000 0 -10000 10000 S: 1 1 -10000 -10000 0 -10000 10000
# mixer for canard surface # mixer for canard surface
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 1 1 -10000 -10000 0 -10000 10000 S: 1 1 -10000 -10000 0 -10000 10000
# mixer for rudder # mixer for rudder
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 1 2 -10000 -10000 0 -10000 10000 S: 1 2 -10000 -10000 0 -10000 10000

View File

@@ -10,9 +10,7 @@ Gimbal / payload mixer for last two channels
----------------------------------------------------- -----------------------------------------------------
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 3 5 10000 10000 0 -10000 10000 S: 3 5 10000 10000 0 -10000 10000
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 3 6 10000 10000 0 -10000 10000 S: 3 6 10000 10000 0 -10000 10000

View File

@@ -1,7 +1,5 @@
R: 4s 10000 10000 10000 0 R: 4s 10000 10000 10000 0
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 3 5 10000 10000 0 -10000 10000 S: 3 5 10000 10000 0 -10000 10000
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 3 6 10000 10000 0 -10000 10000 S: 3 6 10000 10000 0 -10000 10000

View File

@@ -9,9 +9,7 @@ Gimbal / payload mixer for last two channels
----------------------------------------------------- -----------------------------------------------------
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 3 5 10000 10000 0 -10000 10000 S: 3 5 10000 10000 0 -10000 10000
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 3 6 10000 10000 0 -10000 10000 S: 3 6 10000 10000 0 -10000 10000

View File

@@ -1,7 +1,5 @@
R: 4x 10000 10000 10000 0 R: 4x 10000 10000 10000 0
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 3 5 10000 10000 0 -10000 10000 S: 3 5 10000 10000 0 -10000 10000
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 3 6 10000 10000 0 -10000 10000 S: 3 6 10000 10000 0 -10000 10000

View File

@@ -10,17 +10,14 @@ Z:
# left elevon # left elevon
M: 2 M: 2
O: 10000 10000 0 -10000 10000
S: 1 0 5000 5000 0 -10000 10000 S: 1 0 5000 5000 0 -10000 10000
S: 1 1 5000 5000 0 -10000 10000 S: 1 1 5000 5000 0 -10000 10000
# right elevon # right elevon
M: 2 M: 2
O: 10000 10000 0 -10000 10000
S: 1 0 5000 5000 0 -10000 10000 S: 1 0 5000 5000 0 -10000 10000
S: 1 1 -5000 -5000 0 -10000 10000 S: 1 1 -5000 -5000 0 -10000 10000
# mixer for the virtual elevator # mixer for the virtual elevator
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 1 1 10000 10000 0 -10000 10000 S: 1 1 10000 10000 0 -10000 10000

View File

@@ -7,15 +7,12 @@ Z:
# left elevon # left elevon
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 1 0 10000 10000 0 -10000 10000 S: 1 0 10000 10000 0 -10000 10000
# right elevon # right elevon
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 1 0 -10000 -10000 0 -10000 10000 S: 1 0 -10000 -10000 0 -10000 10000
# mixer for the virtual elevator # mixer for the virtual elevator
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 1 1 -10000 -10000 0 -10000 10000 S: 1 1 -10000 -10000 0 -10000 10000

View File

@@ -20,7 +20,6 @@ Z:
Steering mixer using roll on output 1 Steering mixer using roll on output 1
--------------------------------------- ---------------------------------------
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 0 2 10000 10000 0 -10000 10000 S: 0 2 10000 10000 0 -10000 10000
@@ -33,5 +32,4 @@ Z:
Output 3 Output 3
--------------------------------------- ---------------------------------------
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 0 3 10000 10000 0 -10000 10000 S: 0 3 10000 10000 0 -10000 10000

View File

@@ -8,5 +8,4 @@ R: 3y 10000 10000 10000 0
# Yaw Servo # Yaw Servo
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 0 2 10000 10000 0 -10000 10000 S: 0 2 10000 10000 0 -10000 10000

View File

@@ -8,6 +8,5 @@ R: 3y 10000 10000 10000 0
# Yaw Servo # Yaw Servo
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 0 2 -10000 -10000 0 -10000 10000 S: 0 2 -10000 -10000 0 -10000 10000

View File

@@ -20,7 +20,6 @@ Z:
Steering mixer using roll on output 1 Steering mixer using roll on output 1
--------------------------------------- ---------------------------------------
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 0 2 10000 10000 0 -10000 10000 S: 0 2 10000 10000 0 -10000 10000
@@ -33,5 +32,4 @@ Z:
Output 3 Output 3
--------------------------------------- ---------------------------------------
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 0 3 10000 10000 0 -10000 10000 S: 0 3 10000 10000 0 -10000 10000

View File

@@ -4,29 +4,24 @@ Mixer for an AAERT VTOL
Aileron 1 mixer Aileron 1 mixer
--------------- ---------------
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 1 0 -7500 -7500 0 -10000 10000 S: 1 0 -7500 -7500 0 -10000 10000
Aileron 2 mixer Aileron 2 mixer
--------------- ---------------
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 1 0 -7500 -7500 0 -10000 10000 S: 1 0 -7500 -7500 0 -10000 10000
Elevator mixer Elevator mixer
-------------- --------------
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 1 1 10000 10000 0 -10000 10000 S: 1 1 10000 10000 0 -10000 10000
Rudder mixer Rudder mixer
------------ ------------
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 1 2 -10000 -10000 0 -10000 10000 S: 1 2 -10000 -10000 0 -10000 10000
Throttle mixer Throttle mixer
-------------- --------------
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 1 3 0 20000 -10000 -10000 10000 S: 1 3 0 20000 -10000 -10000 10000

View File

@@ -19,12 +19,10 @@ factors (to reverse the servo movement) and adjust the offset, scaling and
endpoints to suit. endpoints to suit.
M: 2 M: 2
O: 10000 10000 0 -10000 10000
S: 1 0 10000 10000 0 -10000 10000 S: 1 0 10000 10000 0 -10000 10000
S: 1 6 10000 10000 0 -10000 10000 S: 1 6 10000 10000 0 -10000 10000
M: 2 M: 2
O: 10000 10000 0 -10000 10000
S: 1 0 10000 10000 0 -10000 10000 S: 1 0 10000 10000 0 -10000 10000
S: 1 6 -10000 -10000 0 -10000 10000 S: 1 6 -10000 -10000 0 -10000 10000
@@ -37,12 +35,10 @@ On the assumption that the two tail servos are physically reversed, the pitch
input is inverted between the two servos. input is inverted between the two servos.
M: 2 M: 2
O: 10000 10000 0 -10000 10000
S: 1 2 -7000 -7000 0 -10000 10000 S: 1 2 -7000 -7000 0 -10000 10000
S: 1 1 -8000 -8000 0 -10000 10000 S: 1 1 -8000 -8000 0 -10000 10000
M: 2 M: 2
O: 10000 10000 0 -10000 10000
S: 1 2 -7000 -7000 0 -10000 10000 S: 1 2 -7000 -7000 0 -10000 10000
S: 1 1 8000 8000 0 -10000 10000 S: 1 1 8000 8000 0 -10000 10000
@@ -54,6 +50,5 @@ 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. range. Inputs below zero are treated as zero.
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 1 3 0 20000 -10000 -10000 10000 S: 1 3 0 20000 -10000 -10000 10000

View File

@@ -9,24 +9,20 @@ Tilt mechanism servo mixer
--------------------------- ---------------------------
#RIGHT up:2000 down:1000 #RIGHT up:2000 down:1000
M: 2 M: 2
O: 10000 10000 0 -10000 10000
S: 1 4 0 -20000 10000 -10000 10000 S: 1 4 0 -20000 10000 -10000 10000
S: 0 2 8000 8000 0 -10000 10000 S: 0 2 8000 8000 0 -10000 10000
#LEFT up:1000 down:2000 #LEFT up:1000 down:2000
M: 2 M: 2
O: 10000 10000 0 -10000 10000
S: 1 4 0 20000 -10000 -10000 10000 S: 1 4 0 20000 -10000 -10000 10000
S: 0 2 8000 8000 0 -10000 10000 S: 0 2 8000 8000 0 -10000 10000
Elevon mixers Elevon mixers
------------- -------------
M: 2 M: 2
O: 10000 10000 0 -10000 10000
S: 1 0 -7500 -7500 0 -10000 10000 S: 1 0 -7500 -7500 0 -10000 10000
S: 1 1 8000 8000 0 -10000 10000 S: 1 1 8000 8000 0 -10000 10000
M: 2 M: 2
O: 10000 10000 0 -10000 10000
S: 1 0 -7500 -7500 0 -10000 10000 S: 1 0 -7500 -7500 0 -10000 10000
S: 1 1 -8000 -8000 0 -10000 10000 S: 1 1 -8000 -8000 0 -10000 10000

View File

@@ -18,12 +18,10 @@ On the assumption that the two elevon servos are physically reversed, the pitch
input is inverted between the two servos. input is inverted between the two servos.
M: 2 M: 2
O: 10000 10000 0 -10000 10000
S: 1 0 -8000 -8000 0 -10000 10000 S: 1 0 -8000 -8000 0 -10000 10000
S: 1 1 8000 8000 0 -10000 10000 S: 1 1 8000 8000 0 -10000 10000
M: 2 M: 2
O: 10000 10000 0 -10000 10000
S: 1 0 -8000 -8000 0 -10000 10000 S: 1 0 -8000 -8000 0 -10000 10000
S: 1 1 -8000 -8000 0 -10000 10000 S: 1 1 -8000 -8000 0 -10000 10000
@@ -35,7 +33,6 @@ 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. range. Inputs below zero are treated as zero.
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 1 3 0 20000 -10000 -10000 10000 S: 1 3 0 20000 -10000 -10000 10000
@@ -43,7 +40,6 @@ Reverse thrust (brake) mixer
----------------- -----------------
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 1 6 0 20000 -10000 -10000 10000 S: 1 6 0 20000 -10000 -10000 10000
@@ -52,5 +48,4 @@ Aux1 mixer
This is actuated on the AUX5 port This is actuated on the AUX5 port
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 3 5 10000 10000 0 -10000 10000 S: 3 5 10000 10000 0 -10000 10000

View File

@@ -24,12 +24,10 @@ The scaling factor for roll inputs is adjusted to implement differential travel
for the elevons. for the elevons.
M: 2 M: 2
O: 10000 10000 0 -10000 10000
S: 0 0 -6000 -6000 0 -10000 10000 S: 0 0 -6000 -6000 0 -10000 10000
S: 0 1 6500 6500 0 -10000 10000 S: 0 1 6500 6500 0 -10000 10000
M: 2 M: 2
O: 10000 10000 0 -10000 10000
S: 0 0 -6000 -6000 0 -10000 10000 S: 0 0 -6000 -6000 0 -10000 10000
S: 0 1 -6500 -6500 0 -10000 10000 S: 0 1 -6500 -6500 0 -10000 10000
@@ -47,5 +45,4 @@ 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. range. Inputs below zero are treated as zero.
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 0 3 0 20000 -10000 -10000 10000 S: 0 3 0 20000 -10000 -10000 10000

View File

@@ -5,9 +5,7 @@
R: 4x 7654 10000 10000 0 R: 4x 7654 10000 10000 0
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 0 4 10000 10000 0 -10000 10000 S: 0 4 10000 10000 0 -10000 10000
M: 1 M: 1
O: 10000 10000 0 -10000 10000
S: 0 5 10000 10000 0 -10000 10000 S: 0 5 10000 10000 0 -10000 10000

View File

@@ -40,6 +40,7 @@
#include "mixer.h" #include "mixer.h"
#include <cstring> #include <cstring>
#include <ctype.h>
#define debug(fmt, args...) do { } while(0) #define debug(fmt, args...) do { } while(0)
//#define debug(fmt, args...) do { printf("[mixer] " fmt "\n", ##args); } while(0) //#define debug(fmt, args...) do { printf("[mixer] " fmt "\n", ##args); } while(0)
@@ -125,6 +126,21 @@ Mixer::findtag(const char *buf, unsigned &buflen, char tag)
return nullptr; return nullptr;
} }
char
Mixer::findnexttag(const char *buf, unsigned buflen)
{
while (buflen >= 2) {
if (isupper(buf[0]) && buf[1] == ':') {
return buf[0];
}
buf++;
buflen--;
}
return 0;
}
const char * const char *
Mixer::skipline(const char *buf, unsigned &buflen) Mixer::skipline(const char *buf, unsigned &buflen)
{ {

View File

@@ -265,6 +265,14 @@ protected:
*/ */
static const char *findtag(const char *buf, unsigned &buflen, char tag); static const char *findtag(const char *buf, unsigned &buflen, char tag);
/**
* Find next tag and return it (0 is returned if no tag is found)
*
* @param buf The buffer to operate on.
* @param buflen length of the buffer.
*/
static char findnexttag(const char *buf, unsigned buflen);
/** /**
* Skip a line * Skip a line
* *
@@ -340,6 +348,7 @@ public:
* M: <control count> * M: <control count>
* O: <-ve scale> <+ve scale> <offset> <lower limit> <upper limit> * O: <-ve scale> <+ve scale> <offset> <lower limit> <upper limit>
* *
* The second line O: can be omitted. In that case 'O: 10000 10000 0 -10000 10000' is used.
* The definition continues with <control count> entries describing the control * The definition continues with <control count> entries describing the control
* inputs and their scaling, in the form: * inputs and their scaling, in the form:
* *

View File

@@ -151,6 +151,7 @@ SimpleMixer::from_text(Mixer::ControlCallback control_cb, uintptr_t cb_handle, c
unsigned inputs; unsigned inputs;
int used; int used;
const char *end = buf + buflen; const char *end = buf + buflen;
char next_tag;
/* enforce that the mixer ends with a new line */ /* enforce that the mixer ends with a new line */
if (!string_well_formed(buf, buflen)) { if (!string_well_formed(buf, buflen)) {
@@ -163,6 +164,12 @@ SimpleMixer::from_text(Mixer::ControlCallback control_cb, uintptr_t cb_handle, c
goto out; goto out;
} }
/* at least 1 input is required */
if (inputs == 0) {
debug("simple parse got 0 inputs");
goto out;
}
buf = skipline(buf, buflen); buf = skipline(buf, buflen);
if (buf == nullptr) { if (buf == nullptr) {
@@ -179,10 +186,28 @@ SimpleMixer::from_text(Mixer::ControlCallback control_cb, uintptr_t cb_handle, c
mixinfo->control_count = inputs; mixinfo->control_count = inputs;
/* find the next tag */
next_tag = findnexttag(end - buflen, buflen);
if (next_tag == 'S') {
/* No output scalers specified. Use default values.
* Corresponds to:
* O: 10000 10000 0 -10000 10000
*/
mixinfo->output_scaler.negative_scale = 1.0f;
mixinfo->output_scaler.positive_scale = 1.0f;
mixinfo->output_scaler.offset = 0.f;
mixinfo->output_scaler.min_output = -1.0f;
mixinfo->output_scaler.max_output = 1.0f;
} else {
if (parse_output_scaler(end - buflen, buflen, mixinfo->output_scaler)) { if (parse_output_scaler(end - buflen, buflen, mixinfo->output_scaler)) {
debug("simple mixer parser failed parsing out scaler tag, ret: '%s'", buf); debug("simple mixer parser failed parsing out scaler tag, ret: '%s'", buf);
goto out; goto out;
} }
}
for (unsigned i = 0; i < inputs; i++) { for (unsigned i = 0; i < inputs; i++) {
if (parse_control_scaler(end - buflen, buflen, if (parse_control_scaler(end - buflen, buflen,