Inputs and Functions
The concept of input channels and functions of the STorM32 controller is discussed here.
The STorM32 controller supports a rich set of different signal sources, such as PWM, sum-PPM, Spektrum or S-Bus, analog signals, and buttons and combination of buttons. Any possible input data stream is called an input channel (in firmware v0.96 there are 42 input channels, see picture below). For each input the value range is -500 ... +500, which implies that the original data of the input source is converted such as to fit into this [-500,+500] range. By default every input channels yields a value of 0, unless it is explicitly activated by attaching it to any of the functions in the GUI.
A function is anything, which can receive an input value and acts upon it. The STorM32 controller provides a rich set of them, such as the possibility to control the camera orientation, the camera shutter, or a PWM output signal, to name some (in firmware v0.96 there are 12 functions).
How it works:
Any of the input channels can be attached to any of the functions. One input can hence also drive two or more functions. This provides a great deal of possibilities, but some combinations don't make any sense and some can even lead to malfunction. It is the user's responsibility to avoid nonsense.
Depending on the input and function, the hardware is configured accordingly. Possible conflicts are resolved by configuration settings in the [Setup] tab. For instance, pin RC-0 may either be used as PWM input, Spektrum input, or S-Bus input. This is determined by the Virtual Channel Configuration setting. If it is configured as a Spektrum input, when the (converted) Sepktrum input data is available via the "Virtual-1" to "Virtual-16" input channels. The "Rc-0" input channel in contrast yields then the value zero. Similarly the RC-1 pin has dual function as PWM input or PWM output, and the RC-2 pin as PWM input or Sum-PPM input.
If it happens that a certain hardware resource is not used by any function, when it is disabled hardware-wise. This is for safety reasons, to prevent that spurios signals enter the system and produce false behavior.
The available inputs, the conversion to the internal value range of [-500,+500], and how these values are used by the various functions are summarized in this diagram.