Difference between revisions of "Timer Block"

From Space Engineers Wiki
Jump to: navigation, search
m (Programming)
(Added headers, re-arranged all the information, and sorted them into their proper categories, will post screenshots when time allows me.)
Line 46: Line 46:
 
}}
 
}}
  
== Description ==
+
== Overview ==
  
The '''Timer Block''' is a meta block used to execute actions of any block it's connected to. The actions can also be executed after a delay, hence the name.
+
The '''Timer Block''' is a meta block used to execute actions of any block it's connected to ''(not physically)''. The actions can also be executed after a delay, hence the name. This allows automation / [[Programmable Block|programming]] of actions.
This allows automation / [[Programmable Block|programming]] of actions.
 
  
An action is defined by the properties of a block. Often the actions are the ones you can apply in the "G"-menu when e.g. configuring the action bar of a cockpit. For instance, a [[warhead]] can be detonated or the safety can be toggled on or off. The Timer Block can also execute it's own actions, enabling loops by ending it's sequence with a '''Start'''.
+
== Usage ==
 +
An action is defined by the properties of a block. Often the actions are the ones you can apply in the "G"-menu when e.g. configuring the action bar of a cockpit. For instance, a [[Warhead]] can be detonated or the safety can be toggled on or off. The Timer Block can also execute it's own actions, enabling loops by ending it's sequence with a '''Start'''.
  
 
A block is connected with the Timer Block when both are on the same [[grid]] or sub-grid (other grids that connected via [[Connector]]s, [[Rotor]]s or [[Piston]]s). Connection via [[Antenna|antennas]], i.e. executing actions in remote objects is currently not possible.
 
A block is connected with the Timer Block when both are on the same [[grid]] or sub-grid (other grids that connected via [[Connector]]s, [[Rotor]]s or [[Piston]]s). Connection via [[Antenna|antennas]], i.e. executing actions in remote objects is currently not possible.
  
A curious property of the timer block is that although it requires [[electricity]], it does not actually consume any Watts idle or otherwise. If a [[Grid]] has any power available to it, it will be able to run without consuming any of the electricity available.
+
=== Terminal ===
  
== Properties ==
 
 
{| class="wikitable"
 
{| class="wikitable"
 
!style="text-align:left;"| Name !!style="text-align:left;"| Min. Value !!style="text-align:left;"| Max. Value !!style="text-align:left;"| Unit !!style="text-align:left;"| Description
 
!style="text-align:left;"| Name !!style="text-align:left;"| Min. Value !!style="text-align:left;"| Max. Value !!style="text-align:left;"| Unit !!style="text-align:left;"| Description
 
|-
 
|-
| TriggerDelay ||style="text-align:right;"| 1 ||style="text-align:right;"| 3600 || Second || Delay to execute the actions after starting the timer
+
| Trigger Delay ||style="text-align:right;"| 1 ||style="text-align:right;"| 3600 || Second || Delay to execute the actions after starting the timer
 
|}
 
|}
  
== Actions ==
+
* '''Trigger now''' - Immediately executes all programmed actions
 +
* '''Start''' - Starts a timer with the current delay and executes all programmed actions after the timer expires
 +
* '''Stop''' - Stops the timer if running thereby preventing the execution of the actions after the delay
  
{| class="wikitable"
+
=== Rules / Behavior ===
!style="text-align:left;"| Action !!style="text-align:left;"| Prerequisite !!style="text-align:left;"| Description
+
# The Timer Block can execute up to '''90''' actions
|-
+
# Switching the Timer Block off while the timer is running doesn't stop the timer, just interrupts its operation for the duration it's off. The timer continues operation after switching the Timer Block on again (this is currently bugged, it will not continue if a map has been reloaded)
| Toggle block On/Off || None || Toggles on/off state of the Timer Block
+
# Timer block delays are not entirely accurate. A timer set to 5 seconds may not fire until 5.5 seconds have elapsed. If you are triggering things which depend on an exact number of game ticks/length of game time, timer delays may not be the right tool. Further experiments needed to confirm exact behaviour.
|-
+
# Executing actions ''Trigger Now'' and ''Start'' immediately after action ''Toggle block On'': These actions won't be executed if programmed in another timer block which switches the timer block on (when it is in state "off")<br/>
| Toggle block On || None || Switches the Timer Block on.
 
|-
 
| Toggle block Off || None || Switches the Timer Block off.
 
|-
 
| Increase Delay || None || Increases the current delay by tbd. seconds
 
|-
 
| Decrease Delay || None || Decreases the current delay by tbd. seconds
 
|-
 
| Trigger now || Block has to be on || Immediately executes all programmed actions
 
|-
 
| Start || Block has to be on || Starts a timer with the current delay and executes all programmed actions after the timer expires
 
|-
 
| Stop || None (?) || Stops the timer if running thereby preventing the execution of the actions after the delay
 
|}
 
 
 
== Programming ==
 
 
 
* [[Programming_Guide/Action_List#Timer_Block|Action List - Timer Block]]
 
 
 
== Rules / Behaviour ==
 
* The Timer Block can execute up to 90 actions
 
* Switching the Timer Block off while the timer is running doesn't stop the timer, just interrupts its operation for the duration it's off. The timer continues operation after switching the Timer Block on again (this is currently bugged, it will not continue if a map has been reloaded)
 
* Executing actions ''Trigger Now'' and ''Start'' immediately after action ''Toggle block On'': These actions won't be executed if programmed in another timer block which switches the timer block on (when it is in state "off")<br/>
 
 
E.g.
 
E.g.
  
Line 109: Line 87:
  
 
Triggering Timer Block 2 starts an endless loop increasing the revolution speed of Rotor 1. Switching Timer Block 2 off will end this loop. It won't be continued when switching Timer Block 2 on again.
 
Triggering Timer Block 2 starts an endless loop increasing the revolution speed of Rotor 1. Switching Timer Block 2 off will end this loop. It won't be continued when switching Timer Block 2 on again.
* Timer block delays are not entirely accurate. A timer set to 5 seconds may not fire until 5.5 seconds have elapsed. If you are triggering things which depend on an exact number of game ticks/length of game time, timer delays may not be the right tool. Further experiments needed to confirm exact behaviour.
+
 
 +
 
 +
== Media ==
 +
 
 +
== Tips ==
 +
* Timer blocks can be used to setup a long list of actions with one trigger. For example, a [[Button Panel]] switch can activate a Timer block, which then triggers a group of lights, and several individual blocks.
 +
 
 +
== Known Issues ==
 +
* A curious property of the timer block is that although it requires [[Electricity]], it does not actually consume any Watts idle or otherwise. If a [[Grid]] has any power available to it, it will be able to run without consuming any of the electricity available.
 +
 
 +
== See Also ==
 +
* [[Programmable Block]]
 +
 
 +
== Programming ==
 +
* [[Programming_Guide/Action_List#Timer_Block|Action List - Timer Block]]
 +
 
 +
== Update History ==
 +
<div style="-webkit-border-image: none;-webkit-box-shadow: rgba(0, 0, 0, 0.046875) 0px 1px 1px 0px inset;background-color: #eeeeee;border-bottom-color: #AFAFAF;border-bottom-left-radius: 3px;border-bottom-right-radius: 3px;border-bottom-style: solid;border-bottom-width: 1px;border-left-color: #AFAFAF;border-left-style: solid;border-left-width: 1px;border-right-color: #AFAFAF;border-right-style: solid;border-right-width: 1px;border-top-color: #AFAFAF;border-top-left-radius: 3px;border-top-right-radius: 3px;border-top-style: solid;border-top-width: 1px;box-shadow: rgba(0, 0, 0, 0.046875) 0px 1px 1px 0px inset;color: #333;display: block;font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size: 1em;height: auto;line-height: 20px;margin-bottom: 5px;margin-left: 8px;margin-right: 8px;margin-top: 0px;min-height: 20px;padding-bottom: 4px;padding-left: 4px;padding-right: 4px;padding-top: 4px;width: auto;">
 +
{| class="wikitable" style="width: 100%"
 +
|style="text-align: left;width: 8%"| [[Update 01.047]] ||style="padding-left: 10px;padding-right: 10px;"|
 +
*Timer Block Introduced
 +
|}
 +
 
 +
</div>

Revision as of 17:00, 24 January 2016


Timer Block Icon.png
Large Ship Icon.png
Large Ship / Station
Timer Block
 
Components
Required

 

 
 
 
Mass (kg):
0
 
Integrity:
0
 
Build time (seconds):
10
 
Active power consumption (MW):
0
 
Idle Power Consumption (MW):
0
 
Dimensions (W x H x D):
1 x 1 x 1
Timer Block Icon.png
Small Ship Icon.png
Small Ship
Timer Block
 
Components
Required

 

 
 
 
Mass (kg):
0
 
Integrity:
0
 
Build time (seconds):
2
 
Active power consumption (MW):
0
 
Idle Power Consumption (MW):
0
 
Dimensions (W x H x D):
1 x 1 x 1

Overview

The Timer Block is a meta block used to execute actions of any block it's connected to (not physically). The actions can also be executed after a delay, hence the name. This allows automation / programming of actions.

Usage

An action is defined by the properties of a block. Often the actions are the ones you can apply in the "G"-menu when e.g. configuring the action bar of a cockpit. For instance, a Warhead can be detonated or the safety can be toggled on or off. The Timer Block can also execute it's own actions, enabling loops by ending it's sequence with a Start.

A block is connected with the Timer Block when both are on the same grid or sub-grid (other grids that connected via Connectors, Rotors or Pistons). Connection via antennas, i.e. executing actions in remote objects is currently not possible.

Terminal

Name Min. Value Max. Value Unit Description
Trigger Delay 1 3600 Second Delay to execute the actions after starting the timer
  • Trigger now - Immediately executes all programmed actions
  • Start - Starts a timer with the current delay and executes all programmed actions after the timer expires
  • Stop - Stops the timer if running thereby preventing the execution of the actions after the delay

Rules / Behavior

  1. The Timer Block can execute up to 90 actions
  2. Switching the Timer Block off while the timer is running doesn't stop the timer, just interrupts its operation for the duration it's off. The timer continues operation after switching the Timer Block on again (this is currently bugged, it will not continue if a map has been reloaded)
  3. Timer block delays are not entirely accurate. A timer set to 5 seconds may not fire until 5.5 seconds have elapsed. If you are triggering things which depend on an exact number of game ticks/length of game time, timer delays may not be the right tool. Further experiments needed to confirm exact behaviour.
  4. Executing actions Trigger Now and Start immediately after action Toggle block On: These actions won't be executed if programmed in another timer block which switches the timer block on (when it is in state "off")

E.g.

Timer Block 1:
Action 1: Timer Block 2 - Toggle block On
Action 2: Timer Block 2 - Start

On triggering Timer Block 1 when Timer Block 2 is off, the Start action has no effect because Timer Block 2 needs some time to power up but the Start action is executed before it's powered up.

  • Switching a Timer Block off ends a Trigger Now (endless) loop.

E.g.

Timer Block 2:
Action 1: Rotor 1 - Increase Velocity
Action 2: Timer Block 2 - Trigger Now

Triggering Timer Block 2 starts an endless loop increasing the revolution speed of Rotor 1. Switching Timer Block 2 off will end this loop. It won't be continued when switching Timer Block 2 on again.


Media

Tips

  • Timer blocks can be used to setup a long list of actions with one trigger. For example, a Button Panel switch can activate a Timer block, which then triggers a group of lights, and several individual blocks.

Known Issues

  • A curious property of the timer block is that although it requires Electricity, it does not actually consume any Watts idle or otherwise. If a Grid has any power available to it, it will be able to run without consuming any of the electricity available.

See Also

Programming

Update History

Update 01.047
  • Timer Block Introduced