Inputs and Functions
The various inputs and functions of the STorM32 controller, and how they work together and are processed, are discussed here.
The STorM32 is build on the concept of input channels and functions.
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 channel yields a value of 0, unless it is explicitly activated by assigning 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 assigned 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 thetab. For instance, pin RC-0 may either be used as PWM input, Spektrum input, or S-Bus input. This is determined by the setting. If it is configured as a Spektrum input, then the (converted) Sepktrum input data is available at 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 a certain hardware resource/input pin is not used by any function, when it is disabled hardware-wise. This is for reliability reasons, to prevent that spurios signals enter the system and produce false behavior.
The available input channels, 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.
Rc Input Processing
The orientation of the camera can be controlled by any of the available input channels as well as various remote commands. The processing flow chart is as follows: