Once upon a time RC control of an aircraft consisted of a Transmitter with a single button. Your aircraft had a rudder only. Hit the button once to go left, twice to go right.
Increasingly RC transmitters offered more functionality with different mixing facilities and modern transmitter software such as open TX offer very flexible facilities.
But, if your aircraft is being controlled by a flight controller, have mixing on the RC Transmitter is no good, you need the mixing to be on the flight controller.
The mixing for different model types so far has usually been hard coded into the flight controller so you get what you are given. PX4 improves matters with its mixing scheme but it is quite cryptic so I decided to try to offer an alternative.
The result is mixer_lang, a flexible mixer for Flight controllers
High level Specification.
The specification is based on a context free grammar and well documented semantics. The goal is consistent semantics, so that you arent reliant on the vagaries of a particular implementation.
Strongly typed, type deduction.
Expressive economical language with type deduction, but strongly typed to give well defined and predictable qualities
Access to system values.
The language enables defining system values either constant or variable and of real, integer or bool type as inputs to the mixer.
Inputs and Outputs as Integers, floats or booleans.
Inputs and Outputs can be comprised of combinations of integer real and boolean. You can select the underlying integer and floating point types to the best combination for space and performance on your system.
Tunable at runtime.
The language specifies how selected values in the mixer can be remotely modified in flight to tune best performance in real time.
Multipoint mixers specified in the language
For more info visit the project on github mixer_lang, a flexible mixer for Flight controllers