Advanced Functions: Difference between revisions

From STorM32-BGC Wiki
Jump to navigation Jump to search
No edit summary
Line 1: Line 1:
The STorM32 board provides many user features. Many of them can be activated or controlled by an input signal, and are accessible as so-called functions (see [[Inputs and Functions]]). Others are accessible via specific parameter fields, or the {{GUI|Tools}} menu.
The STorM32 board provides many user features. Many of them can be activated or controlled by an input signal, and are accessible as so-called functions (see [[Inputs and Functions]]). Other features are accessible via specific parameter fields, or the {{GUI|Tools}} menu.


== Lipo Saver ==
== Lipo Saver ==


The parameter {{PARAMNAME|Low Voltage Limit}} in the {{GUI|Main}} tab allows to activate a lipo saver. When the battery voltage falls below the specified voltage per cell, the motors are disabled to minimize current draw. This state is signaled also by the fast blinking green and red led. The board needs to be repowered or reset to resume normal function.
The parameter {{PARAMNAME|Low Voltage Limit}} in the {{GUI|Main}} tab allows to activate a lipo saver. When the battery voltage falls below the specified voltage per cell, the motors are disabled to minimize current draw. This condition is signaled also by the fast blinking green and red led. The board needs to be re-powered or reset to resume normal operation.


{{COMMENT|Lipo batteries maybe safely discharged down to 3.0 V/cell, under load. The lipo cell number is determined automatically by the firmware when a battery is connected to the board. Connecting discharged batteries may lead to incorrect cell number determination.}}
{{COMMENT|Lipo batteries may be safely discharged down to 3.0 V/cell, under load.}}<br>
{{COMMENT|The lipo cell number is determined automatically by the firmware when a battery is connected to the board. Connecting discharged batteries may lead to incorrect cell number determination.}}


== Beeps ==
== Beeps ==


The parameter {{PARAMNAME|Beep with Motors}} in the {{GUI|Setup}} tab allows to activate the emission of beeps by the motors upon certain events. Two settings are available:
The parameter {{PARAMNAME|Beep with Motors}} in the {{GUI|Setup}} tab allows to activate the emission of beeps by the motors upon certain events. Two settings are available:
*  {{PARAMVALUE|basic}}:
*  {{PARAMVALUE|basic}}
*  {{PARAMVALUE|full}}:
*  {{PARAMVALUE|full}}


{{COMMENT|The beeps are audible only when the motors are enabled. Hence, beeps are e.g. not heard when the board is powered only by the USB.}}
{{COMMENT|The beeps are audible only when the motors are enabled. Hence, beeps are e.g. not heard when the board is powered only by the USB.}}
Line 29: Line 30:
== IR Camera Remote Control ==
== IR Camera Remote Control ==


This function can be activated and its trigger source be specified by the parameter {{PARAMNAME|IR Camera Control}} in the {{GUI|Functions}} tab.  
This function can be activated and its trigger source be specified by the parameter {{PARAMNAME|IR Camera Control}} in the {{GUI|Functions}} tab. The camera type is selected by the parameter {{PARAMNAME|Camera Model}}.
 
It provides a remote control of the shutter and video functions of the camera (if available). For remote controlling Sony Nex and Canon cameras one can connect a IR led directly to the IR port (see [[Pins and Connectors]]). Panasonic cameras can be remote controlled by adding a small piece of hardware, as described [http://www.rcgroups.com/forums/showpost.php?p=30034371&postcount=2437 here].
 
The camera shutter and video on/off can be adjusted via these fields in the {{GUI|Functions}} tab:
* {{PARAMNAME|IR Camera Setting #1}}
* {{PARAMNAME|IR Camera Setting #2}}
* {{PARAMNAME|Time Interval}}


== Pwm Out ==
== Pwm Out ==


This function needs to be enabled via the parameter {{PARAMNAME|Pwm Out Configuration}} in the {{GUI|setup}} tab, and the PWM output format and frequency be specified. When it can be activated and its trigger source be specified by the parameter {{PARAMNAME|Pwm Out Control}} in the {{GUI|Functions}} tab.  
This function needs to be enabled via the parameter {{PARAMNAME|Pwm Out Configuration}} in the {{GUI|setup}} tab, and the PWM output format and frequency be specified. Then it can be activated and its trigger source be specified by the parameter {{PARAMNAME|Pwm Out Control}} in the {{GUI|Functions}} tab.  


When activated the PWM signal is output on the pin RC-1. The {{PARAMVALUE|Rc-1}} input channel yields zero value.
When activated the PWM signal is output on the pin RC-1. The input channel {{PARAMVALUE|Rc-1}} yields zero value.


The details of the signal and its behavior can be fine tuned via these fields the {{GUI|Functions}} tab:
The details of the signal and its behavior can be fine-tuned via these fields the {{GUI|Functions}} tab:
* {{PARAMNAME|Pwm Out Mid}}:
* {{PARAMNAME|Pwm Out Mid}}
* {{PARAMNAME|Pwm Out Min}}:
* {{PARAMNAME|Pwm Out Min}}
* {{PARAMNAME|Pwm Out Max}}:
* {{PARAMNAME|Pwm Out Max}}
* {{PARAMNAME|Pwm Out Speed Limit}}:
* {{PARAMNAME|Pwm Out Speed Limit}}


== Scripts ==
== Scripts ==
Line 49: Line 57:
In total four scripts can be run simultaneously and independently. They are handled via the fields in the {{GUI|Scripts}} tab. For each script, two fields are available, e.g. for Script1:
In total four scripts can be run simultaneously and independently. They are handled via the fields in the {{GUI|Scripts}} tab. For each script, two fields are available, e.g. for Script1:


* {{PARAMNAME|Script1 Control}}:
* {{PARAMNAME|Script1 Control}}
* {{PARAMNAME|Script1}}:
* {{PARAMNAME|Script1}}


Any available parameter, except of the {{PARAMNAME|Script Control}} parameters, can be modified by the scripts. This allows very powerful possibilities, but obviously also allows to do stupid things. It's in the users responsibility to not do nonsense. Script1 is distinguished in the sense that it allows to modify the {{PARAMNAME|Script2 Control}}, {{PARAMNAME|Script3 Control}}, and {{PARAMNAME|Script4 Control}} parameters, while the other scripts can't modify them.
Any available parameter, except of the {{PARAMNAME|Script Control}} parameters, can be modified by the scripts. This allows very powerful possibilities, but obviously also allows to do stupid things. It's in the users responsibility to not do nonsense. Script1 is distinguished in the sense that it allows to modify the {{PARAMNAME|Script2 Control}}, {{PARAMNAME|Script3 Control}}, and {{PARAMNAME|Script4 Control}} parameters, while the other scripts can't modify them.
Line 56: Line 64:
The following commands are currently (firmware version v0.68) possible:
The following commands are currently (firmware version v0.68) possible:


* CASE#DEFAULT:
* CASE#DEFAULT
* CASE#1:
* CASE#1
* CASE#2:
* CASE#2
* CASE#3:
* CASE#3
* STOP:
* STOP
* REPEAT:
* REPEAT
* SET:
* SET
* SETMINMAX:
* SETMINMAX
* RESTORE:
* RESTORE
* RESTOREALL:
* RESTOREALL
* WAIT:
* WAIT


Some example script files (extension .scr) are available in the firmware folder, which should be self explanatory enough to use the scripts.
Some example script files (extension .scr) are available in the firmware folder, which should be self explanatory enough to use the scripts.
Line 78: Line 86:
The following commands are currently (firmware v0.68) possible:
The following commands are currently (firmware v0.68) possible:


* DoCamera():
* DoCamera()
* RecenterCamera():
* RecenterCamera()
* SetAngle():
* SetAngle()
* SetParameter():
* SetParameter()
* SetPwmOut():
* SetPwmOut()
* TextOut():
* TextOut()
* Wait():
* Wait()


The motion control programming language is in fact just native [https://www.perl.org/ Perl], so you can do anything you want and is possible with a full-fledged scripting language. You may use all control structures, define variables and even your own functions, as needed.
The motion control programming language is in fact just native [https://www.perl.org/ Perl], so you can do anything you want and is possible with a full-fledged scripting language. You may use all control structures, define variables and even your own functions, as needed.

Revision as of 21:13, 12 April 2015

The STorM32 board provides many user features. Many of them can be activated or controlled by an input signal, and are accessible as so-called functions (see Inputs and Functions). Other features are accessible via specific parameter fields, or the [GUI:Tools] menu.

Lipo Saver

The parameter Low Voltage Limit in the [GUI:Main] tab allows to activate a lipo saver. When the battery voltage falls below the specified voltage per cell, the motors are disabled to minimize current draw. This condition is signaled also by the fast blinking green and red led. The board needs to be re-powered or reset to resume normal operation.

Comment: Lipo batteries may be safely discharged down to 3.0 V/cell, under load.
Comment: The lipo cell number is determined automatically by the firmware when a battery is connected to the board. Connecting discharged batteries may lead to incorrect cell number determination.

Beeps

The parameter Beep with Motors in the [GUI:Setup] tab allows to activate the emission of beeps by the motors upon certain events. Two settings are available:

  • “basic”
  • “full”

Comment: The beeps are audible only when the motors are enabled. Hence, beeps are e.g. not heard when the board is powered only by the USB.

Standby

This function can be activated and its trigger source be specified by the parameter Standby in the [GUI:Functions] tab.

When in normal operation, it will disable the motors. When in standby mode, it will enable the motors and do a quick relevel. It will not go through the full initialization process and e.g. will not do a gyro calibration. Hence the standby function allows to quickly resume operation. It also means however that if the camera position has been heavily changed or the system has been put into other unfavorable conditions, that the relevel may fail.

Re-center Camera

This function can be activated and its trigger source be specified by the parameter Re-center Camera in the [GUI:Functions] tab.

It will recenter the camera, i.e. will undo any change in camera position due to a manual control signal. For the yaw axis, it does not undo the cumulative center position changes when switching between hold and pan mode.

IR Camera Remote Control

This function can be activated and its trigger source be specified by the parameter IR Camera Control in the [GUI:Functions] tab. The camera type is selected by the parameter Camera Model.

It provides a remote control of the shutter and video functions of the camera (if available). For remote controlling Sony Nex and Canon cameras one can connect a IR led directly to the IR port (see Pins and Connectors). Panasonic cameras can be remote controlled by adding a small piece of hardware, as described here.

The camera shutter and video on/off can be adjusted via these fields in the [GUI:Functions] tab:

  • IR Camera Setting #1
  • IR Camera Setting #2
  • Time Interval

Pwm Out

This function needs to be enabled via the parameter Pwm Out Configuration in the [GUI:setup] tab, and the PWM output format and frequency be specified. Then it can be activated and its trigger source be specified by the parameter Pwm Out Control in the [GUI:Functions] tab.

When activated the PWM signal is output on the pin RC-1. The input channel “Rc-1” yields zero value.

The details of the signal and its behavior can be fine-tuned via these fields the [GUI:Functions] tab:

  • Pwm Out Mid
  • Pwm Out Min
  • Pwm Out Max
  • Pwm Out Speed Limit

Scripts

The concept of on-board scripts is a very innovative approach of the STorM32 board to modify the boards behavior and achieve even complicated tasks (it was invented and provided first by the STorM32 project!).

In total four scripts can be run simultaneously and independently. They are handled via the fields in the [GUI:Scripts] tab. For each script, two fields are available, e.g. for Script1:

  • Script1 Control
  • Script1

Any available parameter, except of the Script Control parameters, can be modified by the scripts. This allows very powerful possibilities, but obviously also allows to do stupid things. It's in the users responsibility to not do nonsense. Script1 is distinguished in the sense that it allows to modify the Script2 Control, Script3 Control, and Script4 Control parameters, while the other scripts can't modify them.

The following commands are currently (firmware version v0.68) possible:

  • CASE#DEFAULT
  • CASE#1
  • CASE#2
  • CASE#3
  • STOP
  • REPEAT
  • SET
  • SETMINMAX
  • RESTORE
  • RESTOREALL
  • WAIT

Some example script files (extension .scr) are available in the firmware folder, which should be self explanatory enough to use the scripts.

Motion Control

The STorM32 controller provides a rich set of commands for remote controlling the camera. These commands can be send to the board via any of the serial ports (USB, UART, Bluetooth). A very convenient method to make use of that are motion control scripts. A typical example application would be a pano, i.e. shooting a sequence of photos which are later stitched together to a large panorama view.

Some example motion control script files (extension .mcs) are available in the firmware folder, which should be self explanatory enough to use them.

The following commands are currently (firmware v0.68) possible:

  • DoCamera()
  • RecenterCamera()
  • SetAngle()
  • SetParameter()
  • SetPwmOut()
  • TextOut()
  • Wait()

The motion control programming language is in fact just native Perl, so you can do anything you want and is possible with a full-fledged scripting language. You may use all control structures, define variables and even your own functions, as needed.